@@ -66,7 +66,7 @@ define <16 x i8> @vselect_packss_v16i16(<16 x i16> %a0, <16 x i16> %a1, <16 x i8
66
66
; AVX512VL-NEXT: vpcmpeqw %ymm1, %ymm0, %ymm0
67
67
; AVX512VL-NEXT: vpmovzxwd {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero,ymm0[8],zero,ymm0[9],zero,ymm0[10],zero,ymm0[11],zero,ymm0[12],zero,ymm0[13],zero,ymm0[14],zero,ymm0[15],zero
68
68
; AVX512VL-NEXT: vpmovdb %zmm0, %xmm0
69
- ; AVX512VL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
69
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
70
70
; AVX512VL-NEXT: vzeroupper
71
71
; AVX512VL-NEXT: retq
72
72
;
@@ -82,7 +82,7 @@ define <16 x i8> @vselect_packss_v16i16(<16 x i16> %a0, <16 x i16> %a1, <16 x i8
82
82
; AVX512BWVL: # %bb.0:
83
83
; AVX512BWVL-NEXT: vpcmpeqw %ymm1, %ymm0, %k0
84
84
; AVX512BWVL-NEXT: vpmovm2b %k0, %xmm0
85
- ; AVX512BWVL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
85
+ ; AVX512BWVL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
86
86
; AVX512BWVL-NEXT: vzeroupper
87
87
; AVX512BWVL-NEXT: retq
88
88
%1 = icmp eq <16 x i16 > %a0 , %a1
@@ -156,7 +156,7 @@ define <16 x i8> @vselect_packss_v16i32(<16 x i32> %a0, <16 x i32> %a1, <16 x i8
156
156
; AVX512F-LABEL: vselect_packss_v16i32:
157
157
; AVX512F: # %bb.0:
158
158
; AVX512F-NEXT: vpcmpeqd %zmm1, %zmm0, %k1
159
- ; AVX512F-NEXT: vpternlogd $255, % zmm0, %zmm0, %zmm0 {%k1} {z}
159
+ ; AVX512F-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} {z} = -1
160
160
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
161
161
; AVX512F-NEXT: vpblendvb %xmm0, %xmm2, %xmm3, %xmm0
162
162
; AVX512F-NEXT: vzeroupper
@@ -165,9 +165,9 @@ define <16 x i8> @vselect_packss_v16i32(<16 x i32> %a0, <16 x i32> %a1, <16 x i8
165
165
; AVX512VL-LABEL: vselect_packss_v16i32:
166
166
; AVX512VL: # %bb.0:
167
167
; AVX512VL-NEXT: vpcmpeqd %zmm1, %zmm0, %k1
168
- ; AVX512VL-NEXT: vpternlogd $255, % zmm0, %zmm0, %zmm0 {%k1} {z}
168
+ ; AVX512VL-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} {z} = -1
169
169
; AVX512VL-NEXT: vpmovdb %zmm0, %xmm0
170
- ; AVX512VL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
170
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
171
171
; AVX512VL-NEXT: vzeroupper
172
172
; AVX512VL-NEXT: retq
173
173
;
@@ -183,7 +183,7 @@ define <16 x i8> @vselect_packss_v16i32(<16 x i32> %a0, <16 x i32> %a1, <16 x i8
183
183
; AVX512BWVL: # %bb.0:
184
184
; AVX512BWVL-NEXT: vpcmpeqd %zmm1, %zmm0, %k0
185
185
; AVX512BWVL-NEXT: vpmovm2b %k0, %xmm0
186
- ; AVX512BWVL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
186
+ ; AVX512BWVL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
187
187
; AVX512BWVL-NEXT: vzeroupper
188
188
; AVX512BWVL-NEXT: retq
189
189
%1 = icmp eq <16 x i32 > %a0 , %a1
@@ -312,7 +312,7 @@ define <16 x i8> @vselect_packss_v16i64(<16 x i64> %a0, <16 x i64> %a1, <16 x i8
312
312
; AVX512F-NEXT: vpcmpeqq %zmm2, %zmm0, %k0
313
313
; AVX512F-NEXT: vpcmpeqq %zmm3, %zmm1, %k1
314
314
; AVX512F-NEXT: kunpckbw %k0, %k1, %k1
315
- ; AVX512F-NEXT: vpternlogd $255, % zmm0, %zmm0, %zmm0 {%k1} {z}
315
+ ; AVX512F-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} {z} = -1
316
316
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
317
317
; AVX512F-NEXT: vpblendvb %xmm0, %xmm4, %xmm5, %xmm0
318
318
; AVX512F-NEXT: vzeroupper
@@ -323,9 +323,9 @@ define <16 x i8> @vselect_packss_v16i64(<16 x i64> %a0, <16 x i64> %a1, <16 x i8
323
323
; AVX512VL-NEXT: vpcmpeqq %zmm2, %zmm0, %k0
324
324
; AVX512VL-NEXT: vpcmpeqq %zmm3, %zmm1, %k1
325
325
; AVX512VL-NEXT: kunpckbw %k0, %k1, %k1
326
- ; AVX512VL-NEXT: vpternlogd $255, % zmm0, %zmm0, %zmm0 {%k1} {z}
326
+ ; AVX512VL-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} {z} = -1
327
327
; AVX512VL-NEXT: vpmovdb %zmm0, %xmm0
328
- ; AVX512VL-NEXT: vpternlogq $202, % xmm5, %xmm4, % xmm0
328
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm5 ^ ( xmm0 & (xmm4 ^ xmm5))
329
329
; AVX512VL-NEXT: vzeroupper
330
330
; AVX512VL-NEXT: retq
331
331
;
@@ -345,7 +345,7 @@ define <16 x i8> @vselect_packss_v16i64(<16 x i64> %a0, <16 x i64> %a1, <16 x i8
345
345
; AVX512BWVL-NEXT: vpcmpeqq %zmm3, %zmm1, %k1
346
346
; AVX512BWVL-NEXT: kunpckbw %k0, %k1, %k0
347
347
; AVX512BWVL-NEXT: vpmovm2b %k0, %xmm0
348
- ; AVX512BWVL-NEXT: vpternlogq $202, % xmm5, %xmm4, % xmm0
348
+ ; AVX512BWVL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm5 ^ ( xmm0 & (xmm4 ^ xmm5))
349
349
; AVX512BWVL-NEXT: vzeroupper
350
350
; AVX512BWVL-NEXT: retq
351
351
%1 = icmp eq <16 x i64 > %a0 , %a1
@@ -415,7 +415,7 @@ define <16 x i8> @vselect_packss(<16 x i16> %a0, <16 x i16> %a1, <16 x i8> %a2,
415
415
; AVX512VL-NEXT: vpcmpeqw %ymm1, %ymm0, %ymm0
416
416
; AVX512VL-NEXT: vextracti128 $1, %ymm0, %xmm1
417
417
; AVX512VL-NEXT: vpacksswb %xmm1, %xmm0, %xmm0
418
- ; AVX512VL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
418
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
419
419
; AVX512VL-NEXT: vzeroupper
420
420
; AVX512VL-NEXT: retq
421
421
;
@@ -433,7 +433,7 @@ define <16 x i8> @vselect_packss(<16 x i16> %a0, <16 x i16> %a1, <16 x i8> %a2,
433
433
; AVX512BWVL-NEXT: vpcmpeqw %ymm1, %ymm0, %ymm0
434
434
; AVX512BWVL-NEXT: vextracti128 $1, %ymm0, %xmm1
435
435
; AVX512BWVL-NEXT: vpacksswb %xmm1, %xmm0, %xmm0
436
- ; AVX512BWVL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
436
+ ; AVX512BWVL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
437
437
; AVX512BWVL-NEXT: vzeroupper
438
438
; AVX512BWVL-NEXT: retq
439
439
%1 = icmp eq <16 x i16 > %a0 , %a1
0 commit comments