[llvm] [X86][AVX] Prefer VPSRAV to VPSRA style shifts for known splats #39424 (PR #87913)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 8 03:49:47 PDT 2024


================
@@ -29318,8 +29318,10 @@ static SDValue LowerShift(SDValue Op, const X86Subtarget &Subtarget,
   if (SDValue V = LowerShiftByScalarImmediate(Op, DAG, Subtarget))
     return V;
 
-  if (SDValue V = LowerShiftByScalarVariable(Op, DAG, Subtarget))
-    return V;
+  if (!supportedVectorVarShift(VT, Subtarget, Opc) &&
+      !Subtarget.preferPerEltVectorShift())
----------------
RKSimon wrote:

This logic looks wrong - shouldn't it be `!supportedVectorVarShift(VT, Subtarget, Opc) || !Subtarget.preferPerEltVectorShift()`?

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


More information about the llvm-commits mailing list