[llvm] [AArch64][GlobalISel] Legalize F64 to BF16 fptruncates (PR #196077)
Cullen Rhodes via llvm-commits
llvm-commits at lists.llvm.org
Thu May 7 06:08:23 PDT 2026
================
@@ -2659,6 +2658,15 @@ bool AArch64LegalizerInfo::legalizeFptrunc(MachineInstr &MI,
MachineIRBuilder &MIRBuilder,
MachineRegisterInfo &MRI) const {
auto [Dst, DstTy, Src, SrcTy] = MI.getFirst2RegLLTs();
+
+ if (DstTy.isBFloat16() && SrcTy.isFloat64()) {
+ auto Mid =
+ MIRBuilder.buildInstr(AArch64::G_FPTRUNC_ODD, {LLT::float32()}, {Src});
+ MIRBuilder.buildInstr(AArch64::G_FPTRUNC, {Dst}, {Mid}).getReg(0);
----------------
c-rhodes wrote:
`.getReg(0)` can be dropped
```suggestion
MIRBuilder.buildInstr(AArch64::G_FPTRUNC, {Dst}, {Mid});
```
https://github.com/llvm/llvm-project/pull/196077
More information about the llvm-commits
mailing list