1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=armv4t-unknown-linux-gnueabi -disable-cgp-branch-opts -verify-machineinstrs | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdefine i32 @f1() { 4*9880d681SAndroid Build Coastguard Worker; CHECK: f1 5*9880d681SAndroid Build Coastguard Worker; CHECK: mov r0, #0 6*9880d681SAndroid Build Coastguard Worker ret i32 0 7*9880d681SAndroid Build Coastguard Worker} 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerdefine i32 @f2() { 10*9880d681SAndroid Build Coastguard Worker; CHECK: f2 11*9880d681SAndroid Build Coastguard Worker; CHECK: mov r0, #255 12*9880d681SAndroid Build Coastguard Worker ret i32 255 13*9880d681SAndroid Build Coastguard Worker} 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerdefine i32 @f3() { 16*9880d681SAndroid Build Coastguard Worker; CHECK: f3 17*9880d681SAndroid Build Coastguard Worker; CHECK: mov r0, #256 18*9880d681SAndroid Build Coastguard Worker ret i32 256 19*9880d681SAndroid Build Coastguard Worker} 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerdefine i32 @f4() { 22*9880d681SAndroid Build Coastguard Worker; CHECK: f4 23*9880d681SAndroid Build Coastguard Worker; CHECK: orr{{.*}}#256 24*9880d681SAndroid Build Coastguard Worker ret i32 257 25*9880d681SAndroid Build Coastguard Worker} 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerdefine i32 @f5() { 28*9880d681SAndroid Build Coastguard Worker; CHECK: f5 29*9880d681SAndroid Build Coastguard Worker; CHECK: mov r0, #-1073741761 30*9880d681SAndroid Build Coastguard Worker ret i32 -1073741761 31*9880d681SAndroid Build Coastguard Worker} 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Workerdefine i32 @f6() { 34*9880d681SAndroid Build Coastguard Worker; CHECK: f6 35*9880d681SAndroid Build Coastguard Worker; CHECK: mov r0, #1008 36*9880d681SAndroid Build Coastguard Worker ret i32 1008 37*9880d681SAndroid Build Coastguard Worker} 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Workerdefine void @f7(i32 %a) { 40*9880d681SAndroid Build Coastguard Worker; CHECK: f7 41*9880d681SAndroid Build Coastguard Worker; CHECK: cmp r0, #65536 42*9880d681SAndroid Build Coastguard Worker %b = icmp ugt i32 %a, 65536 43*9880d681SAndroid Build Coastguard Worker br i1 %b, label %r, label %r 44*9880d681SAndroid Build Coastguard Workerr: 45*9880d681SAndroid Build Coastguard Worker ret void 46*9880d681SAndroid Build Coastguard Worker} 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Workerdefine i32 @f8() nounwind { 49*9880d681SAndroid Build Coastguard Worker; Check that constant propagation through (i32)-1 => (float)Nan => (i32)-1 50*9880d681SAndroid Build Coastguard Worker; gives expected result 51*9880d681SAndroid Build Coastguard Worker; CHECK: f8 52*9880d681SAndroid Build Coastguard Worker; CHECK: mvn r0, #0 53*9880d681SAndroid Build Coastguard Worker %tmp0 = bitcast i32 -1 to float 54*9880d681SAndroid Build Coastguard Worker %tmp1 = bitcast float %tmp0 to i32 55*9880d681SAndroid Build Coastguard Worker ret i32 %tmp1 56*9880d681SAndroid Build Coastguard Worker} 57*9880d681SAndroid Build Coastguard Worker 58*9880d681SAndroid Build Coastguard Worker%t1 = type { <3 x float>, <3 x float> } 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Worker@const1 = global %t1 { <3 x float> zeroinitializer, 61*9880d681SAndroid Build Coastguard Worker <3 x float> <float 1.000000e+00, 62*9880d681SAndroid Build Coastguard Worker float 2.000000e+00, 63*9880d681SAndroid Build Coastguard Worker float 3.000000e+00> }, align 16 64*9880d681SAndroid Build Coastguard Worker; CHECK: const1 65*9880d681SAndroid Build Coastguard Worker; CHECK: .zero 16 66*9880d681SAndroid Build Coastguard Worker; CHECK: float 1 67*9880d681SAndroid Build Coastguard Worker; CHECK: float 2 68*9880d681SAndroid Build Coastguard Worker; CHECK: float 3 69*9880d681SAndroid Build Coastguard Worker; CHECK: .zero 4 70