blob: 2384aff2bf100100fd0524820bd187db02e8e1fd [file] [log] [blame]
Reid Spencer1c0c94d2007-04-15 19:11:47 +00001; 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
Rafael Espindola3a02f022006-09-04 19:05:01 +000019
20long %f1() {
21entry:
22 ret long 0
23}
24
25long %f2() {
26entry:
27 ret long 1
28}
29
30long %f3() {
31entry:
32 ret long 2147483647
33}
34
35long %f4() {
36entry:
37 ret long 2147483648
38}
39
40long %f5() {
41entry:
42 ret long 9223372036854775807
43}
Rafael Espindola2d8680a2006-10-09 17:30:15 +000044
45ulong %f6(ulong %x, ulong %y) {
46entry:
47 %tmp1 = add ulong %y, 1
48 ret ulong %tmp1
49}
Rafael Espindola26a76d12006-10-13 16:47:22 +000050
51void %f7() {
52entry:
53 %tmp = call long %f8()
54 ret void
55}
56declare long %f8()
Rafael Espindola53955382006-10-13 17:19:20 +000057
58long %f9(long %a, long %b) {
59entry:
60 %tmp = sub long %a, %b
61 ret long %tmp
62}
Rafael Espindolabec2e382006-10-16 16:33:29 +000063
64long %f(int %a, int %b) {
65entry:
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
72ulong %g(uint %a, uint %b) {
73entry:
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}
Rafael Espindola0d479ec2006-10-17 14:34:02 +000079
80ulong %f10() {
81entry:
82 %a = alloca ulong, align 8
83 %retval = load ulong* %a
84 ret ulong %retval
85}