[llvm] [AArch64] Consider MOVaddr* as cheap if fuse-adrp-add (PR #121904)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 8 08:54:28 PST 2026


================
@@ -1254,6 +1254,15 @@ bool AArch64InstrInfo::isAsCheapAsAMove(const MachineInstr &MI) const {
     return isCheapImmediate(MI, 32);
   case AArch64::MOVi64imm:
     return isCheapImmediate(MI, 64);
+
+  case AArch64::MOVaddr:
+  case AArch64::MOVaddrJT:
+  case AArch64::MOVaddrCP:
+  case AArch64::MOVaddrBA:
+  case AArch64::MOVaddrTLS:
+  case AArch64::MOVaddrEXT:
+    return Subtarget.hasFuseAdrpAdd() &&
+           !(MI.getOperand(1).getTargetFlags() & AArch64II::MO_TAGGED);
----------------
fhahn wrote:

may be good to add a comment here why this check is needed

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


More information about the llvm-commits mailing list