[llvm] [AMDGPU][True16] Fix MadMix selection (PR #205431)
Petar Avramovic via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 31 06:13:30 PDT 2026
================
@@ -7244,12 +7277,19 @@ AMDGPUInstructionSelector::selectVOP3PMadMixModsExt(
Register Src;
unsigned Mods;
bool Matched;
- std::tie(Src, Mods) = selectVOP3PMadMixModsImpl(Root, Matched);
+ bool NeedsWiden;
+ std::tie(Src, Mods) = selectVOP3PMadMixModsImpl(Root, Matched, NeedsWiden);
if (!Matched)
return {};
+ MachineRegisterInfo *RegInfo = MRI;
return {{
- [=](MachineInstrBuilder &MIB) { MIB.addReg(Src); },
+ [=](MachineInstrBuilder &MIB) {
+ Register Reg = Src;
+ if (NeedsWiden)
+ Reg = createVOP3PSrc32FromLo16(Src, MIB.getInstr(), *RegInfo);
----------------
petar-avramovic wrote:
this still creates instruction in complex pattern cpp, complex pattern should match not create new instructions
https://github.com/llvm/llvm-project/pull/205431
More information about the llvm-commits
mailing list