[llvm] [AArch64] Fold scalar-to-vector shuffles into DUP/FMOV (PR #166962)

Pavel Iliin via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 18 09:59:27 PST 2025


================
@@ -696,6 +696,15 @@ static bool is64bitDefwithZeroHigh64bit(MachineInstr *MI,
   const TargetRegisterClass *RC = MRI->getRegClass(MI->getOperand(0).getReg());
   if (RC != &AArch64::FPR64RegClass)
     return false;
+  if (MI->getOpcode() == TargetOpcode::COPY) {
----------------
ilinpv wrote:

I think I see @davemgreen point, how can we reliably be sure the COPY isn’t elided by MachineCopyPropagation or any another pass (e.g. register coalescing), either today or as a result of future changes?

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


More information about the llvm-commits mailing list