[llvm] [X86] combineConcatVectorOps - remove VBMI2 limit for v32i16/v64i8 shuffle concatentation (PR #140077)
via llvm-commits
llvm-commits at lists.llvm.org
Thu May 15 08:10:12 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-x86
Author: Simon Pilgrim (RKSimon)
<details>
<summary>Changes</summary>
This is no longer required with the improvements to subvector load sharing with shouldReduceLoadWidth
---
Full diff: https://github.com/llvm/llvm-project/pull/140077.diff
1 Files Affected:
- (modified) llvm/lib/Target/X86/X86ISelLowering.cpp (+1-3)
``````````diff
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 8c6c987c552cc..9be3b39ce16fa 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -58403,9 +58403,7 @@ static SDValue combineConcatVectorOps(const SDLoc &DL, MVT VT,
((VT.is256BitVector() &&
(EltSizeInBits >= 32 || Subtarget.hasInt256())) ||
(VT.is512BitVector() && Subtarget.useAVX512Regs() &&
- (EltSizeInBits >= 32 || Subtarget.hasVBMI2())))) {
- // TODO: Relax VBMI requirement for repeated shuffle ops - currently
- // limited to targets that should always have good cross lane shuffles.
+ (EltSizeInBits >= 32 || Subtarget.useBWIRegs())))) {
SDValue Concat0 = CombineSubOperand(VT, Ops, 0);
SDValue Concat1 = CombineSubOperand(VT, Ops, 1);
if (Concat0 || Concat1 ||
``````````
</details>
https://github.com/llvm/llvm-project/pull/140077
More information about the llvm-commits
mailing list