blob: c00e9a213c6ff84c09062485d71f1072c73c7322 [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 &&
Evan Cheng0430a8d2007-02-23 03:15:39 +000010; 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"
Rafael Espindola3a02f022006-09-04 19:05:01 +000015
16long %f1() {
17entry:
18 ret long 0
19}
20
21long %f2() {
22entry:
23 ret long 1
24}
25
26long %f3() {
27entry:
28 ret long 2147483647
29}
30
31long %f4() {
32entry:
33 ret long 2147483648
34}
35
36long %f5() {
37entry:
38 ret long 9223372036854775807
39}
Rafael Espindola2d8680a2006-10-09 17:30:15 +000040
41ulong %f6(ulong %x, ulong %y) {
42entry:
43 %tmp1 = add ulong %y, 1
44 ret ulong %tmp1
45}
Rafael Espindola26a76d12006-10-13 16:47:22 +000046
47void %f7() {
48entry:
49 %tmp = call long %f8()
50 ret void
51}
52declare long %f8()
Rafael Espindola53955382006-10-13 17:19:20 +000053
54long %f9(long %a, long %b) {
55entry:
56 %tmp = sub long %a, %b
57 ret long %tmp
58}
Rafael Espindolabec2e382006-10-16 16:33:29 +000059
60long %f(int %a, int %b) {
61entry:
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
68ulong %g(uint %a, uint %b) {
69entry:
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}
Rafael Espindola0d479ec2006-10-17 14:34:02 +000075
76ulong %f10() {
77entry:
78 %a = alloca ulong, align 8
79 %retval = load ulong* %a
80 ret ulong %retval
81}