[llvm] [AMDGPU] Remove setcc by using add/sub carryout (PR #155255)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 18 07:23:48 PDT 2025
================
@@ -5959,9 +5962,13 @@ SITargetLowering::EmitInstrWithCustomInserter(MachineInstr &MI,
.add(Src1);
// clang-format on
- BuildMI(*BB, MI, DL, TII->get(AMDGPU::S_CSELECT_B64), Dest1.getReg())
- .addImm(1)
- .addImm(0);
+ const TargetRegisterClass *Dest1RC = MRI.getRegClass(Dest1.getReg());
+ unsigned Dest1Size = TRI->getRegSizeInBits(*Dest1RC);
+ assert(Dest1Size == 64 || Dest1Size == 32);
+ unsigned SelOpc =
+ (Dest1Size == 64) ? AMDGPU::S_CSELECT_B64 : AMDGPU::S_CSELECT_B32;
+
----------------
arsenm wrote:
These pseudos are defined with 32-bit registers, not sure why you have code to check the register size or handle 64-bit. This is implied by the opcode already
https://github.com/llvm/llvm-project/pull/155255
More information about the llvm-commits
mailing list