[llvm] [X86] Lower bf16->f32/f64 fpext without a GPR round-trip (PR #218359)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 27 00:37:50 PDT 2026
================
@@ -697,6 +697,8 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
setOperationAction(ISD::FP_ROUND, MVT::f16, Custom);
setOperationAction(ISD::FP_EXTEND, MVT::f32, Custom);
setOperationAction(ISD::FP_EXTEND, MVT::f64, Custom);
+ setOperationAction(ISD::BF16_TO_FP, MVT::f32, Custom);
+ setOperationAction(ISD::BF16_TO_FP, MVT::f64, Custom);
----------------
tfzee wrote:
Sorry I'm kind of confused here since 323 points to a hasAVX10_2 block.
Should I insert it into the hasSSE2 block above, inside of the hasAVX10_2 or add a new if between the existing hasSSE2 and hasAVX10_2 ones?
And if moving the expand part up I imagine I also move the strict expand loop right above it as well since they are part of the same bf16 default setup?
https://github.com/llvm/llvm-project/pull/218359
More information about the llvm-commits
mailing list