[llvm] [AMDGPU]: Add support to unpack V_PK_MOV_B32 (PR #163464)

Akash Dutta via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 25 15:57:21 PDT 2026


================
@@ -596,6 +600,37 @@ bool SIPreEmitPeephole::removeRedundantModeWrites(
   return Changed;
 }
 
+// If support is extended to new operations, add tests in
+// llvm/test/CodeGen/AMDGPU/unpack-non-coissue-insts-post-ra-scheduler.mir.
+
+bool SIPreEmitPeephole::canSourceClobberRegister(
+    const MachineInstr &MI, Register UnpackedDstReg, AMDGPU::OpName SrcName,
+    AMDGPU::OpName ModsName) const {
+  const MachineOperand *SrcMO = TII->getNamedOperand(MI, SrcName);
+  if (!SrcMO || !SrcMO->isReg())
+    return false;
+
+  Register SrcReg = SrcMO->getReg();
+  unsigned SrcMods = TII->getNamedOperand(MI, ModsName)->getImm();
+  Register HiSrcReg = (SrcMods & SISrcMods::OP_SEL_1)
+                          ? TRI->getSubReg(SrcReg, AMDGPU::sub1)
+                          : TRI->getSubReg(SrcReg, AMDGPU::sub0);
+  return TRI->regsOverlap(UnpackedDstReg, HiSrcReg);
+}
+
+bool SIPreEmitPeephole::hasUnsupportedVPKMovModifiers(
----------------
akadutta wrote:

done

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


More information about the llvm-commits mailing list