@@ -66,7 +66,7 @@ define <16 x i8> @vselect_packss_v16i16(<16 x i16> %a0, <16 x i16> %a1, <16 x i8
6666; AVX512VL-NEXT: vpcmpeqw %ymm1, %ymm0, %ymm0
6767; 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
6868; AVX512VL-NEXT: vpmovdb %zmm0, %xmm0
69- ; AVX512VL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
69+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
7070; AVX512VL-NEXT: vzeroupper
7171; AVX512VL-NEXT: retq
7272;
@@ -82,7 +82,7 @@ define <16 x i8> @vselect_packss_v16i16(<16 x i16> %a0, <16 x i16> %a1, <16 x i8
8282; AVX512BWVL: # %bb.0:
8383; AVX512BWVL-NEXT: vpcmpeqw %ymm1, %ymm0, %k0
8484; AVX512BWVL-NEXT: vpmovm2b %k0, %xmm0
85- ; AVX512BWVL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
85+ ; AVX512BWVL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
8686; AVX512BWVL-NEXT: vzeroupper
8787; AVX512BWVL-NEXT: retq
8888 %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
156156; AVX512F-LABEL: vselect_packss_v16i32:
157157; AVX512F: # %bb.0:
158158; AVX512F-NEXT: vpcmpeqd %zmm1, %zmm0, %k1
159- ; AVX512F-NEXT: vpternlogd $255, % zmm0, %zmm0, %zmm0 {%k1} {z}
159+ ; AVX512F-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} {z} = -1
160160; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
161161; AVX512F-NEXT: vpblendvb %xmm0, %xmm2, %xmm3, %xmm0
162162; 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
165165; AVX512VL-LABEL: vselect_packss_v16i32:
166166; AVX512VL: # %bb.0:
167167; AVX512VL-NEXT: vpcmpeqd %zmm1, %zmm0, %k1
168- ; AVX512VL-NEXT: vpternlogd $255, % zmm0, %zmm0, %zmm0 {%k1} {z}
168+ ; AVX512VL-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} {z} = -1
169169; AVX512VL-NEXT: vpmovdb %zmm0, %xmm0
170- ; AVX512VL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
170+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
171171; AVX512VL-NEXT: vzeroupper
172172; AVX512VL-NEXT: retq
173173;
@@ -183,7 +183,7 @@ define <16 x i8> @vselect_packss_v16i32(<16 x i32> %a0, <16 x i32> %a1, <16 x i8
183183; AVX512BWVL: # %bb.0:
184184; AVX512BWVL-NEXT: vpcmpeqd %zmm1, %zmm0, %k0
185185; AVX512BWVL-NEXT: vpmovm2b %k0, %xmm0
186- ; AVX512BWVL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
186+ ; AVX512BWVL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
187187; AVX512BWVL-NEXT: vzeroupper
188188; AVX512BWVL-NEXT: retq
189189 %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
312312; AVX512F-NEXT: vpcmpeqq %zmm2, %zmm0, %k0
313313; AVX512F-NEXT: vpcmpeqq %zmm3, %zmm1, %k1
314314; AVX512F-NEXT: kunpckbw %k0, %k1, %k1
315- ; AVX512F-NEXT: vpternlogd $255, % zmm0, %zmm0, %zmm0 {%k1} {z}
315+ ; AVX512F-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} {z} = -1
316316; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
317317; AVX512F-NEXT: vpblendvb %xmm0, %xmm4, %xmm5, %xmm0
318318; 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
323323; AVX512VL-NEXT: vpcmpeqq %zmm2, %zmm0, %k0
324324; AVX512VL-NEXT: vpcmpeqq %zmm3, %zmm1, %k1
325325; AVX512VL-NEXT: kunpckbw %k0, %k1, %k1
326- ; AVX512VL-NEXT: vpternlogd $255, % zmm0, %zmm0, %zmm0 {%k1} {z}
326+ ; AVX512VL-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} {z} = -1
327327; AVX512VL-NEXT: vpmovdb %zmm0, %xmm0
328- ; AVX512VL-NEXT: vpternlogq $202, % xmm5, %xmm4, % xmm0
328+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm5 ^ ( xmm0 & (xmm4 ^ xmm5))
329329; AVX512VL-NEXT: vzeroupper
330330; AVX512VL-NEXT: retq
331331;
@@ -345,7 +345,7 @@ define <16 x i8> @vselect_packss_v16i64(<16 x i64> %a0, <16 x i64> %a1, <16 x i8
345345; AVX512BWVL-NEXT: vpcmpeqq %zmm3, %zmm1, %k1
346346; AVX512BWVL-NEXT: kunpckbw %k0, %k1, %k0
347347; AVX512BWVL-NEXT: vpmovm2b %k0, %xmm0
348- ; AVX512BWVL-NEXT: vpternlogq $202, % xmm5, %xmm4, % xmm0
348+ ; AVX512BWVL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm5 ^ ( xmm0 & (xmm4 ^ xmm5))
349349; AVX512BWVL-NEXT: vzeroupper
350350; AVX512BWVL-NEXT: retq
351351 %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,
415415; AVX512VL-NEXT: vpcmpeqw %ymm1, %ymm0, %ymm0
416416; AVX512VL-NEXT: vextracti128 $1, %ymm0, %xmm1
417417; AVX512VL-NEXT: vpacksswb %xmm1, %xmm0, %xmm0
418- ; AVX512VL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
418+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
419419; AVX512VL-NEXT: vzeroupper
420420; AVX512VL-NEXT: retq
421421;
@@ -433,7 +433,7 @@ define <16 x i8> @vselect_packss(<16 x i16> %a0, <16 x i16> %a1, <16 x i8> %a2,
433433; AVX512BWVL-NEXT: vpcmpeqw %ymm1, %ymm0, %ymm0
434434; AVX512BWVL-NEXT: vextracti128 $1, %ymm0, %xmm1
435435; AVX512BWVL-NEXT: vpacksswb %xmm1, %xmm0, %xmm0
436- ; AVX512BWVL-NEXT: vpternlogq $202, % xmm3, %xmm2, % xmm0
436+ ; AVX512BWVL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm3 ^ ( xmm0 & (xmm2 ^ xmm3))
437437; AVX512BWVL-NEXT: vzeroupper
438438; AVX512BWVL-NEXT: retq
439439 %1 = icmp eq <16 x i16 > %a0 , %a1
0 commit comments