blob: 8baf621c3fe92e7f55f0d0183a2f1222ed61aa84 [file] [log] [blame]
Reid Spencer69ccadd2006-12-02 04:23:10 +00001; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm &&
Evan Cheng02b985c2007-01-19 09:20:23 +00002; 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 &&
Reid Spencer69ccadd2006-12-02 04:23:10 +00004; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "adds" | wc -l | grep 1 &&
Evan Cheng02b985c2007-01-19 09:20:23 +00005; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "adc" | wc -l | grep 1 &&
Evan Cheng7fd9b5e2007-01-27 00:05:14 +00006; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "subs " | wc -l | grep 1 &&
Evan Cheng02b985c2007-01-19 09:20:23 +00007; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "sbc" | wc -l | grep 1 &&
Reid Spencer69ccadd2006-12-02 04:23:10 +00008; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "smull" | wc -l | grep 1 &&
Evan Cheng7fd9b5e2007-01-27 00:05:14 +00009; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "umull" | wc -l | grep 1 &&
10; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -enable-thumb &&
11; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -enable-thumb | grep "mvn" | wc -l | grep 1 &&
12; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -enable-thumb | grep "adds" | wc -l | grep 1 &&
13; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -enable-thumb | grep "adc" | wc -l | grep 1 &&
14; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -enable-thumb | grep "subs " | wc -l | grep 1 &&
15; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -enable-thumb | grep "sbc" | wc -l | grep 1 &&
16; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -enable-thumb | grep "__muldi3"
Rafael Espindola3a02f022006-09-04 19:05:01 +000017
18long %f1() {
19entry:
20 ret long 0
21}
22
23long %f2() {
24entry:
25 ret long 1
26}
27
28long %f3() {
29entry:
30 ret long 2147483647
31}
32
33long %f4() {
34entry:
35 ret long 2147483648
36}
37
38long %f5() {
39entry:
40 ret long 9223372036854775807
41}
Rafael Espindola2d8680a2006-10-09 17:30:15 +000042
43ulong %f6(ulong %x, ulong %y) {
44entry:
45 %tmp1 = add ulong %y, 1
46 ret ulong %tmp1
47}
Rafael Espindola26a76d12006-10-13 16:47:22 +000048
49void %f7() {
50entry:
51 %tmp = call long %f8()
52 ret void
53}
54declare long %f8()
Rafael Espindola53955382006-10-13 17:19:20 +000055
56long %f9(long %a, long %b) {
57entry:
58 %tmp = sub long %a, %b
59 ret long %tmp
60}
Rafael Espindolabec2e382006-10-16 16:33:29 +000061
62long %f(int %a, int %b) {
63entry:
64 %tmp = cast int %a to long
65 %tmp1 = cast int %b to long
66 %tmp2 = mul long %tmp1, %tmp
67 ret long %tmp2
68}
69
70ulong %g(uint %a, uint %b) {
71entry:
72 %tmp = cast uint %a to ulong
73 %tmp1 = cast uint %b to ulong
74 %tmp2 = mul ulong %tmp1, %tmp
75 ret ulong %tmp2
76}
Rafael Espindola0d479ec2006-10-17 14:34:02 +000077
78ulong %f10() {
79entry:
80 %a = alloca ulong, align 8
81 %retval = load ulong* %a
82 ret ulong %retval
83}