Lines Matching refs:AVX512F

2 …nown -mattr=+avx512f | FileCheck %s --check-prefix=AVX --check-prefix=AVX512 --check-prefix=AVX512F
235 ; AVX512F-LABEL: test_div7_32i16:
236 ; AVX512F: # BB#0:
237 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm2 = [9363,9363,9363,9363,9363,9363,9363,9363,9363,9363,9363,…
238 ; AVX512F-NEXT: vpmulhuw %ymm2, %ymm0, %ymm3
239 ; AVX512F-NEXT: vpsubw %ymm3, %ymm0, %ymm0
240 ; AVX512F-NEXT: vpsrlw $1, %ymm0, %ymm0
241 ; AVX512F-NEXT: vpaddw %ymm3, %ymm0, %ymm0
242 ; AVX512F-NEXT: vpsrlw $2, %ymm0, %ymm0
243 ; AVX512F-NEXT: vpmulhuw %ymm2, %ymm1, %ymm2
244 ; AVX512F-NEXT: vpsubw %ymm2, %ymm1, %ymm1
245 ; AVX512F-NEXT: vpsrlw $1, %ymm1, %ymm1
246 ; AVX512F-NEXT: vpaddw %ymm2, %ymm1, %ymm1
247 ; AVX512F-NEXT: vpsrlw $2, %ymm1, %ymm1
248 ; AVX512F-NEXT: retq
263 ; AVX512F-LABEL: test_div7_64i8:
264 ; AVX512F: # BB#0:
265 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm2 = [37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,3…
266 ; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm3
267 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm3 = xmm3[0],zero,xmm3[1],zero,xmm3[2],zero,xmm3[3],zero,xm…
268 ; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm4
269 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm4 = xmm4[0],zero,xmm4[1],zero,xmm4[2],zero,xmm4[3],zero,xm…
270 ; AVX512F-NEXT: vpmullw %ymm3, %ymm4, %ymm4
271 ; AVX512F-NEXT: vpsrlw $8, %ymm4, %ymm4
272 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm2 = xmm2[0],zero,xmm2[1],zero,xmm2[2],zero,xmm2[3],zero,xm…
273 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm5 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xm…
274 ; AVX512F-NEXT: vpmullw %ymm2, %ymm5, %ymm5
275 ; AVX512F-NEXT: vpsrlw $8, %ymm5, %ymm5
276 ; AVX512F-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm5[2,3],ymm4[2,3]
277 ; AVX512F-NEXT: vinserti128 $1, %xmm4, %ymm5, %ymm4
278 ; AVX512F-NEXT: vpackuswb %ymm6, %ymm4, %ymm4
279 ; AVX512F-NEXT: vpsubb %ymm4, %ymm0, %ymm0
280 ; AVX512F-NEXT: vpsrlw $1, %ymm0, %ymm0
281 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm5 = [127,127,127,127,127,127,127,127,127,127,127,127,127,127…
282 ; AVX512F-NEXT: vpand %ymm5, %ymm0, %ymm0
283 ; AVX512F-NEXT: vpaddb %ymm4, %ymm0, %ymm0
284 ; AVX512F-NEXT: vpsrlw $2, %ymm0, %ymm0
285 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm4 = [63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,6…
286 ; AVX512F-NEXT: vpand %ymm4, %ymm0, %ymm0
287 ; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm6
288 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm6 = xmm6[0],zero,xmm6[1],zero,xmm6[2],zero,xmm6[3],zero,xm…
289 ; AVX512F-NEXT: vpmullw %ymm3, %ymm6, %ymm3
290 ; AVX512F-NEXT: vpsrlw $8, %ymm3, %ymm3
291 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm6 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xm…
292 ; AVX512F-NEXT: vpmullw %ymm2, %ymm6, %ymm2
293 ; AVX512F-NEXT: vpsrlw $8, %ymm2, %ymm2
294 ; AVX512F-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm2[2,3],ymm3[2,3]
295 ; AVX512F-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2
296 ; AVX512F-NEXT: vpackuswb %ymm6, %ymm2, %ymm2
297 ; AVX512F-NEXT: vpsubb %ymm2, %ymm1, %ymm1
298 ; AVX512F-NEXT: vpsrlw $1, %ymm1, %ymm1
299 ; AVX512F-NEXT: vpand %ymm5, %ymm1, %ymm1
300 ; AVX512F-NEXT: vpaddb %ymm2, %ymm1, %ymm1
301 ; AVX512F-NEXT: vpsrlw $2, %ymm1, %ymm1
302 ; AVX512F-NEXT: vpand %ymm4, %ymm1, %ymm1
303 ; AVX512F-NEXT: retq
1220 ; AVX512F-LABEL: test_rem7_32i16:
1221 ; AVX512F: # BB#0:
1222 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm2 = [9363,9363,9363,9363,9363,9363,9363,9363,9363,9363,9363,…
1223 ; AVX512F-NEXT: vpmulhuw %ymm2, %ymm0, %ymm3
1224 ; AVX512F-NEXT: vpsubw %ymm3, %ymm0, %ymm4
1225 ; AVX512F-NEXT: vpsrlw $1, %ymm4, %ymm4
1226 ; AVX512F-NEXT: vpaddw %ymm3, %ymm4, %ymm3
1227 ; AVX512F-NEXT: vpsrlw $2, %ymm3, %ymm3
1228 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm4 = [7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7]
1229 ; AVX512F-NEXT: vpmullw %ymm4, %ymm3, %ymm3
1230 ; AVX512F-NEXT: vpsubw %ymm3, %ymm0, %ymm0
1231 ; AVX512F-NEXT: vpmulhuw %ymm2, %ymm1, %ymm2
1232 ; AVX512F-NEXT: vpsubw %ymm2, %ymm1, %ymm3
1233 ; AVX512F-NEXT: vpsrlw $1, %ymm3, %ymm3
1234 ; AVX512F-NEXT: vpaddw %ymm2, %ymm3, %ymm2
1235 ; AVX512F-NEXT: vpsrlw $2, %ymm2, %ymm2
1236 ; AVX512F-NEXT: vpmullw %ymm4, %ymm2, %ymm2
1237 ; AVX512F-NEXT: vpsubw %ymm2, %ymm1, %ymm1
1238 ; AVX512F-NEXT: retq
1255 ; AVX512F-LABEL: test_rem7_64i8:
1256 ; AVX512F: # BB#0:
1257 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm3 = [37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,3…
1258 ; AVX512F-NEXT: vextracti128 $1, %ymm3, %xmm2
1259 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm2 = xmm2[0],zero,xmm2[1],zero,xmm2[2],zero,xmm2[3],zero,xm…
1260 ; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm4
1261 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm4 = xmm4[0],zero,xmm4[1],zero,xmm4[2],zero,xmm4[3],zero,xm…
1262 ; AVX512F-NEXT: vpmullw %ymm2, %ymm4, %ymm4
1263 ; AVX512F-NEXT: vpsrlw $8, %ymm4, %ymm5
1264 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm4 = xmm3[0],zero,xmm3[1],zero,xmm3[2],zero,xmm3[3],zero,xm…
1265 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm3 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xm…
1266 ; AVX512F-NEXT: vpmullw %ymm4, %ymm3, %ymm3
1267 ; AVX512F-NEXT: vpsrlw $8, %ymm3, %ymm3
1268 ; AVX512F-NEXT: vperm2i128 {{.*#+}} ymm6 = ymm3[2,3],ymm5[2,3]
1269 ; AVX512F-NEXT: vinserti128 $1, %xmm5, %ymm3, %ymm3
1270 ; AVX512F-NEXT: vpackuswb %ymm6, %ymm3, %ymm3
1271 ; AVX512F-NEXT: vpsubb %ymm3, %ymm0, %ymm5
1272 ; AVX512F-NEXT: vpsrlw $1, %ymm5, %ymm6
1273 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm5 = [127,127,127,127,127,127,127,127,127,127,127,127,127,127…
1274 ; AVX512F-NEXT: vpand %ymm5, %ymm6, %ymm6
1275 ; AVX512F-NEXT: vpaddb %ymm3, %ymm6, %ymm3
1276 ; AVX512F-NEXT: vpsrlw $2, %ymm3, %ymm3
1277 ; AVX512F-NEXT: vmovdqa {{.*#+}} ymm6 = [63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,6…
1278 ; AVX512F-NEXT: vpand %ymm6, %ymm3, %ymm7
1279 ; AVX512F-NEXT: vpmovsxbw %xmm7, %ymm8
1280 ; AVX512F-NEXT: vpmovsxbw {{.*}}(%rip), %ymm3
1281 ; AVX512F-NEXT: vpmullw %ymm3, %ymm8, %ymm8
1282 ; AVX512F-NEXT: vpmovsxwd %ymm8, %zmm8
1283 ; AVX512F-NEXT: vpmovdb %zmm8, %xmm8
1284 ; AVX512F-NEXT: vextracti128 $1, %ymm7, %xmm7
1285 ; AVX512F-NEXT: vpmovsxbw %xmm7, %ymm7
1286 ; AVX512F-NEXT: vpmullw %ymm3, %ymm7, %ymm7
1287 ; AVX512F-NEXT: vpmovsxwd %ymm7, %zmm7
1288 ; AVX512F-NEXT: vpmovdb %zmm7, %xmm7
1289 ; AVX512F-NEXT: vinserti128 $1, %xmm7, %ymm8, %ymm7
1290 ; AVX512F-NEXT: vpsubb %ymm7, %ymm0, %ymm0
1291 ; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm7
1292 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm7 = xmm7[0],zero,xmm7[1],zero,xmm7[2],zero,xmm7[3],zero,xm…
1293 ; AVX512F-NEXT: vpmullw %ymm2, %ymm7, %ymm2
1294 ; AVX512F-NEXT: vpsrlw $8, %ymm2, %ymm2
1295 ; AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm7 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xm…
1296 ; AVX512F-NEXT: vpmullw %ymm4, %ymm7, %ymm4
1297 ; AVX512F-NEXT: vpsrlw $8, %ymm4, %ymm4
1298 ; AVX512F-NEXT: vperm2i128 {{.*#+}} ymm7 = ymm4[2,3],ymm2[2,3]
1299 ; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm4, %ymm2
1300 ; AVX512F-NEXT: vpackuswb %ymm7, %ymm2, %ymm2
1301 ; AVX512F-NEXT: vpsubb %ymm2, %ymm1, %ymm4
1302 ; AVX512F-NEXT: vpsrlw $1, %ymm4, %ymm4
1303 ; AVX512F-NEXT: vpand %ymm5, %ymm4, %ymm4
1304 ; AVX512F-NEXT: vpaddb %ymm2, %ymm4, %ymm2
1305 ; AVX512F-NEXT: vpsrlw $2, %ymm2, %ymm2
1306 ; AVX512F-NEXT: vpand %ymm6, %ymm2, %ymm2
1307 ; AVX512F-NEXT: vpmovsxbw %xmm2, %ymm4
1308 ; AVX512F-NEXT: vpmullw %ymm3, %ymm4, %ymm4
1309 ; AVX512F-NEXT: vpmovsxwd %ymm4, %zmm4
1310 ; AVX512F-NEXT: vpmovdb %zmm4, %xmm4
1311 ; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm2
1312 ; AVX512F-NEXT: vpmovsxbw %xmm2, %ymm2
1313 ; AVX512F-NEXT: vpmullw %ymm3, %ymm2, %ymm2
1314 ; AVX512F-NEXT: vpmovsxwd %ymm2, %zmm2
1315 ; AVX512F-NEXT: vpmovdb %zmm2, %xmm2
1316 ; AVX512F-NEXT: vinserti128 $1, %xmm2, %ymm4, %ymm2
1317 ; AVX512F-NEXT: vpsubb %ymm2, %ymm1, %ymm1
1318 ; AVX512F-NEXT: retq