[llvm] [AArch64] Lower zero cycle FPR zeroing (PR #156261)

David Green via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 9 01:22:14 PDT 2025


================
@@ -5469,8 +5469,24 @@ void AArch64InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
   // Copies between GPR64 and FPR64.
   if (AArch64::FPR64RegClass.contains(DestReg) &&
       AArch64::GPR64RegClass.contains(SrcReg)) {
-    BuildMI(MBB, I, DL, get(AArch64::FMOVXDr), DestReg)
-        .addReg(SrcReg, getKillRegState(KillSrc));
+    if (AArch64::XZR == SrcReg &&
----------------
davemgreen wrote:

Could this just generate a FMOVD0? Same for the S variant - it would help centralize the logic.

https://github.com/llvm/llvm-project/pull/156261


More information about the llvm-commits mailing list