[llvm] AMDGPU/GlobalISel: Fix tablegen definition for G_AMDGPU_LOAD_D16 (PR #158039)

Petar Avramovic via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 11 05:24:08 PDT 2025


================
@@ -4404,7 +4404,7 @@ def G_AMDGPU_TBUFFER_LOAD_FORMAT_D16 : TBufferLoadGenericInstruction;
 
 class D16LoadGenericInstruction : AMDGPUGenericInstruction {
   let OutOperandList = (outs type0:$dst);
-  let InOperandList = (ins ptype1:$addr);
+  let InOperandList = (ins ptype1:$addr, type0:$src);
   let hasSideEffects = 0;
   let mayLoad = 1;
----------------
petar-avramovic wrote:

No need, there is nothing in global-isel that would make use of it. These are only used to inst-select D16 pseudos, and pseudos have tied-def 0:
```
  %8:vgpr(<2 x s16>) = G_AMDGPU_LOAD_D16_HI %1:vgpr(p0), %0:vgpr :: (load (s16) from %ir.ptra)
->
  %8:vgpr_32 = FLAT_LOAD_SHORT_D16_HI %1:vreg_64, 0, 0, %0:vgpr_32(tied-def 0), implicit $exec, implicit $flat_scr :: (load (s16) from %ir.ptra)
```

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


More information about the llvm-commits mailing list