[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