[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:05:39 PDT 2026
================
@@ -149,11 +149,12 @@ define <32 x i8> @vshift11(<32 x i8> %a) {
define <32 x i8> @vshift12(<32 x i8> %a) {
; CHECK-LABEL: vshift12:
; CHECK: # %bb.0:
-; CHECK-NEXT: vpsllw $2, %xmm0, %xmm1
+; CHECK-NEXT: vpaddb %xmm0, %xmm0, %xmm1
+; CHECK-NEXT: vpaddb %xmm1, %xmm1, %xmm1
; CHECK-NEXT: vextractf128 $1, %ymm0, %xmm0
-; CHECK-NEXT: vpsllw $2, %xmm0, %xmm0
+; CHECK-NEXT: vpaddb %xmm0, %xmm0, %xmm0
+; CHECK-NEXT: vpaddb %xmm0, %xmm0, %xmm0
; CHECK-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
-; CHECK-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
----------------
phoebewang wrote:
Similarly, this saves one `vandps`. Maybe we don't care much about AVX1?
https://github.com/llvm/llvm-project/pull/186095
More information about the llvm-commits
mailing list