[llvm] [X86] LowerShiftByScalarImmediate - vXi8 shl(X,2) - prefer PADDB+PADDB pair over PSLLW+PAND (PR #186095)

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 2 02:02:54 PDT 2026


================
@@ -208,20 +208,31 @@ define <4 x i32> @mul_and_to_neg_shl_and_vec_with_undef_and(<4 x i32> %x) {
 define <16 x i8> @mul_and_to_neg_shl_and_vec_with_undef_mul_and(<16 x i8> %x) {
 ; CHECK-SSE-LABEL: mul_and_to_neg_shl_and_vec_with_undef_mul_and:
 ; CHECK-SSE:       # %bb.0:
+; CHECK-SSE-NEXT:    paddb %xmm0, %xmm0
+; CHECK-SSE-NEXT:    paddb %xmm0, %xmm0
 ; CHECK-SSE-NEXT:    pxor %xmm1, %xmm1
 ; CHECK-SSE-NEXT:    psubb %xmm0, %xmm1
-; CHECK-SSE-NEXT:    psllw $2, %xmm1
 ; CHECK-SSE-NEXT:    pand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1
----------------
phoebewang wrote:

How about `pand` needed anyway?

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


More information about the llvm-commits mailing list