-march=arm -enable-thumb => -march=thumb
[oota-llvm.git] / test / CodeGen / ARM / long.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm &&
2 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "\-2147483648" | wc -l | grep 3 &&
3 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "mvn" | wc -l | grep 3 &&
4 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "adds" | wc -l | grep 1 &&
5 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "adc" | wc -l | grep 1 &&
6 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "subs " | wc -l | grep 1 &&
7 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "sbc" | wc -l | grep 1 &&
8 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "smull" | wc -l | grep 1 &&
9 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "umull" | wc -l | grep 1 &&
10 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=thumb &&
11 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=thumb | grep "mvn" | wc -l | grep 1 &&
12 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=thumb | grep "adc" | wc -l | grep 1 &&
13 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=thumb | grep "sbc" | wc -l | grep 1 &&
14 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=thumb | grep "__muldi3"
15
16 long %f1() {
17 entry:
18         ret long 0
19 }
20
21 long %f2() {
22 entry:
23         ret long 1
24 }
25
26 long %f3() {
27 entry:
28         ret long 2147483647
29 }
30
31 long %f4() {
32 entry:
33         ret long 2147483648
34 }
35
36 long %f5() {
37 entry:
38         ret long 9223372036854775807
39 }
40
41 ulong %f6(ulong %x, ulong %y) {
42 entry:
43         %tmp1 = add ulong %y, 1
44         ret ulong %tmp1
45 }
46
47 void %f7() {
48 entry:
49         %tmp = call long %f8()
50         ret void
51 }
52 declare long %f8()
53
54 long %f9(long %a, long %b) {
55 entry:
56         %tmp = sub long %a, %b
57         ret long %tmp
58 }
59
60 long %f(int %a, int %b) {
61 entry:
62         %tmp = cast int %a to long
63         %tmp1 = cast int %b to long
64         %tmp2 = mul long %tmp1, %tmp
65         ret long %tmp2
66 }
67
68 ulong %g(uint %a, uint %b) {
69 entry:
70         %tmp = cast uint %a to ulong
71         %tmp1 = cast uint %b to ulong
72         %tmp2 = mul ulong %tmp1, %tmp
73         ret ulong %tmp2
74 }
75
76 ulong %f10() {
77 entry:
78         %a = alloca ulong, align 8
79         %retval = load ulong* %a
80         ret ulong %retval
81 }