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 Workerdefine <8 x i8> @xtn8b(<8 x i16> %A) nounwind { 4*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: xtn8b: 5*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 6*9880d681SAndroid Build Coastguard Worker;CHECK: xtn.8b v0, v0 7*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 8*9880d681SAndroid Build Coastguard Worker %tmp3 = trunc <8 x i16> %A to <8 x i8> 9*9880d681SAndroid Build Coastguard Worker ret <8 x i8> %tmp3 10*9880d681SAndroid Build Coastguard Worker} 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @xtn4h(<4 x i32> %A) nounwind { 13*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: xtn4h: 14*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 15*9880d681SAndroid Build Coastguard Worker;CHECK: xtn.4h v0, v0 16*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 17*9880d681SAndroid Build Coastguard Worker %tmp3 = trunc <4 x i32> %A to <4 x i16> 18*9880d681SAndroid Build Coastguard Worker ret <4 x i16> %tmp3 19*9880d681SAndroid Build Coastguard Worker} 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @xtn2s(<2 x i64> %A) nounwind { 22*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: xtn2s: 23*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 24*9880d681SAndroid Build Coastguard Worker;CHECK: xtn.2s v0, v0 25*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 26*9880d681SAndroid Build Coastguard Worker %tmp3 = trunc <2 x i64> %A to <2 x i32> 27*9880d681SAndroid Build Coastguard Worker ret <2 x i32> %tmp3 28*9880d681SAndroid Build Coastguard Worker} 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @xtn2_16b(<8 x i8> %ret, <8 x i16> %A) nounwind { 31*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: xtn2_16b: 32*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 33*9880d681SAndroid Build Coastguard Worker;CHECK: xtn2.16b v0, v1 34*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 35*9880d681SAndroid Build Coastguard Worker %tmp3 = trunc <8 x i16> %A to <8 x i8> 36*9880d681SAndroid Build Coastguard Worker %res = shufflevector <8 x i8> %ret, <8 x i8> %tmp3, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15> 37*9880d681SAndroid Build Coastguard Worker ret <16 x i8> %res 38*9880d681SAndroid Build Coastguard Worker} 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @xtn2_8h(<4 x i16> %ret, <4 x i32> %A) nounwind { 41*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: xtn2_8h: 42*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 43*9880d681SAndroid Build Coastguard Worker;CHECK: xtn2.8h v0, v1 44*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 45*9880d681SAndroid Build Coastguard Worker %tmp3 = trunc <4 x i32> %A to <4 x i16> 46*9880d681SAndroid Build Coastguard Worker %res = shufflevector <4 x i16> %ret, <4 x i16> %tmp3, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7> 47*9880d681SAndroid Build Coastguard Worker ret <8 x i16> %res 48*9880d681SAndroid Build Coastguard Worker} 49*9880d681SAndroid Build Coastguard Worker 50*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @xtn2_4s(<2 x i32> %ret, <2 x i64> %A) nounwind { 51*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: xtn2_4s: 52*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 53*9880d681SAndroid Build Coastguard Worker;CHECK: xtn2.4s v0, v1 54*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 55*9880d681SAndroid Build Coastguard Worker %tmp3 = trunc <2 x i64> %A to <2 x i32> 56*9880d681SAndroid Build Coastguard Worker %res = shufflevector <2 x i32> %ret, <2 x i32> %tmp3, <4 x i32> <i32 0, i32 1, i32 2, i32 3> 57*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %res 58*9880d681SAndroid Build Coastguard Worker} 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Workerdefine <8 x i8> @sqxtn8b(<8 x i16> %A) nounwind { 61*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtn8b: 62*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 63*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtn.8b v0, v0 64*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 65*9880d681SAndroid Build Coastguard Worker %tmp3 = call <8 x i8> @llvm.aarch64.neon.sqxtn.v8i8(<8 x i16> %A) 66*9880d681SAndroid Build Coastguard Worker ret <8 x i8> %tmp3 67*9880d681SAndroid Build Coastguard Worker} 68*9880d681SAndroid Build Coastguard Worker 69*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @sqxtn4h(<4 x i32> %A) nounwind { 70*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtn4h: 71*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 72*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtn.4h v0, v0 73*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 74*9880d681SAndroid Build Coastguard Worker %tmp3 = call <4 x i16> @llvm.aarch64.neon.sqxtn.v4i16(<4 x i32> %A) 75*9880d681SAndroid Build Coastguard Worker ret <4 x i16> %tmp3 76*9880d681SAndroid Build Coastguard Worker} 77*9880d681SAndroid Build Coastguard Worker 78*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @sqxtn2s(<2 x i64> %A) nounwind { 79*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtn2s: 80*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 81*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtn.2s v0, v0 82*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 83*9880d681SAndroid Build Coastguard Worker %tmp3 = call <2 x i32> @llvm.aarch64.neon.sqxtn.v2i32(<2 x i64> %A) 84*9880d681SAndroid Build Coastguard Worker ret <2 x i32> %tmp3 85*9880d681SAndroid Build Coastguard Worker} 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @sqxtn2_16b(<8 x i8> %ret, <8 x i16> %A) nounwind { 88*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtn2_16b: 89*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 90*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtn2.16b v0, v1 91*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 92*9880d681SAndroid Build Coastguard Worker %tmp3 = call <8 x i8> @llvm.aarch64.neon.sqxtn.v8i8(<8 x i16> %A) 93*9880d681SAndroid Build Coastguard Worker %res = shufflevector <8 x i8> %ret, <8 x i8> %tmp3, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15> 94*9880d681SAndroid Build Coastguard Worker ret <16 x i8> %res 95*9880d681SAndroid Build Coastguard Worker} 96*9880d681SAndroid Build Coastguard Worker 97*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @sqxtn2_8h(<4 x i16> %ret, <4 x i32> %A) nounwind { 98*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtn2_8h: 99*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 100*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtn2.8h v0, v1 101*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 102*9880d681SAndroid Build Coastguard Worker %tmp3 = call <4 x i16> @llvm.aarch64.neon.sqxtn.v4i16(<4 x i32> %A) 103*9880d681SAndroid Build Coastguard Worker %res = shufflevector <4 x i16> %ret, <4 x i16> %tmp3, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7> 104*9880d681SAndroid Build Coastguard Worker ret <8 x i16> %res 105*9880d681SAndroid Build Coastguard Worker} 106*9880d681SAndroid Build Coastguard Worker 107*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @sqxtn2_4s(<2 x i32> %ret, <2 x i64> %A) nounwind { 108*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtn2_4s: 109*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 110*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtn2.4s v0, v1 111*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 112*9880d681SAndroid Build Coastguard Worker %tmp3 = call <2 x i32> @llvm.aarch64.neon.sqxtn.v2i32(<2 x i64> %A) 113*9880d681SAndroid Build Coastguard Worker %res = shufflevector <2 x i32> %ret, <2 x i32> %tmp3, <4 x i32> <i32 0, i32 1, i32 2, i32 3> 114*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %res 115*9880d681SAndroid Build Coastguard Worker} 116*9880d681SAndroid Build Coastguard Worker 117*9880d681SAndroid Build Coastguard Workerdeclare <8 x i8> @llvm.aarch64.neon.sqxtn.v8i8(<8 x i16>) nounwind readnone 118*9880d681SAndroid Build Coastguard Workerdeclare <4 x i16> @llvm.aarch64.neon.sqxtn.v4i16(<4 x i32>) nounwind readnone 119*9880d681SAndroid Build Coastguard Workerdeclare <2 x i32> @llvm.aarch64.neon.sqxtn.v2i32(<2 x i64>) nounwind readnone 120*9880d681SAndroid Build Coastguard Worker 121*9880d681SAndroid Build Coastguard Workerdefine <8 x i8> @uqxtn8b(<8 x i16> %A) nounwind { 122*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: uqxtn8b: 123*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 124*9880d681SAndroid Build Coastguard Worker;CHECK: uqxtn.8b v0, v0 125*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 126*9880d681SAndroid Build Coastguard Worker %tmp3 = call <8 x i8> @llvm.aarch64.neon.uqxtn.v8i8(<8 x i16> %A) 127*9880d681SAndroid Build Coastguard Worker ret <8 x i8> %tmp3 128*9880d681SAndroid Build Coastguard Worker} 129*9880d681SAndroid Build Coastguard Worker 130*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @uqxtn4h(<4 x i32> %A) nounwind { 131*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: uqxtn4h: 132*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 133*9880d681SAndroid Build Coastguard Worker;CHECK: uqxtn.4h v0, v0 134*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 135*9880d681SAndroid Build Coastguard Worker %tmp3 = call <4 x i16> @llvm.aarch64.neon.uqxtn.v4i16(<4 x i32> %A) 136*9880d681SAndroid Build Coastguard Worker ret <4 x i16> %tmp3 137*9880d681SAndroid Build Coastguard Worker} 138*9880d681SAndroid Build Coastguard Worker 139*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @uqxtn2s(<2 x i64> %A) nounwind { 140*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: uqxtn2s: 141*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 142*9880d681SAndroid Build Coastguard Worker;CHECK: uqxtn.2s v0, v0 143*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 144*9880d681SAndroid Build Coastguard Worker %tmp3 = call <2 x i32> @llvm.aarch64.neon.uqxtn.v2i32(<2 x i64> %A) 145*9880d681SAndroid Build Coastguard Worker ret <2 x i32> %tmp3 146*9880d681SAndroid Build Coastguard Worker} 147*9880d681SAndroid Build Coastguard Worker 148*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @uqxtn2_16b(<8 x i8> %ret, <8 x i16> %A) nounwind { 149*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: uqxtn2_16b: 150*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 151*9880d681SAndroid Build Coastguard Worker;CHECK: uqxtn2.16b v0, v1 152*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 153*9880d681SAndroid Build Coastguard Worker %tmp3 = call <8 x i8> @llvm.aarch64.neon.uqxtn.v8i8(<8 x i16> %A) 154*9880d681SAndroid Build Coastguard Worker %res = shufflevector <8 x i8> %ret, <8 x i8> %tmp3, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15> 155*9880d681SAndroid Build Coastguard Worker ret <16 x i8> %res 156*9880d681SAndroid Build Coastguard Worker} 157*9880d681SAndroid Build Coastguard Worker 158*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @uqxtn2_8h(<4 x i16> %ret, <4 x i32> %A) nounwind { 159*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: uqxtn2_8h: 160*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 161*9880d681SAndroid Build Coastguard Worker;CHECK: uqxtn2.8h v0, v1 162*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 163*9880d681SAndroid Build Coastguard Worker %tmp3 = call <4 x i16> @llvm.aarch64.neon.uqxtn.v4i16(<4 x i32> %A) 164*9880d681SAndroid Build Coastguard Worker %res = shufflevector <4 x i16> %ret, <4 x i16> %tmp3, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7> 165*9880d681SAndroid Build Coastguard Worker ret <8 x i16> %res 166*9880d681SAndroid Build Coastguard Worker} 167*9880d681SAndroid Build Coastguard Worker 168*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @uqxtn2_4s(<2 x i32> %ret, <2 x i64> %A) nounwind { 169*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: uqxtn2_4s: 170*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 171*9880d681SAndroid Build Coastguard Worker;CHECK: uqxtn2.4s v0, v1 172*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 173*9880d681SAndroid Build Coastguard Worker %tmp3 = call <2 x i32> @llvm.aarch64.neon.uqxtn.v2i32(<2 x i64> %A) 174*9880d681SAndroid Build Coastguard Worker %res = shufflevector <2 x i32> %ret, <2 x i32> %tmp3, <4 x i32> <i32 0, i32 1, i32 2, i32 3> 175*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %res 176*9880d681SAndroid Build Coastguard Worker} 177*9880d681SAndroid Build Coastguard Worker 178*9880d681SAndroid Build Coastguard Workerdeclare <8 x i8> @llvm.aarch64.neon.uqxtn.v8i8(<8 x i16>) nounwind readnone 179*9880d681SAndroid Build Coastguard Workerdeclare <4 x i16> @llvm.aarch64.neon.uqxtn.v4i16(<4 x i32>) nounwind readnone 180*9880d681SAndroid Build Coastguard Workerdeclare <2 x i32> @llvm.aarch64.neon.uqxtn.v2i32(<2 x i64>) nounwind readnone 181*9880d681SAndroid Build Coastguard Worker 182*9880d681SAndroid Build Coastguard Workerdefine <8 x i8> @sqxtun8b(<8 x i16> %A) nounwind { 183*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtun8b: 184*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 185*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtun.8b v0, v0 186*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 187*9880d681SAndroid Build Coastguard Worker %tmp3 = call <8 x i8> @llvm.aarch64.neon.sqxtun.v8i8(<8 x i16> %A) 188*9880d681SAndroid Build Coastguard Worker ret <8 x i8> %tmp3 189*9880d681SAndroid Build Coastguard Worker} 190*9880d681SAndroid Build Coastguard Worker 191*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @sqxtun4h(<4 x i32> %A) nounwind { 192*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtun4h: 193*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 194*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtun.4h v0, v0 195*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 196*9880d681SAndroid Build Coastguard Worker %tmp3 = call <4 x i16> @llvm.aarch64.neon.sqxtun.v4i16(<4 x i32> %A) 197*9880d681SAndroid Build Coastguard Worker ret <4 x i16> %tmp3 198*9880d681SAndroid Build Coastguard Worker} 199*9880d681SAndroid Build Coastguard Worker 200*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @sqxtun2s(<2 x i64> %A) nounwind { 201*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtun2s: 202*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 203*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtun.2s v0, v0 204*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 205*9880d681SAndroid Build Coastguard Worker %tmp3 = call <2 x i32> @llvm.aarch64.neon.sqxtun.v2i32(<2 x i64> %A) 206*9880d681SAndroid Build Coastguard Worker ret <2 x i32> %tmp3 207*9880d681SAndroid Build Coastguard Worker} 208*9880d681SAndroid Build Coastguard Worker 209*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @sqxtun2_16b(<8 x i8> %ret, <8 x i16> %A) nounwind { 210*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtun2_16b: 211*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 212*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtun2.16b v0, v1 213*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 214*9880d681SAndroid Build Coastguard Worker %tmp3 = call <8 x i8> @llvm.aarch64.neon.sqxtun.v8i8(<8 x i16> %A) 215*9880d681SAndroid Build Coastguard Worker %res = shufflevector <8 x i8> %ret, <8 x i8> %tmp3, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15> 216*9880d681SAndroid Build Coastguard Worker ret <16 x i8> %res 217*9880d681SAndroid Build Coastguard Worker} 218*9880d681SAndroid Build Coastguard Worker 219*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @sqxtun2_8h(<4 x i16> %ret, <4 x i32> %A) nounwind { 220*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtun2_8h: 221*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 222*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtun2.8h v0, v1 223*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 224*9880d681SAndroid Build Coastguard Worker %tmp3 = call <4 x i16> @llvm.aarch64.neon.sqxtun.v4i16(<4 x i32> %A) 225*9880d681SAndroid Build Coastguard Worker %res = shufflevector <4 x i16> %ret, <4 x i16> %tmp3, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7> 226*9880d681SAndroid Build Coastguard Worker ret <8 x i16> %res 227*9880d681SAndroid Build Coastguard Worker} 228*9880d681SAndroid Build Coastguard Worker 229*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @sqxtun2_4s(<2 x i32> %ret, <2 x i64> %A) nounwind { 230*9880d681SAndroid Build Coastguard Worker;CHECK-LABEL: sqxtun2_4s: 231*9880d681SAndroid Build Coastguard Worker;CHECK-NOT: ld1 232*9880d681SAndroid Build Coastguard Worker;CHECK: sqxtun2.4s v0, v1 233*9880d681SAndroid Build Coastguard Worker;CHECK-NEXT: ret 234*9880d681SAndroid Build Coastguard Worker %tmp3 = call <2 x i32> @llvm.aarch64.neon.sqxtun.v2i32(<2 x i64> %A) 235*9880d681SAndroid Build Coastguard Worker %res = shufflevector <2 x i32> %ret, <2 x i32> %tmp3, <4 x i32> <i32 0, i32 1, i32 2, i32 3> 236*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %res 237*9880d681SAndroid Build Coastguard Worker} 238*9880d681SAndroid Build Coastguard Worker 239*9880d681SAndroid Build Coastguard Workerdeclare <8 x i8> @llvm.aarch64.neon.sqxtun.v8i8(<8 x i16>) nounwind readnone 240*9880d681SAndroid Build Coastguard Workerdeclare <4 x i16> @llvm.aarch64.neon.sqxtun.v4i16(<4 x i32>) nounwind readnone 241*9880d681SAndroid Build Coastguard Workerdeclare <2 x i32> @llvm.aarch64.neon.sqxtun.v2i32(<2 x i64>) nounwind readnone 242*9880d681SAndroid Build Coastguard Worker 243