@@ -69,7 +69,7 @@ define <64 x i8> @f1(ptr %p0) {
6969; AVX512F-NEXT: vpshufb {{.*#+}} ymm5 = ymm5[u,u,u,u,u,u,u,u,u,u,u,1,5,7,11,13,17,19,23,25,29,31,u,u,u,u,u,u,u,u,u,u]
7070; AVX512F-NEXT: vpblendw {{.*#+}} ymm2 = ymm5[0,1,2],ymm2[3,4,5,6,7],ymm5[8,9,10],ymm2[11,12,13,14,15]
7171; AVX512F-NEXT: vpblendd {{.*#+}} ymm2 = ymm5[0,1,2,3],ymm2[4,5,6,7]
72- ; AVX512F-NEXT: vpternlogq $228, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), % ymm0, % ymm2
72+ ; AVX512F-NEXT: vpternlogq {{.*#+}} ymm2 = ymm0 ^ (mem & ( ymm2 ^ ymm0))
7373; AVX512F-NEXT: vmovdqa 80(%rdi), %xmm0
7474; AVX512F-NEXT: vpshufb %xmm4, %xmm0, %xmm0
7575; AVX512F-NEXT: vmovdqa 64(%rdi), %xmm4
@@ -83,7 +83,7 @@ define <64 x i8> @f1(ptr %p0) {
8383; AVX512F-NEXT: vpor %xmm1, %xmm3, %xmm1
8484; AVX512F-NEXT: vmovdqa 32(%rdi), %ymm3
8585; AVX512F-NEXT: vpshufb {{.*#+}} ymm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,ymm3[1,5,7,11,13,17,19,23,25,29,31],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
86- ; AVX512F-NEXT: vpternlogq $248, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm1, % ymm3
86+ ; AVX512F-NEXT: vpternlogq {{.*#+}} ymm3 = ymm3 | (ymm1 & mem)
8787; AVX512F-NEXT: vpblendw {{.*#+}} ymm0 = ymm3[0,1,2],ymm0[3,4,5,6,7],ymm3[8,9,10],ymm0[11,12,13,14,15]
8888; AVX512F-NEXT: vpblendd {{.*#+}} ymm0 = ymm3[0,1,2,3],ymm0[4,5,6,7]
8989; AVX512F-NEXT: vinserti64x4 $1, %ymm2, %zmm0, %zmm0
@@ -214,7 +214,7 @@ define <64 x i8> @f2(ptr %p0) {
214214; AVX512F-NEXT: vmovdqa 128(%rdi), %ymm4
215215; AVX512F-NEXT: vpshufb {{.*#+}} ymm4 = ymm4[u,u,u,u,u,u,u,u,u,u,u,3,5,9,11,15,17,21,23,27,29],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
216216; AVX512F-NEXT: vinserti64x4 $1, %ymm4, %zmm2, %zmm2
217- ; AVX512F-NEXT: vpternlogq $248, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %zmm0, % zmm2
217+ ; AVX512F-NEXT: vpternlogq {{.*#+}} zmm2 = zmm2 | (zmm0 & mem)
218218; AVX512F-NEXT: vmovdqa 96(%rdi), %xmm0
219219; AVX512F-NEXT: vpshufb %xmm5, %xmm0, %xmm0
220220; AVX512F-NEXT: vmovdqa 112(%rdi), %xmm4
@@ -228,7 +228,7 @@ define <64 x i8> @f2(ptr %p0) {
228228; AVX512F-NEXT: vpor %xmm1, %xmm3, %xmm1
229229; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm1
230230; AVX512F-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm1[0,1,2,3],zmm0[4,5,6,7]
231- ; AVX512F-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %zmm2, % zmm0
231+ ; AVX512F-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & ( zmm0 ^ zmm2))
232232; AVX512F-NEXT: retq
233233;
234234; AVX512BW-LABEL: f2:
@@ -344,7 +344,7 @@ define <64 x i8> @f3(ptr %p0) {
344344; AVX512F-NEXT: # ymm4 = mem[0,1,0,1]
345345; AVX512F-NEXT: vpshufb %ymm4, %ymm2, %ymm2
346346; AVX512F-NEXT: vpmovsxwd {{.*#+}} ymm5 = [4294967295,4294967295,4294967295,4294967295,4294967295,255,0,0]
347- ; AVX512F-NEXT: vpternlogq $216, % ymm5, %ymm2, % ymm0
347+ ; AVX512F-NEXT: vpternlogq {{.*#+}} ymm0 = ymm0 ^ ( ymm5 & ( ymm0 ^ ymm2))
348348; AVX512F-NEXT: vmovdqa 112(%rdi), %xmm6
349349; AVX512F-NEXT: vmovdqa {{.*#+}} xmm7 = [128,128,128,128,128,0,4,6,10,12,u,u,u,u,u,u]
350350; AVX512F-NEXT: vpshufb %xmm7, %xmm6, %xmm6
@@ -369,7 +369,7 @@ define <64 x i8> @f3(ptr %p0) {
369369; AVX512F-NEXT: vpshufb %ymm4, %ymm3, %ymm3
370370; AVX512F-NEXT: vpblendw {{.*#+}} xmm2 = xmm2[0,1,2,3,4],xmm3[5,6,7]
371371; AVX512F-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm3[4,5,6,7]
372- ; AVX512F-NEXT: vpternlogq $226, % ymm1, % ymm5, % ymm2
372+ ; AVX512F-NEXT: vpternlogq {{.*#+}} ymm2 = ymm1 ^ ( ymm5 & ( ymm2 ^ ymm1))
373373; AVX512F-NEXT: vinserti64x4 $1, %ymm0, %zmm2, %zmm0
374374; AVX512F-NEXT: retq
375375;
@@ -497,7 +497,7 @@ define <64 x i8> @f4(ptr %p0) {
497497; AVX512F-NEXT: vmovdqa 128(%rdi), %ymm4
498498; AVX512F-NEXT: vpshufb {{.*#+}} ymm4 = ymm4[u,u,u,u,u,u,u,u,u,u,u,2,4,8,10,14,16,20,22,26,28],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
499499; AVX512F-NEXT: vinserti64x4 $1, %ymm4, %zmm2, %zmm2
500- ; AVX512F-NEXT: vpternlogq $248, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %zmm0, % zmm2
500+ ; AVX512F-NEXT: vpternlogq {{.*#+}} zmm2 = zmm2 | (zmm0 & mem)
501501; AVX512F-NEXT: vmovdqa 96(%rdi), %xmm0
502502; AVX512F-NEXT: vpshufb %xmm5, %xmm0, %xmm0
503503; AVX512F-NEXT: vmovdqa 112(%rdi), %xmm4
@@ -511,7 +511,7 @@ define <64 x i8> @f4(ptr %p0) {
511511; AVX512F-NEXT: vpor %xmm1, %xmm3, %xmm1
512512; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm1
513513; AVX512F-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm1[0,1,2,3],zmm0[4,5,6,7]
514- ; AVX512F-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %zmm2, % zmm0
514+ ; AVX512F-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & ( zmm0 ^ zmm2))
515515; AVX512F-NEXT: retq
516516;
517517; AVX512BW-LABEL: f4:
0 commit comments