[llvm] [X86][AVX10] Allow AVX10 use VBMI2 instructions (PR #73276)
Evgenii Kudriashov via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 23 21:01:18 PST 2023
================
@@ -1970,20 +1970,24 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
}
if (Subtarget.hasVBMI2()) {
- for (auto VT : { MVT::v8i16, MVT::v4i32, MVT::v2i64,
- MVT::v16i16, MVT::v8i32, MVT::v4i64,
- MVT::v32i16, MVT::v16i32, MVT::v8i64 }) {
+ for (auto VT : {MVT::v32i16, MVT::v16i32, MVT::v8i64}) {
setOperationAction(ISD::FSHL, VT, Custom);
setOperationAction(ISD::FSHR, VT, Custom);
}
setOperationAction(ISD::ROTL, MVT::v32i16, Custom);
- setOperationAction(ISD::ROTR, MVT::v8i16, Custom);
- setOperationAction(ISD::ROTR, MVT::v16i16, Custom);
setOperationAction(ISD::ROTR, MVT::v32i16, Custom);
}
}// useAVX512Regs
+ if (Subtarget.hasVBMI2()) {
----------------
e-kud wrote:
Now `setOperationAction` is called without `!Subtarget.useSoftFloat()`. I've just realized that we have this predicate on integer operations. I don't know the reasons why it is so. I assume it is used as a vector register availability predicate. If so, then we need it here as well
https://github.com/llvm/llvm-project/pull/73276
More information about the llvm-commits
mailing list