blob: 834f06871014feef0cda1db74a0318aac6f4cb4c [file] [log] [blame]
Rafael Espindola3a02f022006-09-04 19:05:01 +00001; RUN: llvm-as < %s | llc -march=arm &&
2; RUN: llvm-as < %s | llc -march=arm | grep "mov r1, #0" | wc -l | grep 4 &&
3; RUN: llvm-as < %s | llc -march=arm | grep "mov r0, #1" | wc -l | grep 1 &&
Rafael Espindola7246d332006-09-21 11:29:52 +00004; RUN: llvm-as < %s | llc -march=arm | grep ".word.*2147483647" | wc -l | grep 2 &&
Rafael Espindola3a02f022006-09-04 19:05:01 +00005; RUN: llvm-as < %s | llc -march=arm | grep "mov r0, #-2147483648" | wc -l | grep 1 &&
Rafael Espindola2d8680a2006-10-09 17:30:15 +00006; RUN: llvm-as < %s | llc -march=arm | grep ".word.*4294967295" | wc -l | grep 1 &&
7; RUN: llvm-as < %s | llc -march=arm | grep "adds" | wc -l | grep 1 &&
Rafael Espindola53955382006-10-13 17:19:20 +00008; RUN: llvm-as < %s | llc -march=arm | grep "adcs" | wc -l | grep 1 &&
9; RUN: llvm-as < %s | llc -march=arm | grep "subs" | wc -l | grep 1 &&
Rafael Espindolabec2e382006-10-16 16:33:29 +000010; RUN: llvm-as < %s | llc -march=arm | grep "sbcs" | wc -l | grep 1 &&
11; RUN: llvm-as < %s | llc -march=arm | grep "smull" | wc -l | grep 1 &&
12; RUN: llvm-as < %s | llc -march=arm | grep "umull" | wc -l | grep 1
Rafael Espindola3a02f022006-09-04 19:05:01 +000013
14long %f1() {
15entry:
16 ret long 0
17}
18
19long %f2() {
20entry:
21 ret long 1
22}
23
24long %f3() {
25entry:
26 ret long 2147483647
27}
28
29long %f4() {
30entry:
31 ret long 2147483648
32}
33
34long %f5() {
35entry:
36 ret long 9223372036854775807
37}
Rafael Espindola2d8680a2006-10-09 17:30:15 +000038
39ulong %f6(ulong %x, ulong %y) {
40entry:
41 %tmp1 = add ulong %y, 1
42 ret ulong %tmp1
43}
Rafael Espindola26a76d12006-10-13 16:47:22 +000044
45void %f7() {
46entry:
47 %tmp = call long %f8()
48 ret void
49}
50declare long %f8()
Rafael Espindola53955382006-10-13 17:19:20 +000051
52long %f9(long %a, long %b) {
53entry:
54 %tmp = sub long %a, %b
55 ret long %tmp
56}
Rafael Espindolabec2e382006-10-16 16:33:29 +000057
58long %f(int %a, int %b) {
59entry:
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
66ulong %g(uint %a, uint %b) {
67entry:
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}