[llvm] [AArch64][SVE] Add custom lowering for bfloat FMUL (with +bf16) (PR #167502)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 17 09:41:15 PST 2025
================
@@ -7538,6 +7547,50 @@ SDValue AArch64TargetLowering::LowerINIT_TRAMPOLINE(SDValue Op,
EndOfTrmp);
}
+SDValue AArch64TargetLowering::LowerFMUL(SDValue Op, SelectionDAG &DAG) const {
+ SDLoc DL(Op);
+ EVT VT = Op.getValueType();
+ auto &Subtarget = DAG.getSubtarget<AArch64Subtarget>();
+ if (VT.getScalarType() != MVT::bf16 ||
+ (Subtarget.hasSVEB16B16() &&
+ Subtarget.isNonStreamingSVEorSME2Available()))
----------------
paulwalker-arm wrote:
AArch64TargetLowering already has access to the subtarget via `Subtarget->`.
https://github.com/llvm/llvm-project/pull/167502
More information about the llvm-commits
mailing list