[clang] [compiler-rt] [llvm] [X86] Add AVX512BMM support for AMD Zen 6 (znver6) (PR #182556)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 24 07:23:04 PDT 2026
================
@@ -2355,6 +2355,11 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
for (auto VT : { MVT::v16i8, MVT::v32i8, MVT::v8i16, MVT::v16i16 })
setOperationAction(ISD::CTPOP, VT, Legal);
}
+
+ if (Subtarget.hasBMM()) {
+ for (auto VT : {MVT::v16i8, MVT::v32i8, MVT::v64i8})
----------------
ganeshgit wrote:
Yes, patterns exist for v16i8 and v32i8 without VLX. The setOperationAction(ISD::BITREVERSE, {v16i8,v32i8,v64i8}, Legal) relies on avx512_unary_lowering<"VPBITREVB", …>, whose [HasBMM, NoVLX] patterns widen the 128/256-bit ops to 512-bit zmm. Added the tests with VLX, NO-VLX checks!
https://github.com/llvm/llvm-project/pull/182556
More information about the llvm-commits
mailing list