1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=thumbv7-apple-ios %s -o - | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker@g0 = common global i32 0, align 4 4*9880d681SAndroid Build Coastguard Worker@d0 = common global double 0.000000e+00, align 8 5*9880d681SAndroid Build Coastguard Worker@f0 = common global float 0.000000e+00, align 4 6*9880d681SAndroid Build Coastguard Worker@g1 = common global i32 0, align 4 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.arm.space(i32, i32) 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker; Check that the constant island pass moves the float constant pool entry inside 11*9880d681SAndroid Build Coastguard Worker; the function. 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker; CHECK: .long 1067320814 @ float 1.23455596 14*9880d681SAndroid Build Coastguard Worker; CHECK: {{.*}} %do.end 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Workerdefine i32 @testpadding(i32 %a) { 17*9880d681SAndroid Build Coastguard Workerentry: 18*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* @g0, align 4 19*9880d681SAndroid Build Coastguard Worker %add = add nsw i32 %0, 12 20*9880d681SAndroid Build Coastguard Worker store i32 %add, i32* @g0, align 4 21*9880d681SAndroid Build Coastguard Worker %1 = load double, double* @d0, align 8 22*9880d681SAndroid Build Coastguard Worker %add1 = fadd double %1, 0x3FF3C0B8ED46EACB 23*9880d681SAndroid Build Coastguard Worker store double %add1, double* @d0, align 8 24*9880d681SAndroid Build Coastguard Worker %tmpcall11 = call i32 @llvm.arm.space(i32 28, i32 undef) 25*9880d681SAndroid Build Coastguard Worker call void @foo20(i32 191) 26*9880d681SAndroid Build Coastguard Worker %2 = load float, float* @f0, align 4 27*9880d681SAndroid Build Coastguard Worker %add2 = fadd float %2, 0x3FF3C0BDC0000000 28*9880d681SAndroid Build Coastguard Worker store float %add2, float* @f0, align 4 29*9880d681SAndroid Build Coastguard Worker br label %do.body 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Workerdo.body: ; preds = %do.body, %entry 32*9880d681SAndroid Build Coastguard Worker tail call void @foo20(i32 19) 33*9880d681SAndroid Build Coastguard Worker %3 = load i32, i32* @g1, align 4 34*9880d681SAndroid Build Coastguard Worker %tobool = icmp eq i32 %3, 0 35*9880d681SAndroid Build Coastguard Worker br i1 %tobool, label %do.end, label %do.body 36*9880d681SAndroid Build Coastguard Worker 37*9880d681SAndroid Build Coastguard Workerdo.end: ; preds = %do.body 38*9880d681SAndroid Build Coastguard Worker %tmpcall111 = call i32 @llvm.arm.space(i32 954, i32 undef) 39*9880d681SAndroid Build Coastguard Worker ret i32 10 40*9880d681SAndroid Build Coastguard Worker} 41*9880d681SAndroid Build Coastguard Worker 42*9880d681SAndroid Build Coastguard Workerdeclare void @foo20(i32) 43