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