AMDGPU: Correct definitions for global saddr instructions
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 12 Aug 2020 00:38:40 +0000 (20:38 -0400)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 15 Aug 2020 16:11:57 +0000 (12:11 -0400)
commit47af1ac69af90f87ad6e365310db6d1e2b28be9e
tree2fa04790fe263c37a82bba6d06f8d877d1400344
parent79298a506707a2cfcffdd7b0346322e5d90776fc
AMDGPU: Correct definitions for global saddr instructions

The VGPR component is a 32-bit offset, not 64-bits.

I'm not sure what the correct syntax is for this. This maintains the
vaddr position and leaves saddr in the end "off" position. This is
particularly terrible for stores, since the operand order is now <vgpr
offset>, <data>, <sgpr base>, splitting the pointer operands. I
suppose this is a logical consequence from the mistake of not putting
the data operand first. I'm not sure what sp3 does.
llvm/lib/Target/AMDGPU/FLATInstructions.td
llvm/test/CodeGen/AMDGPU/sdwa-ops.mir
llvm/test/MC/AMDGPU/flat-global.s
llvm/test/MC/AMDGPU/gfx1030_new.s
llvm/test/MC/Disassembler/AMDGPU/flat_gfx9.txt
llvm/test/MC/Disassembler/AMDGPU/gfx1030_dasm_new.txt
llvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt