llvm-project/llvm/test/CodeGen/ARM/constants.ll

47 lines
672 B
LLVM
Raw Normal View History

; RUN: llc < %s -march=arm | FileCheck %s
2008-02-18 04:02:20 +08:00
define i32 @f1() {
; CHECK: f1
; CHECK: mov r0, #0
2008-02-18 04:02:20 +08:00
ret i32 0
}
2008-02-18 04:02:20 +08:00
define i32 @f2() {
; CHECK: f2
; CHECK: mov r0, #255
2008-02-18 04:02:20 +08:00
ret i32 255
}
2008-02-18 04:02:20 +08:00
define i32 @f3() {
; CHECK: f3
; CHECK: mov r0, #1, 24
2008-02-18 04:02:20 +08:00
ret i32 256
}
2008-02-18 04:02:20 +08:00
define i32 @f4() {
; CHECK: f4
; CHECK: orr{{.*}}#1, 24
2008-02-18 04:02:20 +08:00
ret i32 257
}
2008-02-18 04:02:20 +08:00
define i32 @f5() {
; CHECK: f5
; CHECK: mov r0, #255, 2
2008-02-18 04:02:20 +08:00
ret i32 -1073741761
}
2008-02-18 04:02:20 +08:00
define i32 @f6() {
; CHECK: f6
; CHECK: mov r0, #63, 28
2008-02-18 04:02:20 +08:00
ret i32 1008
}
2008-02-18 04:02:20 +08:00
define void @f7(i32 %a) {
; CHECK: f7
; CHECK: cmp r0, #1, 16
2010-10-23 07:46:04 +08:00
%b = icmp ugt i32 %a, 65536
2008-02-18 04:02:20 +08:00
br i1 %b, label %r, label %r
2010-10-23 07:46:04 +08:00
r:
2008-02-18 04:02:20 +08:00
ret void
}