[llvm] [AArch64][SVE2] Enable dynamic shuffle for fixed length types. (PR #72490)
Dinar Temirbulatov via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 14 04:44:07 PST 2024
================
@@ -26171,13 +26196,29 @@ static SDValue GenerateFixedLengthSVETBL(SDValue Op, SDValue Op1, SDValue Op2,
DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, ContainerVT,
DAG.getConstant(Intrinsic::aarch64_sve_tbl, DL, MVT::i32),
Op1, SVEMask);
- else if (Subtarget.hasSVE2())
+ else if (Subtarget.hasSVE2()) {
+ if (!MinMaxEqual) {
+ SDValue VScale =
+ (BitsPerElt == 64)
+ ? DAG.getVScale(DL, MVT::i64, APInt(64, 128 / BitsPerElt))
+ : DAG.getVScale(DL, MVT::i32, APInt(32, 128 / BitsPerElt));
----------------
dtemirbulatov wrote:
Done.
https://github.com/llvm/llvm-project/pull/72490
More information about the llvm-commits
mailing list