blob: 542cf02f2a90d14ee68fa87ef49bedd346d8bc25 [file] [log] [blame]
Bob Wilson13e80bd2009-10-27 05:50:28 +00001; RUN: llc < %s -march=arm | FileCheck %s
Rafael Espindola7246d332006-09-21 11:29:52 +00002
Tanya Lattner6263f942008-02-17 20:02:20 +00003define i32 @f1() {
Bob Wilson13e80bd2009-10-27 05:50:28 +00004; CHECK: f1
5; CHECK: mov r0, #0
Tanya Lattner6263f942008-02-17 20:02:20 +00006 ret i32 0
Rafael Espindola7246d332006-09-21 11:29:52 +00007}
8
Tanya Lattner6263f942008-02-17 20:02:20 +00009define i32 @f2() {
Bob Wilson13e80bd2009-10-27 05:50:28 +000010; CHECK: f2
11; CHECK: mov r0, #255
Tanya Lattner6263f942008-02-17 20:02:20 +000012 ret i32 255
Rafael Espindola7246d332006-09-21 11:29:52 +000013}
14
Tanya Lattner6263f942008-02-17 20:02:20 +000015define i32 @f3() {
Bob Wilson13e80bd2009-10-27 05:50:28 +000016; CHECK: f3
Jim Grosbach48afc242010-09-17 20:17:41 +000017; CHECK: mov r0, #1, 24
Tanya Lattner6263f942008-02-17 20:02:20 +000018 ret i32 256
Rafael Espindola7246d332006-09-21 11:29:52 +000019}
20
Tanya Lattner6263f942008-02-17 20:02:20 +000021define i32 @f4() {
Bob Wilson13e80bd2009-10-27 05:50:28 +000022; CHECK: f4
Jim Grosbach48afc242010-09-17 20:17:41 +000023; CHECK: orr{{.*}}#1, 24
Tanya Lattner6263f942008-02-17 20:02:20 +000024 ret i32 257
Rafael Espindola7246d332006-09-21 11:29:52 +000025}
26
Tanya Lattner6263f942008-02-17 20:02:20 +000027define i32 @f5() {
Bob Wilson13e80bd2009-10-27 05:50:28 +000028; CHECK: f5
Jim Grosbach48afc242010-09-17 20:17:41 +000029; CHECK: mov r0, #255, 2
Tanya Lattner6263f942008-02-17 20:02:20 +000030 ret i32 -1073741761
Rafael Espindola7246d332006-09-21 11:29:52 +000031}
32
Tanya Lattner6263f942008-02-17 20:02:20 +000033define i32 @f6() {
Bob Wilson13e80bd2009-10-27 05:50:28 +000034; CHECK: f6
Jim Grosbach48afc242010-09-17 20:17:41 +000035; CHECK: mov r0, #63, 28
Tanya Lattner6263f942008-02-17 20:02:20 +000036 ret i32 1008
Rafael Espindola7246d332006-09-21 11:29:52 +000037}
Rafael Espindola8897a7b2006-12-14 18:58:37 +000038
Tanya Lattner6263f942008-02-17 20:02:20 +000039define void @f7(i32 %a) {
Bob Wilson13e80bd2009-10-27 05:50:28 +000040; CHECK: f7
41; CHECK: cmp r0, #1, 16
Jim Grosbachb2331552010-10-22 23:46:04 +000042 %b = icmp ugt i32 %a, 65536
Tanya Lattner6263f942008-02-17 20:02:20 +000043 br i1 %b, label %r, label %r
Jim Grosbachb2331552010-10-22 23:46:04 +000044r:
Tanya Lattner6263f942008-02-17 20:02:20 +000045 ret void
Rafael Espindola8897a7b2006-12-14 18:58:37 +000046}