1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=arm64 -aarch64-neon-syntax=apple | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; 4*9880d681SAndroid Build Coastguard Worker; Floating-point scalar convert to signed integer (to nearest with ties to away) 5*9880d681SAndroid Build Coastguard Worker; 6*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtas_1w1s(float %A) nounwind { 7*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtas_1w1s: 8*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtas w0, s0 9*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 10*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtas.i32.f32(float %A) 11*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 12*9880d681SAndroid Build Coastguard Worker} 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtas_1x1s(float %A) nounwind { 15*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtas_1x1s: 16*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtas x0, s0 17*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 18*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtas.i64.f32(float %A) 19*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 20*9880d681SAndroid Build Coastguard Worker} 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtas_1w1d(double %A) nounwind { 23*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtas_1w1d: 24*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtas w0, d0 25*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 26*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtas.i32.f64(double %A) 27*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 28*9880d681SAndroid Build Coastguard Worker} 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtas_1x1d(double %A) nounwind { 31*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtas_1x1d: 32*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtas x0, d0 33*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 34*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtas.i64.f64(double %A) 35*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 36*9880d681SAndroid Build Coastguard Worker} 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtas.i32.f32(float) nounwind readnone 39*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtas.i64.f32(float) nounwind readnone 40*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtas.i32.f64(double) nounwind readnone 41*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtas.i64.f64(double) nounwind readnone 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker; 44*9880d681SAndroid Build Coastguard Worker; Floating-point scalar convert to unsigned integer 45*9880d681SAndroid Build Coastguard Worker; 46*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtau_1w1s(float %A) nounwind { 47*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtau_1w1s: 48*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtau w0, s0 49*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 50*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtau.i32.f32(float %A) 51*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 52*9880d681SAndroid Build Coastguard Worker} 53*9880d681SAndroid Build Coastguard Worker 54*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtau_1x1s(float %A) nounwind { 55*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtau_1x1s: 56*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtau x0, s0 57*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 58*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtau.i64.f32(float %A) 59*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 60*9880d681SAndroid Build Coastguard Worker} 61*9880d681SAndroid Build Coastguard Worker 62*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtau_1w1d(double %A) nounwind { 63*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtau_1w1d: 64*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtau w0, d0 65*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 66*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtau.i32.f64(double %A) 67*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 68*9880d681SAndroid Build Coastguard Worker} 69*9880d681SAndroid Build Coastguard Worker 70*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtau_1x1d(double %A) nounwind { 71*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtau_1x1d: 72*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtau x0, d0 73*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 74*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtau.i64.f64(double %A) 75*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 76*9880d681SAndroid Build Coastguard Worker} 77*9880d681SAndroid Build Coastguard Worker 78*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtau.i32.f32(float) nounwind readnone 79*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtau.i64.f32(float) nounwind readnone 80*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtau.i32.f64(double) nounwind readnone 81*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtau.i64.f64(double) nounwind readnone 82*9880d681SAndroid Build Coastguard Worker 83*9880d681SAndroid Build Coastguard Worker; 84*9880d681SAndroid Build Coastguard Worker; Floating-point scalar convert to signed integer (toward -Inf) 85*9880d681SAndroid Build Coastguard Worker; 86*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtms_1w1s(float %A) nounwind { 87*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtms_1w1s: 88*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtms w0, s0 89*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 90*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtms.i32.f32(float %A) 91*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 92*9880d681SAndroid Build Coastguard Worker} 93*9880d681SAndroid Build Coastguard Worker 94*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtms_1x1s(float %A) nounwind { 95*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtms_1x1s: 96*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtms x0, s0 97*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 98*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtms.i64.f32(float %A) 99*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 100*9880d681SAndroid Build Coastguard Worker} 101*9880d681SAndroid Build Coastguard Worker 102*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtms_1w1d(double %A) nounwind { 103*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtms_1w1d: 104*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtms w0, d0 105*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 106*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtms.i32.f64(double %A) 107*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 108*9880d681SAndroid Build Coastguard Worker} 109*9880d681SAndroid Build Coastguard Worker 110*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtms_1x1d(double %A) nounwind { 111*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtms_1x1d: 112*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtms x0, d0 113*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 114*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtms.i64.f64(double %A) 115*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 116*9880d681SAndroid Build Coastguard Worker} 117*9880d681SAndroid Build Coastguard Worker 118*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtms.i32.f32(float) nounwind readnone 119*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtms.i64.f32(float) nounwind readnone 120*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtms.i32.f64(double) nounwind readnone 121*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtms.i64.f64(double) nounwind readnone 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Worker; 124*9880d681SAndroid Build Coastguard Worker; Floating-point scalar convert to unsigned integer (toward -Inf) 125*9880d681SAndroid Build Coastguard Worker; 126*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtmu_1w1s(float %A) nounwind { 127*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtmu_1w1s: 128*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtmu w0, s0 129*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 130*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtmu.i32.f32(float %A) 131*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 132*9880d681SAndroid Build Coastguard Worker} 133*9880d681SAndroid Build Coastguard Worker 134*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtmu_1x1s(float %A) nounwind { 135*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtmu_1x1s: 136*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtmu x0, s0 137*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 138*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtmu.i64.f32(float %A) 139*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 140*9880d681SAndroid Build Coastguard Worker} 141*9880d681SAndroid Build Coastguard Worker 142*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtmu_1w1d(double %A) nounwind { 143*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtmu_1w1d: 144*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtmu w0, d0 145*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 146*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtmu.i32.f64(double %A) 147*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 148*9880d681SAndroid Build Coastguard Worker} 149*9880d681SAndroid Build Coastguard Worker 150*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtmu_1x1d(double %A) nounwind { 151*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtmu_1x1d: 152*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtmu x0, d0 153*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 154*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtmu.i64.f64(double %A) 155*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 156*9880d681SAndroid Build Coastguard Worker} 157*9880d681SAndroid Build Coastguard Worker 158*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtmu.i32.f32(float) nounwind readnone 159*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtmu.i64.f32(float) nounwind readnone 160*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtmu.i32.f64(double) nounwind readnone 161*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtmu.i64.f64(double) nounwind readnone 162*9880d681SAndroid Build Coastguard Worker 163*9880d681SAndroid Build Coastguard Worker; 164*9880d681SAndroid Build Coastguard Worker; Floating-point scalar convert to signed integer (to nearest with ties to even) 165*9880d681SAndroid Build Coastguard Worker; 166*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtns_1w1s(float %A) nounwind { 167*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtns_1w1s: 168*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtns w0, s0 169*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 170*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtns.i32.f32(float %A) 171*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 172*9880d681SAndroid Build Coastguard Worker} 173*9880d681SAndroid Build Coastguard Worker 174*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtns_1x1s(float %A) nounwind { 175*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtns_1x1s: 176*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtns x0, s0 177*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 178*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtns.i64.f32(float %A) 179*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 180*9880d681SAndroid Build Coastguard Worker} 181*9880d681SAndroid Build Coastguard Worker 182*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtns_1w1d(double %A) nounwind { 183*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtns_1w1d: 184*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtns w0, d0 185*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 186*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtns.i32.f64(double %A) 187*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 188*9880d681SAndroid Build Coastguard Worker} 189*9880d681SAndroid Build Coastguard Worker 190*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtns_1x1d(double %A) nounwind { 191*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtns_1x1d: 192*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtns x0, d0 193*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 194*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtns.i64.f64(double %A) 195*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 196*9880d681SAndroid Build Coastguard Worker} 197*9880d681SAndroid Build Coastguard Worker 198*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtns.i32.f32(float) nounwind readnone 199*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtns.i64.f32(float) nounwind readnone 200*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtns.i32.f64(double) nounwind readnone 201*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtns.i64.f64(double) nounwind readnone 202*9880d681SAndroid Build Coastguard Worker 203*9880d681SAndroid Build Coastguard Worker; 204*9880d681SAndroid Build Coastguard Worker; Floating-point scalar convert to unsigned integer (to nearest with ties to even) 205*9880d681SAndroid Build Coastguard Worker; 206*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtnu_1w1s(float %A) nounwind { 207*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtnu_1w1s: 208*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtnu w0, s0 209*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 210*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtnu.i32.f32(float %A) 211*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 212*9880d681SAndroid Build Coastguard Worker} 213*9880d681SAndroid Build Coastguard Worker 214*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtnu_1x1s(float %A) nounwind { 215*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtnu_1x1s: 216*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtnu x0, s0 217*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 218*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtnu.i64.f32(float %A) 219*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 220*9880d681SAndroid Build Coastguard Worker} 221*9880d681SAndroid Build Coastguard Worker 222*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtnu_1w1d(double %A) nounwind { 223*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtnu_1w1d: 224*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtnu w0, d0 225*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 226*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtnu.i32.f64(double %A) 227*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 228*9880d681SAndroid Build Coastguard Worker} 229*9880d681SAndroid Build Coastguard Worker 230*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtnu_1x1d(double %A) nounwind { 231*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtnu_1x1d: 232*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtnu x0, d0 233*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 234*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtnu.i64.f64(double %A) 235*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 236*9880d681SAndroid Build Coastguard Worker} 237*9880d681SAndroid Build Coastguard Worker 238*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtnu.i32.f32(float) nounwind readnone 239*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtnu.i64.f32(float) nounwind readnone 240*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtnu.i32.f64(double) nounwind readnone 241*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtnu.i64.f64(double) nounwind readnone 242*9880d681SAndroid Build Coastguard Worker 243*9880d681SAndroid Build Coastguard Worker; 244*9880d681SAndroid Build Coastguard Worker; Floating-point scalar convert to signed integer (toward +Inf) 245*9880d681SAndroid Build Coastguard Worker; 246*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtps_1w1s(float %A) nounwind { 247*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtps_1w1s: 248*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtps w0, s0 249*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 250*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtps.i32.f32(float %A) 251*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 252*9880d681SAndroid Build Coastguard Worker} 253*9880d681SAndroid Build Coastguard Worker 254*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtps_1x1s(float %A) nounwind { 255*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtps_1x1s: 256*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtps x0, s0 257*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 258*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtps.i64.f32(float %A) 259*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 260*9880d681SAndroid Build Coastguard Worker} 261*9880d681SAndroid Build Coastguard Worker 262*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtps_1w1d(double %A) nounwind { 263*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtps_1w1d: 264*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtps w0, d0 265*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 266*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtps.i32.f64(double %A) 267*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 268*9880d681SAndroid Build Coastguard Worker} 269*9880d681SAndroid Build Coastguard Worker 270*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtps_1x1d(double %A) nounwind { 271*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtps_1x1d: 272*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtps x0, d0 273*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 274*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtps.i64.f64(double %A) 275*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 276*9880d681SAndroid Build Coastguard Worker} 277*9880d681SAndroid Build Coastguard Worker 278*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtps.i32.f32(float) nounwind readnone 279*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtps.i64.f32(float) nounwind readnone 280*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtps.i32.f64(double) nounwind readnone 281*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtps.i64.f64(double) nounwind readnone 282*9880d681SAndroid Build Coastguard Worker 283*9880d681SAndroid Build Coastguard Worker; 284*9880d681SAndroid Build Coastguard Worker; Floating-point scalar convert to unsigned integer (toward +Inf) 285*9880d681SAndroid Build Coastguard Worker; 286*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtpu_1w1s(float %A) nounwind { 287*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtpu_1w1s: 288*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtpu w0, s0 289*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 290*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtpu.i32.f32(float %A) 291*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 292*9880d681SAndroid Build Coastguard Worker} 293*9880d681SAndroid Build Coastguard Worker 294*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtpu_1x1s(float %A) nounwind { 295*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtpu_1x1s: 296*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtpu x0, s0 297*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 298*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtpu.i64.f32(float %A) 299*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 300*9880d681SAndroid Build Coastguard Worker} 301*9880d681SAndroid Build Coastguard Worker 302*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtpu_1w1d(double %A) nounwind { 303*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtpu_1w1d: 304*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtpu w0, d0 305*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 306*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtpu.i32.f64(double %A) 307*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 308*9880d681SAndroid Build Coastguard Worker} 309*9880d681SAndroid Build Coastguard Worker 310*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtpu_1x1d(double %A) nounwind { 311*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtpu_1x1d: 312*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtpu x0, d0 313*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 314*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtpu.i64.f64(double %A) 315*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 316*9880d681SAndroid Build Coastguard Worker} 317*9880d681SAndroid Build Coastguard Worker 318*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtpu.i32.f32(float) nounwind readnone 319*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtpu.i64.f32(float) nounwind readnone 320*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtpu.i32.f64(double) nounwind readnone 321*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtpu.i64.f64(double) nounwind readnone 322*9880d681SAndroid Build Coastguard Worker 323*9880d681SAndroid Build Coastguard Worker; 324*9880d681SAndroid Build Coastguard Worker; Floating-point scalar convert to signed integer (toward zero) 325*9880d681SAndroid Build Coastguard Worker; 326*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtzs_1w1s(float %A) nounwind { 327*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtzs_1w1s: 328*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtzs w0, s0 329*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 330*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtzs.i32.f32(float %A) 331*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 332*9880d681SAndroid Build Coastguard Worker} 333*9880d681SAndroid Build Coastguard Worker 334*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtzs_1x1s(float %A) nounwind { 335*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtzs_1x1s: 336*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtzs x0, s0 337*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 338*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtzs.i64.f32(float %A) 339*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 340*9880d681SAndroid Build Coastguard Worker} 341*9880d681SAndroid Build Coastguard Worker 342*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtzs_1w1d(double %A) nounwind { 343*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtzs_1w1d: 344*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtzs w0, d0 345*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 346*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtzs.i32.f64(double %A) 347*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 348*9880d681SAndroid Build Coastguard Worker} 349*9880d681SAndroid Build Coastguard Worker 350*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtzs_1x1d(double %A) nounwind { 351*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtzs_1x1d: 352*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtzs x0, d0 353*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 354*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtzs.i64.f64(double %A) 355*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 356*9880d681SAndroid Build Coastguard Worker} 357*9880d681SAndroid Build Coastguard Worker 358*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtzs.i32.f32(float) nounwind readnone 359*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtzs.i64.f32(float) nounwind readnone 360*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtzs.i32.f64(double) nounwind readnone 361*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtzs.i64.f64(double) nounwind readnone 362*9880d681SAndroid Build Coastguard Worker 363*9880d681SAndroid Build Coastguard Worker; 364*9880d681SAndroid Build Coastguard Worker; Floating-point scalar convert to unsigned integer (toward zero) 365*9880d681SAndroid Build Coastguard Worker; 366*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtzu_1w1s(float %A) nounwind { 367*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtzu_1w1s: 368*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtzu w0, s0 369*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 370*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtzu.i32.f32(float %A) 371*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 372*9880d681SAndroid Build Coastguard Worker} 373*9880d681SAndroid Build Coastguard Worker 374*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtzu_1x1s(float %A) nounwind { 375*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtzu_1x1s: 376*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtzu x0, s0 377*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 378*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtzu.i64.f32(float %A) 379*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 380*9880d681SAndroid Build Coastguard Worker} 381*9880d681SAndroid Build Coastguard Worker 382*9880d681SAndroid Build Coastguard Workerdefine i32 @fcvtzu_1w1d(double %A) nounwind { 383*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtzu_1w1d: 384*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtzu w0, d0 385*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 386*9880d681SAndroid Build Coastguard Worker %tmp3 = call i32 @llvm.aarch64.neon.fcvtzu.i32.f64(double %A) 387*9880d681SAndroid Build Coastguard Worker ret i32 %tmp3 388*9880d681SAndroid Build Coastguard Worker} 389*9880d681SAndroid Build Coastguard Worker 390*9880d681SAndroid Build Coastguard Workerdefine i64 @fcvtzu_1x1d(double %A) nounwind { 391*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: fcvtzu_1x1d: 392*9880d681SAndroid Build Coastguard Worker;CHECK: fcvtzu x0, d0 393*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 394*9880d681SAndroid Build Coastguard Worker %tmp3 = call i64 @llvm.aarch64.neon.fcvtzu.i64.f64(double %A) 395*9880d681SAndroid Build Coastguard Worker ret i64 %tmp3 396*9880d681SAndroid Build Coastguard Worker} 397*9880d681SAndroid Build Coastguard Worker 398*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtzu.i32.f32(float) nounwind readnone 399*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtzu.i64.f32(float) nounwind readnone 400*9880d681SAndroid Build Coastguard Workerdeclare i32 @llvm.aarch64.neon.fcvtzu.i32.f64(double) nounwind readnone 401*9880d681SAndroid Build Coastguard Workerdeclare i64 @llvm.aarch64.neon.fcvtzu.i64.f64(double) nounwind readnone 402