[llvm] [AVX-512] make vpternlogq more aggressive for longer chains of bitmanipulations (PR #189971)

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 7 01:09:18 PDT 2026


================
@@ -3295,12 +3295,7 @@ define <16 x i1> @test_v16i1_select_chain(<16 x i1> %a0, <16 x i1> %a1, <16 x i1
 ;
 ; SKX-LABEL: test_v16i1_select_chain:
 ; SKX:       ## %bb.0:
-; SKX-NEXT:    vmovdqa %xmm0, %xmm3
-; SKX-NEXT:    vpternlogq {{.*#+}} xmm3 = xmm3 & ~(xmm2 & xmm1)
-; SKX-NEXT:    vpternlogq {{.*#+}} xmm3 = xmm3 & xmm0 & xmm1
-; SKX-NEXT:    vpternlogq {{.*#+}} xmm3 = xmm3 & xmm0 & xmm1
-; SKX-NEXT:    vpternlogq {{.*#+}} xmm3 = xmm1 & (xmm3 ^ xmm1)
-; SKX-NEXT:    vpternlogq {{.*#+}} xmm0 = xmm0 & xmm2 & xmm3
+; SKX-NEXT:    vpternlogq {{.*#+}} xmm0 = xmm0 & xmm2 & xmm1
----------------
phoebewang wrote:

Impressing, seems a good candidate for middle end opt: https://alive2.llvm.org/ce/z/r-zVJL

https://github.com/llvm/llvm-project/pull/189971


More information about the llvm-commits mailing list