[llvm] [AMDGPU] Allocate i1 argument to SGPRs (PR #72461)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 6 02:27:41 PST 2024


================
@@ -29,6 +29,39 @@
 
 using namespace llvm;
 
+static bool CC_AMDGPU_Custom_I1(unsigned ValNo, MVT ValVT, MVT LocVT,
+                                CCValAssign::LocInfo LocInfo,
+                                ISD::ArgFlagsTy ArgFlags, CCState &State) {
+  static bool IsWave64 = static_cast<const GCNSubtarget &>(
+                             State.getMachineFunction().getSubtarget())
+                             .isWave64();
+
+  static const MCPhysReg I1RegList1[] = {
+      AMDGPU::SGPR0_SGPR1,   AMDGPU::SGPR2_SGPR3,   AMDGPU::SGPR4_SGPR5,
----------------
arsenm wrote:

Yes, you have to unroll them into the 32-bit pieces and reassemble the virtual register 

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


More information about the llvm-commits mailing list