[llvm] [ISel] Introduce `llvm.pext` and `llvm.pdep` intrinsics (PR #200570)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 1 23:00:44 PDT 2026
================
@@ -2108,6 +2108,19 @@ AArch64TargetLowering::AArch64TargetLowering(const TargetMachine &TM,
}
}
+ // Map generic PEXT/PDEP to SVE2 bitperm BEXT/BDEP instructions.
+ if (Subtarget->hasSVEBitPerm() &&
+ (Subtarget->isSVEAvailable() ||
+ (Subtarget->isSVEorStreamingSVEAvailable() &&
+ Subtarget->hasSSVE_BitPerm()))) {
+ for (auto VT : {MVT::nxv16i8, MVT::nxv8i16, MVT::nxv4i32, MVT::nxv2i64}) {
+ setOperationAction(ISD::PEXT, VT, Custom);
+ setOperationAction(ISD::PDEP, VT, Custom);
----------------
topperc wrote:
```suggestion
setOperationAction({ISD::PEXT, ISD::PDEP}, VT, Custom);
```
https://github.com/llvm/llvm-project/pull/200570
More information about the llvm-commits
mailing list