blob: fc05d1e51d747cc1ecea62d387c72c3540c34174 [file] [log] [blame]
Reid Spencer1c0c94d2007-04-15 19:11:47 +00001; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | \
Dan Gohman28beeea2007-08-15 13:36:28 +00002; RUN: grep -- {-2147483648} | count 3
3; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep mvn | count 3
4; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep adds | count 1
5; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep adc | count 1
6; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep {subs } | count 1
7; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep sbc | count 1
Reid Spencer1c0c94d2007-04-15 19:11:47 +00008; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | \
Dan Gohman28beeea2007-08-15 13:36:28 +00009; RUN: grep smull | count 1
Reid Spencer1c0c94d2007-04-15 19:11:47 +000010; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | \
Dan Gohman28beeea2007-08-15 13:36:28 +000011; RUN: grep umull | count 1
Reid Spencer1c0c94d2007-04-15 19:11:47 +000012; RUN: llvm-upgrade < %s | llvm-as | llc -march=thumb | \
Dan Gohman28beeea2007-08-15 13:36:28 +000013; RUN: grep mvn | count 1
Reid Spencer1c0c94d2007-04-15 19:11:47 +000014; RUN: llvm-upgrade < %s | llvm-as | llc -march=thumb | \
Dan Gohman28beeea2007-08-15 13:36:28 +000015; RUN: grep adc | count 1
Reid Spencer1c0c94d2007-04-15 19:11:47 +000016; RUN: llvm-upgrade < %s | llvm-as | llc -march=thumb | \
Dan Gohman28beeea2007-08-15 13:36:28 +000017; RUN: grep sbc | count 1
Reid Spencer1c0c94d2007-04-15 19:11:47 +000018; RUN: llvm-upgrade < %s | llvm-as | llc -march=thumb | grep __muldi3
Reid Spencer97e287e2007-04-15 20:48:50 +000019; END.
Rafael Espindola3a02f022006-09-04 19:05:01 +000020
21long %f1() {
22entry:
23 ret long 0
24}
25
26long %f2() {
27entry:
28 ret long 1
29}
30
31long %f3() {
32entry:
33 ret long 2147483647
34}
35
36long %f4() {
37entry:
38 ret long 2147483648
39}
40
41long %f5() {
42entry:
43 ret long 9223372036854775807
44}
Rafael Espindola2d8680a2006-10-09 17:30:15 +000045
46ulong %f6(ulong %x, ulong %y) {
47entry:
48 %tmp1 = add ulong %y, 1
49 ret ulong %tmp1
50}
Rafael Espindola26a76d12006-10-13 16:47:22 +000051
52void %f7() {
53entry:
54 %tmp = call long %f8()
55 ret void
56}
57declare long %f8()
Rafael Espindola53955382006-10-13 17:19:20 +000058
59long %f9(long %a, long %b) {
60entry:
61 %tmp = sub long %a, %b
62 ret long %tmp
63}
Rafael Espindolabec2e382006-10-16 16:33:29 +000064
65long %f(int %a, int %b) {
66entry:
67 %tmp = cast int %a to long
68 %tmp1 = cast int %b to long
69 %tmp2 = mul long %tmp1, %tmp
70 ret long %tmp2
71}
72
73ulong %g(uint %a, uint %b) {
74entry:
75 %tmp = cast uint %a to ulong
76 %tmp1 = cast uint %b to ulong
77 %tmp2 = mul ulong %tmp1, %tmp
78 ret ulong %tmp2
79}
Rafael Espindola0d479ec2006-10-17 14:34:02 +000080
81ulong %f10() {
82entry:
83 %a = alloca ulong, align 8
84 %retval = load ulong* %a
85 ret ulong %retval
86}