70 lines · plain
1; RUN: llc < %s -mtriple=armv4t-unknown-linux-gnueabi -disable-cgp-branch-opts -verify-machineinstrs | FileCheck %s2 3define i32 @f1() {4; CHECK: f15; CHECK: mov r0, #06 ret i32 07}8 9define i32 @f2() {10; CHECK: f211; CHECK: mov r0, #25512 ret i32 25513}14 15define i32 @f3() {16; CHECK: f317; CHECK: mov r0, #25618 ret i32 25619}20 21define i32 @f4() {22; CHECK: f423; CHECK: orr{{.*}}#25624 ret i32 25725}26 27define i32 @f5() {28; CHECK: f529; CHECK: mov r0, #-107374176130 ret i32 -107374176131}32 33define i32 @f6() {34; CHECK: f635; CHECK: mov r0, #100836 ret i32 100837}38 39define void @f7(i32 %a) {40; CHECK: f741; CHECK: cmp r0, #6553642 %b = icmp ugt i32 %a, 6553643 br i1 %b, label %r, label %r44r:45 ret void46}47 48define i32 @f8() nounwind {49; Check that constant propagation through (i32)-1 => (float)Nan => (i32)-150; gives expected result51; CHECK: f852; CHECK: mvn r0, #053 %tmp0 = bitcast i32 -1 to float54 %tmp1 = bitcast float %tmp0 to i3255 ret i32 %tmp156}57 58%t1 = type { <3 x float>, <3 x float> }59 60@const1 = global %t1 { <3 x float> zeroinitializer,61 <3 x float> <float 1.000000e+00,62 float 2.000000e+00,63 float 3.000000e+00> }, align 1664; CHECK: const165; CHECK: .zero 1666; CHECK: float 167; CHECK: float 268; CHECK: float 369; CHECK: .zero 470