[llvm] [AMDGPU][GlobalISel] Improve combining on v_ldexp (PR #190236)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 23 04:25:55 PDT 2026
================
@@ -498,17 +502,29 @@ bool AMDGPUCombinerHelper::matchCombineFmulWithSelectToFldexp(
if (SelectFalseLog2Val == INT_MIN)
return false;
- MatchInfo = [=, &MI](MachineIRBuilder &Builder) {
+ MatchInfo = [=, &MI, &MRI](MachineIRBuilder &Builder) {
LLT IntDestTy = DestTy.changeElementType(LLT::scalar(32));
auto NewSel = Builder.buildSelect(
IntDestTy, SelectCondReg,
Builder.buildConstant(IntDestTy, SelectTrueLog2Val),
Builder.buildConstant(IntDestTy, SelectFalseLog2Val));
+ const auto *RegBank = MRI.getRegBankOrNull(Dst);
+ if (RegBank) {
+ auto &MutMRI = Builder.getMF().getRegInfo();
+ MutMRI.setRegBank(NewSel.getReg(0), *RegBank);
+ MutMRI.setRegBank(NewSel->getOperand(2).getReg(), *RegBank);
+ MutMRI.setRegBank(NewSel->getOperand(3).getReg(), *RegBank);
+ }
+
Register XReg = MI.getOperand(1).getReg();
if (SelectTrueVal->isNegative()) {
auto NegX =
Builder.buildFNeg(DestTy, XReg, MRI.getVRegDef(XReg)->getFlags());
+ if (RegBank) {
+ auto &MutMRI = Builder.getMF().getRegInfo();
----------------
arsenm wrote:
Same
https://github.com/llvm/llvm-project/pull/190236
More information about the llvm-commits
mailing list