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