1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mcpu=swift -march=arm < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32" 3*9880d681SAndroid Build Coastguard Workertarget triple = "thumbv7-apple-ios6.1.0" 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker;;; Float vectors 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker%v2f32 = type <2 x float> 8*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.sqrt: 9*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.sqrt(%v2f32 %a) { 10*9880d681SAndroid Build Coastguard Worker ; CHECK: sqrt 11*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.sqrt.v2f32(%v2f32 %a) 12*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 13*9880d681SAndroid Build Coastguard Worker} 14*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.powi: 15*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.powi(%v2f32 %a, i32 %b) { 16*9880d681SAndroid Build Coastguard Worker ; CHECK: pow 17*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.powi.v2f32(%v2f32 %a, i32 %b) 18*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 19*9880d681SAndroid Build Coastguard Worker} 20*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.sin: 21*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.sin(%v2f32 %a) { 22*9880d681SAndroid Build Coastguard Worker ; CHECK: sin 23*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.sin.v2f32(%v2f32 %a) 24*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 25*9880d681SAndroid Build Coastguard Worker} 26*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.cos: 27*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.cos(%v2f32 %a) { 28*9880d681SAndroid Build Coastguard Worker ; CHECK: cos 29*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.cos.v2f32(%v2f32 %a) 30*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 31*9880d681SAndroid Build Coastguard Worker} 32*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.pow: 33*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.pow(%v2f32 %a, %v2f32 %b) { 34*9880d681SAndroid Build Coastguard Worker ; CHECK: pow 35*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.pow.v2f32(%v2f32 %a, %v2f32 %b) 36*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 37*9880d681SAndroid Build Coastguard Worker} 38*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.exp: 39*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.exp(%v2f32 %a) { 40*9880d681SAndroid Build Coastguard Worker ; CHECK: exp 41*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.exp.v2f32(%v2f32 %a) 42*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 43*9880d681SAndroid Build Coastguard Worker} 44*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.exp2: 45*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.exp2(%v2f32 %a) { 46*9880d681SAndroid Build Coastguard Worker ; CHECK: exp 47*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.exp2.v2f32(%v2f32 %a) 48*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 49*9880d681SAndroid Build Coastguard Worker} 50*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.log: 51*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.log(%v2f32 %a) { 52*9880d681SAndroid Build Coastguard Worker ; CHECK: log 53*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.log.v2f32(%v2f32 %a) 54*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 55*9880d681SAndroid Build Coastguard Worker} 56*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.log10: 57*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.log10(%v2f32 %a) { 58*9880d681SAndroid Build Coastguard Worker ; CHECK: log 59*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.log10.v2f32(%v2f32 %a) 60*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 61*9880d681SAndroid Build Coastguard Worker} 62*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.log2: 63*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.log2(%v2f32 %a) { 64*9880d681SAndroid Build Coastguard Worker ; CHECK: log 65*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.log2.v2f32(%v2f32 %a) 66*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 67*9880d681SAndroid Build Coastguard Worker} 68*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.fma: 69*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.fma(%v2f32 %a, %v2f32 %b, %v2f32 %c) { 70*9880d681SAndroid Build Coastguard Worker ; CHECK: fma 71*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.fma.v2f32(%v2f32 %a, %v2f32 %b, %v2f32 %c) 72*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 73*9880d681SAndroid Build Coastguard Worker} 74*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.fabs: 75*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.fabs(%v2f32 %a) { 76*9880d681SAndroid Build Coastguard Worker ; CHECK: fabs 77*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.fabs.v2f32(%v2f32 %a) 78*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 79*9880d681SAndroid Build Coastguard Worker} 80*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.floor: 81*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.floor(%v2f32 %a) { 82*9880d681SAndroid Build Coastguard Worker ; CHECK: floor 83*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.floor.v2f32(%v2f32 %a) 84*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 85*9880d681SAndroid Build Coastguard Worker} 86*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.fceil: 87*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.fceil(%v2f32 %a) { 88*9880d681SAndroid Build Coastguard Worker ; CHECK: ceil 89*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.fceil.v2f32(%v2f32 %a) 90*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 91*9880d681SAndroid Build Coastguard Worker} 92*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.trunc: 93*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.trunc(%v2f32 %a) { 94*9880d681SAndroid Build Coastguard Worker ; CHECK: trunc 95*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.trunc.v2f32(%v2f32 %a) 96*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 97*9880d681SAndroid Build Coastguard Worker} 98*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.rint: 99*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.rint(%v2f32 %a) { 100*9880d681SAndroid Build Coastguard Worker ; CHECK: rint 101*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.rint.v2f32(%v2f32 %a) 102*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 103*9880d681SAndroid Build Coastguard Worker} 104*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f32.nearbyint: 105*9880d681SAndroid Build Coastguard Workerdefine %v2f32 @test_v2f32.nearbyint(%v2f32 %a) { 106*9880d681SAndroid Build Coastguard Worker ; CHECK: nearbyint 107*9880d681SAndroid Build Coastguard Worker %1 = call %v2f32 @llvm.nearbyint.v2f32(%v2f32 %a) 108*9880d681SAndroid Build Coastguard Worker ret %v2f32 %1 109*9880d681SAndroid Build Coastguard Worker} 110*9880d681SAndroid Build Coastguard Worker 111*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.sqrt.v2f32(%v2f32) #0 112*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.powi.v2f32(%v2f32, i32) #0 113*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.sin.v2f32(%v2f32) #0 114*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.cos.v2f32(%v2f32) #0 115*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.pow.v2f32(%v2f32, %v2f32) #0 116*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.exp.v2f32(%v2f32) #0 117*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.exp2.v2f32(%v2f32) #0 118*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.log.v2f32(%v2f32) #0 119*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.log10.v2f32(%v2f32) #0 120*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.log2.v2f32(%v2f32) #0 121*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.fma.v2f32(%v2f32, %v2f32, %v2f32) #0 122*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.fabs.v2f32(%v2f32) #0 123*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.floor.v2f32(%v2f32) #0 124*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.fceil.v2f32(%v2f32) #0 125*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.trunc.v2f32(%v2f32) #0 126*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.rint.v2f32(%v2f32) #0 127*9880d681SAndroid Build Coastguard Workerdeclare %v2f32 @llvm.nearbyint.v2f32(%v2f32) #0 128*9880d681SAndroid Build Coastguard Worker 129*9880d681SAndroid Build Coastguard Worker;;; 130*9880d681SAndroid Build Coastguard Worker 131*9880d681SAndroid Build Coastguard Worker%v4f32 = type <4 x float> 132*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.sqrt: 133*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.sqrt(%v4f32 %a) { 134*9880d681SAndroid Build Coastguard Worker ; CHECK: sqrt 135*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.sqrt.v4f32(%v4f32 %a) 136*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 137*9880d681SAndroid Build Coastguard Worker} 138*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.powi: 139*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.powi(%v4f32 %a, i32 %b) { 140*9880d681SAndroid Build Coastguard Worker ; CHECK: pow 141*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.powi.v4f32(%v4f32 %a, i32 %b) 142*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 143*9880d681SAndroid Build Coastguard Worker} 144*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.sin: 145*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.sin(%v4f32 %a) { 146*9880d681SAndroid Build Coastguard Worker ; CHECK: sin 147*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.sin.v4f32(%v4f32 %a) 148*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 149*9880d681SAndroid Build Coastguard Worker} 150*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.cos: 151*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.cos(%v4f32 %a) { 152*9880d681SAndroid Build Coastguard Worker ; CHECK: cos 153*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.cos.v4f32(%v4f32 %a) 154*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 155*9880d681SAndroid Build Coastguard Worker} 156*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.pow: 157*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.pow(%v4f32 %a, %v4f32 %b) { 158*9880d681SAndroid Build Coastguard Worker ; CHECK: pow 159*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.pow.v4f32(%v4f32 %a, %v4f32 %b) 160*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 161*9880d681SAndroid Build Coastguard Worker} 162*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.exp: 163*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.exp(%v4f32 %a) { 164*9880d681SAndroid Build Coastguard Worker ; CHECK: exp 165*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.exp.v4f32(%v4f32 %a) 166*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 167*9880d681SAndroid Build Coastguard Worker} 168*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.exp2: 169*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.exp2(%v4f32 %a) { 170*9880d681SAndroid Build Coastguard Worker ; CHECK: exp 171*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.exp2.v4f32(%v4f32 %a) 172*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 173*9880d681SAndroid Build Coastguard Worker} 174*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.log: 175*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.log(%v4f32 %a) { 176*9880d681SAndroid Build Coastguard Worker ; CHECK: log 177*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.log.v4f32(%v4f32 %a) 178*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 179*9880d681SAndroid Build Coastguard Worker} 180*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.log10: 181*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.log10(%v4f32 %a) { 182*9880d681SAndroid Build Coastguard Worker ; CHECK: log 183*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.log10.v4f32(%v4f32 %a) 184*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 185*9880d681SAndroid Build Coastguard Worker} 186*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.log2: 187*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.log2(%v4f32 %a) { 188*9880d681SAndroid Build Coastguard Worker ; CHECK: log 189*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.log2.v4f32(%v4f32 %a) 190*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 191*9880d681SAndroid Build Coastguard Worker} 192*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.fma: 193*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.fma(%v4f32 %a, %v4f32 %b, %v4f32 %c) { 194*9880d681SAndroid Build Coastguard Worker ; CHECK: fma 195*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.fma.v4f32(%v4f32 %a, %v4f32 %b, %v4f32 %c) 196*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 197*9880d681SAndroid Build Coastguard Worker} 198*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.fabs: 199*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.fabs(%v4f32 %a) { 200*9880d681SAndroid Build Coastguard Worker ; CHECK: fabs 201*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.fabs.v4f32(%v4f32 %a) 202*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 203*9880d681SAndroid Build Coastguard Worker} 204*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.floor: 205*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.floor(%v4f32 %a) { 206*9880d681SAndroid Build Coastguard Worker ; CHECK: floor 207*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.floor.v4f32(%v4f32 %a) 208*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 209*9880d681SAndroid Build Coastguard Worker} 210*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.fceil: 211*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.fceil(%v4f32 %a) { 212*9880d681SAndroid Build Coastguard Worker ; CHECK: ceil 213*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.fceil.v4f32(%v4f32 %a) 214*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 215*9880d681SAndroid Build Coastguard Worker} 216*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.trunc: 217*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.trunc(%v4f32 %a) { 218*9880d681SAndroid Build Coastguard Worker ; CHECK: trunc 219*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.trunc.v4f32(%v4f32 %a) 220*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 221*9880d681SAndroid Build Coastguard Worker} 222*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.rint: 223*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.rint(%v4f32 %a) { 224*9880d681SAndroid Build Coastguard Worker ; CHECK: rint 225*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.rint.v4f32(%v4f32 %a) 226*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 227*9880d681SAndroid Build Coastguard Worker} 228*9880d681SAndroid Build Coastguard Worker; CHECK: test_v4f32.nearbyint: 229*9880d681SAndroid Build Coastguard Workerdefine %v4f32 @test_v4f32.nearbyint(%v4f32 %a) { 230*9880d681SAndroid Build Coastguard Worker ; CHECK: nearbyint 231*9880d681SAndroid Build Coastguard Worker %1 = call %v4f32 @llvm.nearbyint.v4f32(%v4f32 %a) 232*9880d681SAndroid Build Coastguard Worker ret %v4f32 %1 233*9880d681SAndroid Build Coastguard Worker} 234*9880d681SAndroid Build Coastguard Worker 235*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.sqrt.v4f32(%v4f32) #0 236*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.powi.v4f32(%v4f32, i32) #0 237*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.sin.v4f32(%v4f32) #0 238*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.cos.v4f32(%v4f32) #0 239*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.pow.v4f32(%v4f32, %v4f32) #0 240*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.exp.v4f32(%v4f32) #0 241*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.exp2.v4f32(%v4f32) #0 242*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.log.v4f32(%v4f32) #0 243*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.log10.v4f32(%v4f32) #0 244*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.log2.v4f32(%v4f32) #0 245*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.fma.v4f32(%v4f32, %v4f32, %v4f32) #0 246*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.fabs.v4f32(%v4f32) #0 247*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.floor.v4f32(%v4f32) #0 248*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.fceil.v4f32(%v4f32) #0 249*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.trunc.v4f32(%v4f32) #0 250*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.rint.v4f32(%v4f32) #0 251*9880d681SAndroid Build Coastguard Workerdeclare %v4f32 @llvm.nearbyint.v4f32(%v4f32) #0 252*9880d681SAndroid Build Coastguard Worker 253*9880d681SAndroid Build Coastguard Worker;;; Double vector 254*9880d681SAndroid Build Coastguard Worker 255*9880d681SAndroid Build Coastguard Worker%v2f64 = type <2 x double> 256*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.sqrt: 257*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.sqrt(%v2f64 %a) { 258*9880d681SAndroid Build Coastguard Worker ; CHECK: sqrt 259*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.sqrt.v2f64(%v2f64 %a) 260*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 261*9880d681SAndroid Build Coastguard Worker} 262*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.powi: 263*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.powi(%v2f64 %a, i32 %b) { 264*9880d681SAndroid Build Coastguard Worker ; CHECK: pow 265*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.powi.v2f64(%v2f64 %a, i32 %b) 266*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 267*9880d681SAndroid Build Coastguard Worker} 268*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.sin: 269*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.sin(%v2f64 %a) { 270*9880d681SAndroid Build Coastguard Worker ; CHECK: sin 271*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.sin.v2f64(%v2f64 %a) 272*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 273*9880d681SAndroid Build Coastguard Worker} 274*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.cos: 275*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.cos(%v2f64 %a) { 276*9880d681SAndroid Build Coastguard Worker ; CHECK: cos 277*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.cos.v2f64(%v2f64 %a) 278*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 279*9880d681SAndroid Build Coastguard Worker} 280*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.pow: 281*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.pow(%v2f64 %a, %v2f64 %b) { 282*9880d681SAndroid Build Coastguard Worker ; CHECK: pow 283*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.pow.v2f64(%v2f64 %a, %v2f64 %b) 284*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 285*9880d681SAndroid Build Coastguard Worker} 286*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.exp: 287*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.exp(%v2f64 %a) { 288*9880d681SAndroid Build Coastguard Worker ; CHECK: exp 289*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.exp.v2f64(%v2f64 %a) 290*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 291*9880d681SAndroid Build Coastguard Worker} 292*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.exp2: 293*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.exp2(%v2f64 %a) { 294*9880d681SAndroid Build Coastguard Worker ; CHECK: exp 295*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.exp2.v2f64(%v2f64 %a) 296*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 297*9880d681SAndroid Build Coastguard Worker} 298*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.log: 299*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.log(%v2f64 %a) { 300*9880d681SAndroid Build Coastguard Worker ; CHECK: log 301*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.log.v2f64(%v2f64 %a) 302*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 303*9880d681SAndroid Build Coastguard Worker} 304*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.log10: 305*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.log10(%v2f64 %a) { 306*9880d681SAndroid Build Coastguard Worker ; CHECK: log 307*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.log10.v2f64(%v2f64 %a) 308*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 309*9880d681SAndroid Build Coastguard Worker} 310*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.log2: 311*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.log2(%v2f64 %a) { 312*9880d681SAndroid Build Coastguard Worker ; CHECK: log 313*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.log2.v2f64(%v2f64 %a) 314*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 315*9880d681SAndroid Build Coastguard Worker} 316*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.fma: 317*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.fma(%v2f64 %a, %v2f64 %b, %v2f64 %c) { 318*9880d681SAndroid Build Coastguard Worker ; CHECK: fma 319*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.fma.v2f64(%v2f64 %a, %v2f64 %b, %v2f64 %c) 320*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 321*9880d681SAndroid Build Coastguard Worker} 322*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.fabs: 323*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.fabs(%v2f64 %a) { 324*9880d681SAndroid Build Coastguard Worker ; CHECK: fabs 325*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.fabs.v2f64(%v2f64 %a) 326*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 327*9880d681SAndroid Build Coastguard Worker} 328*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.floor: 329*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.floor(%v2f64 %a) { 330*9880d681SAndroid Build Coastguard Worker ; CHECK: floor 331*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.floor.v2f64(%v2f64 %a) 332*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 333*9880d681SAndroid Build Coastguard Worker} 334*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.fceil: 335*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.fceil(%v2f64 %a) { 336*9880d681SAndroid Build Coastguard Worker ; CHECK: ceil 337*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.fceil.v2f64(%v2f64 %a) 338*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 339*9880d681SAndroid Build Coastguard Worker} 340*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.trunc: 341*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.trunc(%v2f64 %a) { 342*9880d681SAndroid Build Coastguard Worker ; CHECK: trunc 343*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.trunc.v2f64(%v2f64 %a) 344*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 345*9880d681SAndroid Build Coastguard Worker} 346*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.rint: 347*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.rint(%v2f64 %a) { 348*9880d681SAndroid Build Coastguard Worker ; CHECK: rint 349*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.rint.v2f64(%v2f64 %a) 350*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 351*9880d681SAndroid Build Coastguard Worker} 352*9880d681SAndroid Build Coastguard Worker; CHECK: test_v2f64.nearbyint: 353*9880d681SAndroid Build Coastguard Workerdefine %v2f64 @test_v2f64.nearbyint(%v2f64 %a) { 354*9880d681SAndroid Build Coastguard Worker ; CHECK: nearbyint 355*9880d681SAndroid Build Coastguard Worker %1 = call %v2f64 @llvm.nearbyint.v2f64(%v2f64 %a) 356*9880d681SAndroid Build Coastguard Worker ret %v2f64 %1 357*9880d681SAndroid Build Coastguard Worker} 358*9880d681SAndroid Build Coastguard Worker 359*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.sqrt.v2f64(%v2f64) #0 360*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.powi.v2f64(%v2f64, i32) #0 361*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.sin.v2f64(%v2f64) #0 362*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.cos.v2f64(%v2f64) #0 363*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.pow.v2f64(%v2f64, %v2f64) #0 364*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.exp.v2f64(%v2f64) #0 365*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.exp2.v2f64(%v2f64) #0 366*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.log.v2f64(%v2f64) #0 367*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.log10.v2f64(%v2f64) #0 368*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.log2.v2f64(%v2f64) #0 369*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.fma.v2f64(%v2f64, %v2f64, %v2f64) #0 370*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.fabs.v2f64(%v2f64) #0 371*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.floor.v2f64(%v2f64) #0 372*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.fceil.v2f64(%v2f64) #0 373*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.trunc.v2f64(%v2f64) #0 374*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.rint.v2f64(%v2f64) #0 375*9880d681SAndroid Build Coastguard Workerdeclare %v2f64 @llvm.nearbyint.v2f64(%v2f64) #0 376*9880d681SAndroid Build Coastguard Worker 377*9880d681SAndroid Build Coastguard Workerattributes #0 = { nounwind readonly } 378