diff --git a/llvm/lib/Target/AMDGPU/SMInstructions.td b/llvm/lib/Target/AMDGPU/SMInstructions.td --- a/llvm/lib/Target/AMDGPU/SMInstructions.td +++ b/llvm/lib/Target/AMDGPU/SMInstructions.td @@ -54,8 +54,8 @@ bit is_buffer = 0; } -class SM_Real - : InstSI { +class SM_Real + : InstSI { let isPseudo = 0; let isCodeGenOnly = 0; @@ -903,21 +903,25 @@ // GFX10. //===----------------------------------------------------------------------===// -class SMEM_Real_gfx10 op, SM_Pseudo ps> : - SM_Real, SIMCInstr, Enc64 { - let AssemblerPredicate = isGFX10Plus; - let DecoderNamespace = "GFX10"; - +class SMEM_Real_10Plus_common op, SM_Pseudo ps, string opName, int subtarget> : + SM_Real, SIMCInstr, Enc64 { let Inst{5-0} = !if(ps.has_sbase, sbase{6-1}, ?); let Inst{12-6} = !if(ps.has_sdst, sdst{6-0}, ?); - let Inst{14} = !if(ps.has_dlc, cpol{CPolBit.DLC}, ?); - let Inst{16} = !if(ps.has_glc, cpol{CPolBit.GLC}, ?); let Inst{25-18} = op; let Inst{31-26} = 0x3d; - // There are SMEM instructions that do not employ any of the offset // fields, in which case we need them to remain undefined. let Inst{52-32} = !if(ps.has_offset, offset{20-0}, !if(ps.has_soffset, 0, ?)); +} + +class SMEM_Real_gfx10 op, SM_Pseudo ps> + : SMEM_Real_10Plus_common { + let AssemblerPredicate = isGFX10Only; + let DecoderNamespace = "GFX10"; + let Inst{14} = !if(ps.has_dlc, cpol{CPolBit.DLC}, ?); + let Inst{16} = !if(ps.has_glc, cpol{CPolBit.GLC}, ?); + // There are SMEM instructions that do not employ any of the offset + // fields, in which case we need them to remain undefined. let Inst{63-57} = !if(ps.has_soffset, soffset{6-0}, !if(ps.has_offset, !cast(SGPR_NULL_gfxpre11.HWEncoding), ?)); } @@ -1109,3 +1113,62 @@ let PrimaryKey = ["Opcode"]; let PrimaryKeyName = "getSMEMOpcodeHelper"; } + +//===----------------------------------------------------------------------===// +// GFX11. +//===----------------------------------------------------------------------===// + +class SMEM_Real_gfx11 op, SM_Pseudo ps, string opName = ps.Mnemonic> : + SMEM_Real_10Plus_common { + let AssemblerPredicate = isGFX11Plus; + let DecoderNamespace = "GFX11"; + let Inst{13} = !if(ps.has_dlc, cpol{CPolBit.DLC}, 0); + let Inst{14} = !if(ps.has_glc, cpol{CPolBit.GLC}, 0); + // There are SMEM instructions that do not employ any of the offset + // fields, in which case we need them to remain undefined. + let Inst{63-57} = !if(ps.has_soffset, soffset{6-0}, + !if(ps.has_offset, !cast(SGPR_NULL_gfx11plus.HWEncoding), ?)); +} + +multiclass SM_Real_Loads_gfx11 op, string ps, string opName, + SM_Load_Pseudo immPs = !cast(ps#_IMM), + SM_Load_Pseudo sgprPs = !cast(ps#_SGPR)> { + def _IMM_gfx11 : SMEM_Real_gfx11 { + let InOperandList = (ins immPs.BaseClass:$sbase, smem_offset:$offset, CPol:$cpol); + } + def _SGPR_gfx11 : SMEM_Real_gfx11 { + let InOperandList = (ins sgprPs.BaseClass:$sbase, SReg_32:$soffset, CPol:$cpol); + } + def : MnemonicAlias, Requires<[isGFX11Plus]>; +} + +defm S_LOAD_B32 : SM_Real_Loads_gfx11<0x000, "S_LOAD_DWORD", "s_load_b32">; +defm S_LOAD_B64 : SM_Real_Loads_gfx11<0x001, "S_LOAD_DWORDX2", "s_load_b64">; +defm S_LOAD_B128 : SM_Real_Loads_gfx11<0x002, "S_LOAD_DWORDX4", "s_load_b128">; +defm S_LOAD_B256 : SM_Real_Loads_gfx11<0x003, "S_LOAD_DWORDX8", "s_load_b256">; +defm S_LOAD_B512 : SM_Real_Loads_gfx11<0x004, "S_LOAD_DWORDX16", "s_load_b512">; + +defm S_BUFFER_LOAD_B32 : SM_Real_Loads_gfx11<0x008, "S_BUFFER_LOAD_DWORD", "s_buffer_load_b32">; +defm S_BUFFER_LOAD_B64 : SM_Real_Loads_gfx11<0x009, "S_BUFFER_LOAD_DWORDX2", "s_buffer_load_b64">; +defm S_BUFFER_LOAD_B128 : SM_Real_Loads_gfx11<0x00a, "S_BUFFER_LOAD_DWORDX4", "s_buffer_load_b128">; +defm S_BUFFER_LOAD_B256 : SM_Real_Loads_gfx11<0x00b, "S_BUFFER_LOAD_DWORDX8", "s_buffer_load_b256">; +defm S_BUFFER_LOAD_B512 : SM_Real_Loads_gfx11<0x00c, "S_BUFFER_LOAD_DWORDX16", "s_buffer_load_b512">; + +def S_GL1_INV_gfx11 : SMEM_Real_gfx11<0x020, S_GL1_INV>; +def S_DCACHE_INV_gfx11 : SMEM_Real_gfx11<0x021, S_DCACHE_INV>; + +class SMEM_Real_Store_gfx11 op, SM_Pseudo ps> : SMEM_Real_gfx11 { + // encoding + bits<7> sdata; + + let sdst = ?; + let Inst{12-6} = !if(ps.has_sdst, sdata{6-0}, ?); +} + +multiclass SM_Real_Probe_gfx11 op, string ps> { + def _IMM_gfx11 : SMEM_Real_Store_gfx11 (ps#_IMM)>; + def _SGPR_gfx11 : SMEM_Real_Store_gfx11 (ps#_SGPR)>; +} + +defm S_ATC_PROBE : SM_Real_Probe_gfx11 <0x22, "S_ATC_PROBE">; +defm S_ATC_PROBE_BUFFER : SM_Real_Probe_gfx11 <0x23, "S_ATC_PROBE_BUFFER">; diff --git a/llvm/test/MC/AMDGPU/gfx11_asm_smem.s b/llvm/test/MC/AMDGPU/gfx11_asm_smem.s new file mode 100644 --- /dev/null +++ b/llvm/test/MC/AMDGPU/gfx11_asm_smem.s @@ -0,0 +1,1194 @@ +// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1100 -show-encoding %s | FileCheck --check-prefixes=GFX11 %s +// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1100 %s 2>&1 | FileCheck --check-prefixes=GFX11-ERR --implicit-check-not=error: %s + +//===----------------------------------------------------------------------===// +// ENC_SMEM. +//===----------------------------------------------------------------------===// + +s_load_b32 s5, s[2:3], s0 +// GFX11: encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_b32 s101, s[2:3], s0 +// GFX11: encoding: [0x41,0x19,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_b32 vcc_lo, s[2:3], s0 +// GFX11: encoding: [0x81,0x1a,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_b32 vcc_hi, s[2:3], s0 +// GFX11: encoding: [0xc1,0x1a,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_b32 s5, s[4:5], s0 +// GFX11: encoding: [0x42,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_b32 s5, s[100:101], s0 +// GFX11: encoding: [0x72,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_b32 s5, vcc, s0 +// GFX11: encoding: [0x75,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_b32 s5, s[2:3], s101 +// GFX11: encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xca] + +s_load_b32 s5, s[2:3], vcc_lo +// GFX11: encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xd4] + +s_load_b32 s5, s[2:3], vcc_hi +// GFX11: encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xd6] + +s_load_b32 s5, s[2:3], m0 +// GFX11: encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xfa] + +s_load_b32 s5, s[2:3], 0x0 +// GFX11: encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xf8] + +s_load_b32 s5, s[2:3], s0 glc +// GFX11: encoding: [0x41,0x41,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_b32 s5, s[2:3], s0 dlc +// GFX11: encoding: [0x41,0x21,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_b32 s5, s[2:3], s0 glc dlc +// GFX11: encoding: [0x41,0x61,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_b32 s5, s[2:3], 0x1234 glc dlc +// GFX11: encoding: [0x41,0x61,0x00,0xf4,0x34,0x12,0x00,0xf8] + +s_load_b64 s[10:11], s[2:3], s0 +// GFX11: encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_b64 s[12:13], s[2:3], s0 +// GFX11: encoding: [0x01,0x03,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_b64 s[100:101], s[2:3], s0 +// GFX11: encoding: [0x01,0x19,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_b64 vcc, s[2:3], s0 +// GFX11: encoding: [0x81,0x1a,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_b64 s[10:11], s[4:5], s0 +// GFX11: encoding: [0x82,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_b64 s[10:11], s[100:101], s0 +// GFX11: encoding: [0xb2,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_b64 s[10:11], vcc, s0 +// GFX11: encoding: [0xb5,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_b64 s[10:11], s[2:3], s101 +// GFX11: encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xca] + +s_load_b64 s[10:11], s[2:3], vcc_lo +// GFX11: encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xd4] + +s_load_b64 s[10:11], s[2:3], vcc_hi +// GFX11: encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xd6] + +s_load_b64 s[10:11], s[2:3], m0 +// GFX11: encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xfa] + +s_load_b64 s[10:11], s[2:3], 0x0 +// GFX11: encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xf8] + +s_load_b64 s[10:11], s[2:3], s0 glc +// GFX11: encoding: [0x81,0x42,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_b64 s[10:11], s[2:3], s0 dlc +// GFX11: encoding: [0x81,0x22,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_b64 s[10:11], s[2:3], s0 glc dlc +// GFX11: encoding: [0x81,0x62,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_b64 s[10:11], s[2:3], 0x1234 glc dlc +// GFX11: encoding: [0x81,0x62,0x04,0xf4,0x34,0x12,0x00,0xf8] + +s_load_b128 s[20:23], s[2:3], s0 +// GFX11: encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_b128 s[24:27], s[2:3], s0 +// GFX11: encoding: [0x01,0x06,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_b128 s[96:99], s[2:3], s0 +// GFX11: encoding: [0x01,0x18,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_b128 s[20:23], s[4:5], s0 +// GFX11: encoding: [0x02,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_b128 s[20:23], s[100:101], s0 +// GFX11: encoding: [0x32,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_b128 s[20:23], vcc, s0 +// GFX11: encoding: [0x35,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_b128 s[20:23], s[2:3], s101 +// GFX11: encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xca] + +s_load_b128 s[20:23], s[2:3], vcc_lo +// GFX11: encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xd4] + +s_load_b128 s[20:23], s[2:3], vcc_hi +// GFX11: encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xd6] + +s_load_b128 s[20:23], s[2:3], m0 +// GFX11: encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xfa] + +s_load_b128 s[20:23], s[2:3], 0x0 +// GFX11: encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xf8] + +s_load_b128 s[20:23], s[2:3], s0 glc +// GFX11: encoding: [0x01,0x45,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_b128 s[20:23], s[2:3], s0 dlc +// GFX11: encoding: [0x01,0x25,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_b128 s[20:23], s[2:3], s0 glc dlc +// GFX11: encoding: [0x01,0x65,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_b128 s[20:23], s[2:3], 0x1234 glc dlc +// GFX11: encoding: [0x01,0x65,0x08,0xf4,0x34,0x12,0x00,0xf8] + +s_load_b256 s[20:27], s[2:3], s0 +// GFX11: encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_b256 s[24:31], s[2:3], s0 +// GFX11: encoding: [0x01,0x06,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_b256 s[92:99], s[2:3], s0 +// GFX11: encoding: [0x01,0x17,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_b256 s[20:27], s[4:5], s0 +// GFX11: encoding: [0x02,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_b256 s[20:27], s[100:101], s0 +// GFX11: encoding: [0x32,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_b256 s[20:27], vcc, s0 +// GFX11: encoding: [0x35,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_b256 s[20:27], s[2:3], s101 +// GFX11: encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xca] + +s_load_b256 s[20:27], s[2:3], vcc_lo +// GFX11: encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xd4] + +s_load_b256 s[20:27], s[2:3], vcc_hi +// GFX11: encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xd6] + +s_load_b256 s[20:27], s[2:3], m0 +// GFX11: encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xfa] + +s_load_b256 s[20:27], s[2:3], 0x0 +// GFX11: encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xf8] + +s_load_b256 s[20:27], s[2:3], s0 glc +// GFX11: encoding: [0x01,0x45,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_b256 s[20:27], s[2:3], s0 dlc +// GFX11: encoding: [0x01,0x25,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_b256 s[20:27], s[2:3], s0 glc dlc +// GFX11: encoding: [0x01,0x65,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_b256 s[20:27], s[2:3], 0x1234 glc dlc +// GFX11: encoding: [0x01,0x65,0x0c,0xf4,0x34,0x12,0x00,0xf8] + +s_load_b512 s[20:35], s[2:3], s0 +// GFX11: encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_b512 s[24:39], s[2:3], s0 +// GFX11: encoding: [0x01,0x06,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_b512 s[84:99], s[2:3], s0 +// GFX11: encoding: [0x01,0x15,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_b512 s[20:35], s[4:5], s0 +// GFX11: encoding: [0x02,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_b512 s[20:35], s[100:101], s0 +// GFX11: encoding: [0x32,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_b512 s[20:35], vcc, s0 +// GFX11: encoding: [0x35,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_b512 s[20:35], s[2:3], s101 +// GFX11: encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xca] + +s_load_b512 s[20:35], s[2:3], vcc_lo +// GFX11: encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xd4] + +s_load_b512 s[20:35], s[2:3], vcc_hi +// GFX11: encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xd6] + +s_load_b512 s[20:35], s[2:3], m0 +// GFX11: encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xfa] + +s_load_b512 s[20:35], s[2:3], 0x0 +// GFX11: encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xf8] + +s_load_b512 s[20:35], s[2:3], s0 glc +// GFX11: encoding: [0x01,0x45,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_b512 s[20:35], s[2:3], s0 dlc +// GFX11: encoding: [0x01,0x25,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_b512 s[20:35], s[2:3], s0 glc dlc +// GFX11: encoding: [0x01,0x65,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_b512 s[20:35], s[2:3], 0x1234 glc dlc +// GFX11: encoding: [0x01,0x65,0x10,0xf4,0x34,0x12,0x00,0xf8] + +s_buffer_load_b32 s5, s[4:7], s0 +// GFX11: encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b32 s101, s[4:7], s0 +// GFX11: encoding: [0x42,0x19,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b32 vcc_lo, s[4:7], s0 +// GFX11: encoding: [0x82,0x1a,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b32 vcc_hi, s[4:7], s0 +// GFX11: encoding: [0xc2,0x1a,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b32 s5, s[8:11], s0 +// GFX11: encoding: [0x44,0x01,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b32 s5, s[96:99], s0 +// GFX11: encoding: [0x70,0x01,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b32 s5, s[4:7], s101 +// GFX11: encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xca] + +s_buffer_load_b32 s5, s[4:7], vcc_lo +// GFX11: encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xd4] + +s_buffer_load_b32 s5, s[4:7], vcc_hi +// GFX11: encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xd6] + +s_buffer_load_b32 s5, s[4:7], m0 +// GFX11: encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xfa] + +s_buffer_load_b32 s5, s[4:7], 0x0 +// GFX11: encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xf8] + +s_buffer_load_b32 s5, s[4:7], s0 glc +// GFX11: encoding: [0x42,0x41,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b32 s5, s[4:7], s0 dlc +// GFX11: encoding: [0x42,0x21,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b32 s5, s[4:7], s0 glc dlc +// GFX11: encoding: [0x42,0x61,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b32 s5, s[4:7], 0x1234 glc dlc +// GFX11: encoding: [0x42,0x61,0x20,0xf4,0x34,0x12,0x00,0xf8] + +s_buffer_load_b64 s[10:11], s[4:7], s0 +// GFX11: encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b64 s[12:13], s[4:7], s0 +// GFX11: encoding: [0x02,0x03,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b64 s[100:101], s[4:7], s0 +// GFX11: encoding: [0x02,0x19,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b64 vcc, s[4:7], s0 +// GFX11: encoding: [0x82,0x1a,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b64 s[10:11], s[8:11], s0 +// GFX11: encoding: [0x84,0x02,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b64 s[10:11], s[96:99], s0 +// GFX11: encoding: [0xb0,0x02,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b64 s[10:11], s[4:7], s101 +// GFX11: encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xca] + +s_buffer_load_b64 s[10:11], s[4:7], vcc_lo +// GFX11: encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xd4] + +s_buffer_load_b64 s[10:11], s[4:7], vcc_hi +// GFX11: encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xd6] + +s_buffer_load_b64 s[10:11], s[4:7], m0 +// GFX11: encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xfa] + +s_buffer_load_b64 s[10:11], s[4:7], 0x0 +// GFX11: encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xf8] + +s_buffer_load_b64 s[10:11], s[4:7], s0 glc +// GFX11: encoding: [0x82,0x42,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b64 s[10:11], s[4:7], s0 dlc +// GFX11: encoding: [0x82,0x22,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b64 s[10:11], s[4:7], s0 glc dlc +// GFX11: encoding: [0x82,0x62,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b64 s[10:11], s[4:7], 0x1234 glc dlc +// GFX11: encoding: [0x82,0x62,0x24,0xf4,0x34,0x12,0x00,0xf8] + +s_buffer_load_b128 s[20:23], s[4:7], s0 +// GFX11: encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b128 s[24:27], s[4:7], s0 +// GFX11: encoding: [0x02,0x06,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b128 s[96:99], s[4:7], s0 +// GFX11: encoding: [0x02,0x18,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b128 s[20:23], s[8:11], s0 +// GFX11: encoding: [0x04,0x05,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b128 s[20:23], s[96:99], s0 +// GFX11: encoding: [0x30,0x05,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b128 s[20:23], s[4:7], s101 +// GFX11: encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xca] + +s_buffer_load_b128 s[20:23], s[4:7], vcc_lo +// GFX11: encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xd4] + +s_buffer_load_b128 s[20:23], s[4:7], vcc_hi +// GFX11: encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xd6] + +s_buffer_load_b128 s[20:23], s[4:7], m0 +// GFX11: encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xfa] + +s_buffer_load_b128 s[20:23], s[4:7], 0x0 +// GFX11: encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xf8] + +s_buffer_load_b128 s[20:23], s[4:7], s0 glc +// GFX11: encoding: [0x02,0x45,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b128 s[20:23], s[4:7], s0 dlc +// GFX11: encoding: [0x02,0x25,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b128 s[20:23], s[4:7], s0 glc dlc +// GFX11: encoding: [0x02,0x65,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b128 s[20:23], s[4:7], 0x1234 glc dlc +// GFX11: encoding: [0x02,0x65,0x28,0xf4,0x34,0x12,0x00,0xf8] + +s_buffer_load_b256 s[20:27], s[4:7], s0 +// GFX11: encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b256 s[24:31], s[4:7], s0 +// GFX11: encoding: [0x02,0x06,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b256 s[92:99], s[4:7], s0 +// GFX11: encoding: [0x02,0x17,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b256 s[20:27], s[8:11], s0 +// GFX11: encoding: [0x04,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b256 s[20:27], s[96:99], s0 +// GFX11: encoding: [0x30,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b256 s[20:27], s[4:7], s101 +// GFX11: encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xca] + +s_buffer_load_b256 s[20:27], s[4:7], vcc_lo +// GFX11: encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xd4] + +s_buffer_load_b256 s[20:27], s[4:7], vcc_hi +// GFX11: encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xd6] + +s_buffer_load_b256 s[20:27], s[4:7], m0 +// GFX11: encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xfa] + +s_buffer_load_b256 s[20:27], s[4:7], 0x0 +// GFX11: encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xf8] + +s_buffer_load_b256 s[20:27], s[4:7], s0 glc +// GFX11: encoding: [0x02,0x45,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b256 s[20:27], s[4:7], s0 dlc +// GFX11: encoding: [0x02,0x25,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b256 s[20:27], s[4:7], s0 glc dlc +// GFX11: encoding: [0x02,0x65,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b256 s[20:27], s[4:7], 0x1234 glc dlc +// GFX11: encoding: [0x02,0x65,0x2c,0xf4,0x34,0x12,0x00,0xf8] + +s_buffer_load_b512 s[20:35], s[4:7], s0 +// GFX11: encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b512 s[24:39], s[4:7], s0 +// GFX11: encoding: [0x02,0x06,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b512 s[84:99], s[4:7], s0 +// GFX11: encoding: [0x02,0x15,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b512 s[20:35], s[8:11], s0 +// GFX11: encoding: [0x04,0x05,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b512 s[20:35], s[96:99], s0 +// GFX11: encoding: [0x30,0x05,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b512 s[20:35], s[4:7], s101 +// GFX11: encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xca] + +s_buffer_load_b512 s[20:35], s[4:7], vcc_lo +// GFX11: encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xd4] + +s_buffer_load_b512 s[20:35], s[4:7], vcc_hi +// GFX11: encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xd6] + +s_buffer_load_b512 s[20:35], s[4:7], m0 +// GFX11: encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xfa] + +s_buffer_load_b512 s[20:35], s[4:7], 0x0 +// GFX11: encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xf8] + +s_buffer_load_b512 s[20:35], s[4:7], s0 glc +// GFX11: encoding: [0x02,0x45,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b512 s[20:35], s[4:7], s0 dlc +// GFX11: encoding: [0x02,0x25,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b512 s[20:35], s[4:7], s0 glc dlc +// GFX11: encoding: [0x02,0x65,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_b512 s[20:35], s[4:7], 0x1234 glc dlc +// GFX11: encoding: [0x02,0x65,0x30,0xf4,0x34,0x12,0x00,0xf8] + +s_dcache_inv +// GFX11: encoding: [0x00,0x00,0x84,0xf4,0x00,0x00,0x00,0x00] + +s_gl1_inv +// GFX11: encoding: [0x00,0x00,0x80,0xf4,0x00,0x00,0x00,0x00] + +s_atc_probe 7, s[4:5], s2 +// GFX11: encoding: [0xc2,0x01,0x88,0xf4,0x00,0x00,0x00,0x04] + +s_atc_probe 7, s[4:5], 0x64 +// GFX11: encoding: [0xc2,0x01,0x88,0xf4,0x64,0x00,0x00,0xf8] + +s_atc_probe_buffer 7, s[8:11], s2 +// GFX11: encoding: [0xc4,0x01,0x8c,0xf4,0x00,0x00,0x00,0x04] + +s_atc_probe_buffer 7, s[8:11], 0x64 +// GFX11: encoding: [0xc4,0x01,0x8c,0xf4,0x64,0x00,0x00,0xf8] + +s_store_dword s1, s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s101, s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword vcc_lo, s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword vcc_hi, s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, s[6:7], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, s[100:101], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, vcc, s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, s[4:5], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, s[4:5], vcc_lo +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, s[4:5], vcc_hi +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, s[4:5], m0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, s[4:5], 0x0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, s[4:5], s0 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, s[4:5], s0 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, s[4:5], s0 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dword s1, s[4:5], 0x1234 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[4:5], s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[100:101], s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 vcc, s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[6:7], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[100:101], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], vcc, s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[4:5], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[4:5], vcc_lo +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[4:5], vcc_hi +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[4:5], m0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[4:5], 0x0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[4:5], s0 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[4:5], s0 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[4:5], s0 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx2 s[2:3], s[4:5], 0x1234 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[8:11], s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[96:99], s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[6:7], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[100:101], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], vcc, s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[4:5], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[4:5], vcc_lo +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[4:5], vcc_hi +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[4:5], m0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[4:5], 0x0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[4:5], s0 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[4:5], s0 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[4:5], s0 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_store_dwordx4 s[4:7], s[4:5], 0x1234 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[8:11], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s101, s[8:11], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword vcc_lo, s[8:11], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword vcc_hi, s[8:11], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[12:15], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[96:99], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[8:11], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[8:11], vcc_lo +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[8:11], vcc_hi +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[8:11], m0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[8:11], 0x0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[8:11], s0 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[8:11], s0 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[8:11], s0 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dword s1, s[8:11], 0x1234 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[8:11], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[4:5], s[8:11], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[100:101], s[8:11], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 vcc, s[8:11], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[12:15], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[96:99], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[8:11], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[8:11], vcc_lo +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[8:11], vcc_hi +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[8:11], m0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[8:11], 0x0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[8:11], s0 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[8:11], s0 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[8:11], s0 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx2 s[2:3], s[8:11], 0x1234 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[8:11], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[8:11], s[8:11], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[96:99], s[8:11], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[12:15], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[96:99], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[8:11], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[8:11], vcc_lo +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[8:11], vcc_hi +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[8:11], m0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[8:11], 0x0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[8:11], s0 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[8:11], s0 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[8:11], s0 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_store_dwordx4 s[4:7], s[8:11], 0x1234 glc dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_memrealtime s[10:11] +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_memrealtime s[12:13] +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_memrealtime s[100:101] +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_memrealtime vcc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_memtime s[10:11] +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_memtime s[12:13] +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_memtime s[100:101] +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_memtime vcc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_dcache_wb +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_get_waveid_in_workgroup s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_get_waveid_in_workgroup vcc_lo +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_scratch_load_dword s5, s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_scratch_load_dword s5, s[2:3], s0 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_scratch_load_dwordx2 s[100:101], s[2:3], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_scratch_load_dwordx2 s[10:11], s[2:3], 0x1 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_scratch_load_dwordx4 s[20:23], s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_scratch_store_dword s101, s[4:5], s0 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_scratch_store_dword s1, s[4:5], 0x123 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_dcache_discard s[2:3], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_dcache_discard s[2:3], 100 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_dcache_discard_x2 s[2:3], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_dcache_discard_x2 s[2:3], 100 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_add s5, s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_add s5, s[2:3], 0x64 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_add_x2 s[10:11], s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_and s5, s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_and_x2 s[10:11], s[2:3], 0x64 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap s[10:11], s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap s[10:11], s[2:3], 0x64 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap_x2 s[20:23], s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap_x2 s[20:23], s[2:3], 0x64 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_dec_x2 s[10:11], s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_inc_x2 s[10:11], s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_or s5, s[2:3], 0x64 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_smax s5, s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_smin s5, s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_sub s5, s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_swap s5, s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_umax_x2 s[10:11], s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_umin s5, s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_xor s5, s[2:3], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_add s5, s[4:7], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_add s5, s[4:7], 0x64 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_add_x2 s[10:11], s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_and s101, s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_and_x2 s[10:11], s[8:11], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap s[10:11], s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap s[10:11], s[4:7], 0x64 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], 0x64 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_dec s5, s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_inc s101, s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_inc_x2 s[10:11], s[4:7], 0x64 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_or s5, s[8:11], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_or_x2 s[10:11], s[96:99], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smax s5, s[4:7], s101 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smax_x2 s[100:101], s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smin s5, s[4:7], 0x64 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smin_x2 s[12:13], s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_sub_x2 s[10:11], s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_swap s5, s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_umax s5, s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_umin s5, s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_xor s5, s[4:7], s2 +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_add s5, s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_add s5, s[2:3], 0x64 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_add_x2 s[10:11], s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_and s5, s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_and_x2 s[10:11], s[2:3], 0x64 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap s[10:11], s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap s[10:11], s[2:3], 0x64 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap_x2 s[20:23], s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap_x2 s[20:23], s[2:3], 0x64 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_dec_x2 s[10:11], s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_inc_x2 s[10:11], s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_or s5, s[2:3], 0x64 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_smax s5, s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_smin s5, s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_sub s5, s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_swap s5, s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_umax_x2 s[10:11], s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_umin s5, s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_xor s5, s[2:3], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_add s5, s[4:7], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_add s5, s[4:7], 0x64 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_add_x2 s[10:11], s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_and s101, s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_and_x2 s[10:11], s[8:11], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap s[10:11], s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap s[10:11], s[4:7], 0x64 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], 0x64 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_dec s5, s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_inc s101, s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_inc_x2 s[10:11], s[4:7], 0x64 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_or s5, s[8:11], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_or_x2 s[10:11], s[96:99], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smax s5, s[4:7], s101 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smax_x2 s[100:101], s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smin s5, s[4:7], 0x64 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smin_x2 s[12:13], s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_sub_x2 s[10:11], s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_swap s5, s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_umax s5, s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_umin s5, s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_xor s5, s[4:7], s2 glc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_add s5, s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_add s5, s[2:3], 0x64 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_add_x2 s[10:11], s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_and s5, s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_and_x2 s[10:11], s[2:3], 0x64 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap s[10:11], s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap s[10:11], s[2:3], 0x64 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap_x2 s[20:23], s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_cmpswap_x2 s[20:23], s[2:3], 0x64 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_dec_x2 s[10:11], s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_inc_x2 s[10:11], s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_or s5, s[2:3], 0x64 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_smax s5, s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_smin s5, s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_sub s5, s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_swap s5, s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_umax_x2 s[10:11], s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_umin s5, s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_atomic_xor s5, s[2:3], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_add s5, s[4:7], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_add s5, s[4:7], 0x64 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_add_x2 s[10:11], s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_and s101, s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_and_x2 s[10:11], s[8:11], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap s[10:11], s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap s[10:11], s[4:7], 0x64 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], 0x64 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_dec s5, s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_inc s101, s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_inc_x2 s[10:11], s[4:7], 0x64 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_or s5, s[8:11], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_or_x2 s[10:11], s[96:99], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smax s5, s[4:7], s101 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smax_x2 s[100:101], s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smin s5, s[4:7], 0x64 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_smin_x2 s[12:13], s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_sub_x2 s[10:11], s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_swap s5, s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_umax s5, s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_umin s5, s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU + +s_buffer_atomic_xor s5, s[4:7], s2 dlc +// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU diff --git a/llvm/test/MC/AMDGPU/gfx11_asm_smem_alias.s b/llvm/test/MC/AMDGPU/gfx11_asm_smem_alias.s new file mode 100644 --- /dev/null +++ b/llvm/test/MC/AMDGPU/gfx11_asm_smem_alias.s @@ -0,0 +1,452 @@ +// RUN: llvm-mc -arch=amdgcn -mcpu=gfx1100 -show-encoding %s | FileCheck --check-prefixes=GFX11 %s + +//===----------------------------------------------------------------------===// +// ENC_SMEM. +//===----------------------------------------------------------------------===// + +s_load_dword s5, s[2:3], s0 +// GFX11: s_load_b32 s5, s[2:3], s0 ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_dword s101, s[2:3], s0 +// GFX11: s_load_b32 s101, s[2:3], s0 ; encoding: [0x41,0x19,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_dword vcc_lo, s[2:3], s0 +// GFX11: s_load_b32 vcc_lo, s[2:3], s0 ; encoding: [0x81,0x1a,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_dword vcc_hi, s[2:3], s0 +// GFX11: s_load_b32 vcc_hi, s[2:3], s0 ; encoding: [0xc1,0x1a,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_dword s5, s[4:5], s0 +// GFX11: s_load_b32 s5, s[4:5], s0 ; encoding: [0x42,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_dword s5, s[100:101], s0 +// GFX11: s_load_b32 s5, s[100:101], s0 ; encoding: [0x72,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_dword s5, vcc, s0 +// GFX11: s_load_b32 s5, vcc, s0 ; encoding: [0x75,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_dword s5, s[2:3], s101 +// GFX11: s_load_b32 s5, s[2:3], s101 ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xca] + +s_load_dword s5, s[2:3], vcc_lo +// GFX11: s_load_b32 s5, s[2:3], vcc_lo ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xd4] + +s_load_dword s5, s[2:3], vcc_hi +// GFX11: s_load_b32 s5, s[2:3], vcc_hi ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xd6] + +s_load_dword s5, s[2:3], m0 +// GFX11: s_load_b32 s5, s[2:3], m0 ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xfa] + +s_load_dword s5, s[2:3], 0x0 +// GFX11: s_load_b32 s5, s[2:3], 0x0 ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xf8] + +s_load_dword s5, s[2:3], s0 glc +// GFX11: s_load_b32 s5, s[2:3], s0 glc ; encoding: [0x41,0x41,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_dword s5, s[2:3], s0 dlc +// GFX11: s_load_b32 s5, s[2:3], s0 dlc ; encoding: [0x41,0x21,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_dword s5, s[2:3], s0 glc dlc +// GFX11: s_load_b32 s5, s[2:3], s0 glc dlc ; encoding: [0x41,0x61,0x00,0xf4,0x00,0x00,0x00,0x00] + +s_load_dword s5, s[2:3], 0x1234 glc dlc +// GFX11: s_load_b32 s5, s[2:3], 0x1234 glc dlc ; encoding: [0x41,0x61,0x00,0xf4,0x34,0x12,0x00,0xf8] + +s_load_dwordx2 s[10:11], s[2:3], s0 +// GFX11: s_load_b64 s[10:11], s[2:3], s0 ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx2 s[12:13], s[2:3], s0 +// GFX11: s_load_b64 s[12:13], s[2:3], s0 ; encoding: [0x01,0x03,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx2 s[100:101], s[2:3], s0 +// GFX11: s_load_b64 s[100:101], s[2:3], s0 ; encoding: [0x01,0x19,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx2 vcc, s[2:3], s0 +// GFX11: s_load_b64 vcc, s[2:3], s0 ; encoding: [0x81,0x1a,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx2 s[10:11], s[4:5], s0 +// GFX11: s_load_b64 s[10:11], s[4:5], s0 ; encoding: [0x82,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx2 s[10:11], s[100:101], s0 +// GFX11: s_load_b64 s[10:11], s[100:101], s0 ; encoding: [0xb2,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx2 s[10:11], vcc, s0 +// GFX11: s_load_b64 s[10:11], vcc, s0 ; encoding: [0xb5,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx2 s[10:11], s[2:3], s101 +// GFX11: s_load_b64 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xca] + +s_load_dwordx2 s[10:11], s[2:3], vcc_lo +// GFX11: s_load_b64 s[10:11], s[2:3], vcc_lo ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xd4] + +s_load_dwordx2 s[10:11], s[2:3], vcc_hi +// GFX11: s_load_b64 s[10:11], s[2:3], vcc_hi ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xd6] + +s_load_dwordx2 s[10:11], s[2:3], m0 +// GFX11: s_load_b64 s[10:11], s[2:3], m0 ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xfa] + +s_load_dwordx2 s[10:11], s[2:3], 0x0 +// GFX11: s_load_b64 s[10:11], s[2:3], 0x0 ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xf8] + +s_load_dwordx2 s[10:11], s[2:3], s0 glc +// GFX11: s_load_b64 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x42,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx2 s[10:11], s[2:3], s0 dlc +// GFX11: s_load_b64 s[10:11], s[2:3], s0 dlc ; encoding: [0x81,0x22,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx2 s[10:11], s[2:3], s0 glc dlc +// GFX11: s_load_b64 s[10:11], s[2:3], s0 glc dlc ; encoding: [0x81,0x62,0x04,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx2 s[10:11], s[2:3], 0x1234 glc dlc +// GFX11: s_load_b64 s[10:11], s[2:3], 0x1234 glc dlc ; encoding: [0x81,0x62,0x04,0xf4,0x34,0x12,0x00,0xf8] + +s_load_dwordx4 s[20:23], s[2:3], s0 +// GFX11: s_load_b128 s[20:23], s[2:3], s0 ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx4 s[24:27], s[2:3], s0 +// GFX11: s_load_b128 s[24:27], s[2:3], s0 ; encoding: [0x01,0x06,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx4 s[96:99], s[2:3], s0 +// GFX11: s_load_b128 s[96:99], s[2:3], s0 ; encoding: [0x01,0x18,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx4 s[20:23], s[4:5], s0 +// GFX11: s_load_b128 s[20:23], s[4:5], s0 ; encoding: [0x02,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx4 s[20:23], s[100:101], s0 +// GFX11: s_load_b128 s[20:23], s[100:101], s0 ; encoding: [0x32,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx4 s[20:23], vcc, s0 +// GFX11: s_load_b128 s[20:23], vcc, s0 ; encoding: [0x35,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx4 s[20:23], s[2:3], s101 +// GFX11: s_load_b128 s[20:23], s[2:3], s101 ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xca] + +s_load_dwordx4 s[20:23], s[2:3], vcc_lo +// GFX11: s_load_b128 s[20:23], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xd4] + +s_load_dwordx4 s[20:23], s[2:3], vcc_hi +// GFX11: s_load_b128 s[20:23], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xd6] + +s_load_dwordx4 s[20:23], s[2:3], m0 +// GFX11: s_load_b128 s[20:23], s[2:3], m0 ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xfa] + +s_load_dwordx4 s[20:23], s[2:3], 0x0 +// GFX11: s_load_b128 s[20:23], s[2:3], 0x0 ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xf8] + +s_load_dwordx4 s[20:23], s[2:3], s0 glc +// GFX11: s_load_b128 s[20:23], s[2:3], s0 glc ; encoding: [0x01,0x45,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx4 s[20:23], s[2:3], s0 dlc +// GFX11: s_load_b128 s[20:23], s[2:3], s0 dlc ; encoding: [0x01,0x25,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx4 s[20:23], s[2:3], s0 glc dlc +// GFX11: s_load_b128 s[20:23], s[2:3], s0 glc dlc ; encoding: [0x01,0x65,0x08,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx4 s[20:23], s[2:3], 0x1234 glc dlc +// GFX11: s_load_b128 s[20:23], s[2:3], 0x1234 glc dlc ; encoding: [0x01,0x65,0x08,0xf4,0x34,0x12,0x00,0xf8] + +s_load_dwordx8 s[20:27], s[2:3], s0 +// GFX11: s_load_b256 s[20:27], s[2:3], s0 ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx8 s[24:31], s[2:3], s0 +// GFX11: s_load_b256 s[24:31], s[2:3], s0 ; encoding: [0x01,0x06,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx8 s[92:99], s[2:3], s0 +// GFX11: s_load_b256 s[92:99], s[2:3], s0 ; encoding: [0x01,0x17,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx8 s[20:27], s[4:5], s0 +// GFX11: s_load_b256 s[20:27], s[4:5], s0 ; encoding: [0x02,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx8 s[20:27], s[100:101], s0 +// GFX11: s_load_b256 s[20:27], s[100:101], s0 ; encoding: [0x32,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx8 s[20:27], vcc, s0 +// GFX11: s_load_b256 s[20:27], vcc, s0 ; encoding: [0x35,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx8 s[20:27], s[2:3], s101 +// GFX11: s_load_b256 s[20:27], s[2:3], s101 ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xca] + +s_load_dwordx8 s[20:27], s[2:3], vcc_lo +// GFX11: s_load_b256 s[20:27], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xd4] + +s_load_dwordx8 s[20:27], s[2:3], vcc_hi +// GFX11: s_load_b256 s[20:27], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xd6] + +s_load_dwordx8 s[20:27], s[2:3], m0 +// GFX11: s_load_b256 s[20:27], s[2:3], m0 ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xfa] + +s_load_dwordx8 s[20:27], s[2:3], 0x0 +// GFX11: s_load_b256 s[20:27], s[2:3], 0x0 ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xf8] + +s_load_dwordx8 s[20:27], s[2:3], s0 glc +// GFX11: s_load_b256 s[20:27], s[2:3], s0 glc ; encoding: [0x01,0x45,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx8 s[20:27], s[2:3], s0 dlc +// GFX11: s_load_b256 s[20:27], s[2:3], s0 dlc ; encoding: [0x01,0x25,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx8 s[20:27], s[2:3], s0 glc dlc +// GFX11: s_load_b256 s[20:27], s[2:3], s0 glc dlc ; encoding: [0x01,0x65,0x0c,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx8 s[20:27], s[2:3], 0x1234 glc dlc +// GFX11: s_load_b256 s[20:27], s[2:3], 0x1234 glc dlc ; encoding: [0x01,0x65,0x0c,0xf4,0x34,0x12,0x00,0xf8] + +s_load_dwordx16 s[20:35], s[2:3], s0 +// GFX11: s_load_b512 s[20:35], s[2:3], s0 ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx16 s[24:39], s[2:3], s0 +// GFX11: s_load_b512 s[24:39], s[2:3], s0 ; encoding: [0x01,0x06,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx16 s[84:99], s[2:3], s0 +// GFX11: s_load_b512 s[84:99], s[2:3], s0 ; encoding: [0x01,0x15,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx16 s[20:35], s[4:5], s0 +// GFX11: s_load_b512 s[20:35], s[4:5], s0 ; encoding: [0x02,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx16 s[20:35], s[100:101], s0 +// GFX11: s_load_b512 s[20:35], s[100:101], s0 ; encoding: [0x32,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx16 s[20:35], vcc, s0 +// GFX11: s_load_b512 s[20:35], vcc, s0 ; encoding: [0x35,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx16 s[20:35], s[2:3], s101 +// GFX11: s_load_b512 s[20:35], s[2:3], s101 ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xca] + +s_load_dwordx16 s[20:35], s[2:3], vcc_lo +// GFX11: s_load_b512 s[20:35], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xd4] + +s_load_dwordx16 s[20:35], s[2:3], vcc_hi +// GFX11: s_load_b512 s[20:35], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xd6] + +s_load_dwordx16 s[20:35], s[2:3], m0 +// GFX11: s_load_b512 s[20:35], s[2:3], m0 ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xfa] + +s_load_dwordx16 s[20:35], s[2:3], 0x0 +// GFX11: s_load_b512 s[20:35], s[2:3], 0x0 ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xf8] + +s_load_dwordx16 s[20:35], s[2:3], s0 glc +// GFX11: s_load_b512 s[20:35], s[2:3], s0 glc ; encoding: [0x01,0x45,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx16 s[20:35], s[2:3], s0 dlc +// GFX11: s_load_b512 s[20:35], s[2:3], s0 dlc ; encoding: [0x01,0x25,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx16 s[20:35], s[2:3], s0 glc dlc +// GFX11: s_load_b512 s[20:35], s[2:3], s0 glc dlc ; encoding: [0x01,0x65,0x10,0xf4,0x00,0x00,0x00,0x00] + +s_load_dwordx16 s[20:35], s[2:3], 0x1234 glc dlc +// GFX11: s_load_b512 s[20:35], s[2:3], 0x1234 glc dlc ; encoding: [0x01,0x65,0x10,0xf4,0x34,0x12,0x00,0xf8] + +s_buffer_load_dword s5, s[4:7], s0 +// GFX11: s_buffer_load_b32 s5, s[4:7], s0 ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dword s101, s[4:7], s0 +// GFX11: s_buffer_load_b32 s101, s[4:7], s0 ; encoding: [0x42,0x19,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dword vcc_lo, s[4:7], s0 +// GFX11: s_buffer_load_b32 vcc_lo, s[4:7], s0 ; encoding: [0x82,0x1a,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dword vcc_hi, s[4:7], s0 +// GFX11: s_buffer_load_b32 vcc_hi, s[4:7], s0 ; encoding: [0xc2,0x1a,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dword s5, s[8:11], s0 +// GFX11: s_buffer_load_b32 s5, s[8:11], s0 ; encoding: [0x44,0x01,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dword s5, s[96:99], s0 +// GFX11: s_buffer_load_b32 s5, s[96:99], s0 ; encoding: [0x70,0x01,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dword s5, s[4:7], s101 +// GFX11: s_buffer_load_b32 s5, s[4:7], s101 ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xca] + +s_buffer_load_dword s5, s[4:7], vcc_lo +// GFX11: s_buffer_load_b32 s5, s[4:7], vcc_lo ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xd4] + +s_buffer_load_dword s5, s[4:7], vcc_hi +// GFX11: s_buffer_load_b32 s5, s[4:7], vcc_hi ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xd6] + +s_buffer_load_dword s5, s[4:7], m0 +// GFX11: s_buffer_load_b32 s5, s[4:7], m0 ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xfa] + +s_buffer_load_dword s5, s[4:7], 0x0 +// GFX11: s_buffer_load_b32 s5, s[4:7], 0x0 ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xf8] + +s_buffer_load_dword s5, s[4:7], s0 glc +// GFX11: s_buffer_load_b32 s5, s[4:7], s0 glc ; encoding: [0x42,0x41,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dword s5, s[4:7], s0 dlc +// GFX11: s_buffer_load_b32 s5, s[4:7], s0 dlc ; encoding: [0x42,0x21,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dword s5, s[4:7], s0 glc dlc +// GFX11: s_buffer_load_b32 s5, s[4:7], s0 glc dlc ; encoding: [0x42,0x61,0x20,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dword s5, s[4:7], 0x1234 glc dlc +// GFX11: s_buffer_load_b32 s5, s[4:7], 0x1234 glc dlc ; encoding: [0x42,0x61,0x20,0xf4,0x34,0x12,0x00,0xf8] + +s_buffer_load_dwordx2 s[10:11], s[4:7], s0 +// GFX11: s_buffer_load_b64 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx2 s[12:13], s[4:7], s0 +// GFX11: s_buffer_load_b64 s[12:13], s[4:7], s0 ; encoding: [0x02,0x03,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx2 s[100:101], s[4:7], s0 +// GFX11: s_buffer_load_b64 s[100:101], s[4:7], s0 ; encoding: [0x02,0x19,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx2 vcc, s[4:7], s0 +// GFX11: s_buffer_load_b64 vcc, s[4:7], s0 ; encoding: [0x82,0x1a,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx2 s[10:11], s[8:11], s0 +// GFX11: s_buffer_load_b64 s[10:11], s[8:11], s0 ; encoding: [0x84,0x02,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx2 s[10:11], s[96:99], s0 +// GFX11: s_buffer_load_b64 s[10:11], s[96:99], s0 ; encoding: [0xb0,0x02,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx2 s[10:11], s[4:7], s101 +// GFX11: s_buffer_load_b64 s[10:11], s[4:7], s101 ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xca] + +s_buffer_load_dwordx2 s[10:11], s[4:7], vcc_lo +// GFX11: s_buffer_load_b64 s[10:11], s[4:7], vcc_lo ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xd4] + +s_buffer_load_dwordx2 s[10:11], s[4:7], vcc_hi +// GFX11: s_buffer_load_b64 s[10:11], s[4:7], vcc_hi ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xd6] + +s_buffer_load_dwordx2 s[10:11], s[4:7], m0 +// GFX11: s_buffer_load_b64 s[10:11], s[4:7], m0 ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xfa] + +s_buffer_load_dwordx2 s[10:11], s[4:7], 0x0 +// GFX11: s_buffer_load_b64 s[10:11], s[4:7], 0x0 ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xf8] + +s_buffer_load_dwordx2 s[10:11], s[4:7], s0 glc +// GFX11: s_buffer_load_b64 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x42,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx2 s[10:11], s[4:7], s0 dlc +// GFX11: s_buffer_load_b64 s[10:11], s[4:7], s0 dlc ; encoding: [0x82,0x22,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx2 s[10:11], s[4:7], s0 glc dlc +// GFX11: s_buffer_load_b64 s[10:11], s[4:7], s0 glc dlc ; encoding: [0x82,0x62,0x24,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx2 s[10:11], s[4:7], 0x1234 glc dlc +// GFX11: s_buffer_load_b64 s[10:11], s[4:7], 0x1234 glc dlc ; encoding: [0x82,0x62,0x24,0xf4,0x34,0x12,0x00,0xf8] + +s_buffer_load_dwordx4 s[20:23], s[4:7], s0 +// GFX11: s_buffer_load_b128 s[20:23], s[4:7], s0 ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx4 s[24:27], s[4:7], s0 +// GFX11: s_buffer_load_b128 s[24:27], s[4:7], s0 ; encoding: [0x02,0x06,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx4 s[96:99], s[4:7], s0 +// GFX11: s_buffer_load_b128 s[96:99], s[4:7], s0 ; encoding: [0x02,0x18,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx4 s[20:23], s[8:11], s0 +// GFX11: s_buffer_load_b128 s[20:23], s[8:11], s0 ; encoding: [0x04,0x05,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx4 s[20:23], s[96:99], s0 +// GFX11: s_buffer_load_b128 s[20:23], s[96:99], s0 ; encoding: [0x30,0x05,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx4 s[20:23], s[4:7], s101 +// GFX11: s_buffer_load_b128 s[20:23], s[4:7], s101 ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xca] + +s_buffer_load_dwordx4 s[20:23], s[4:7], vcc_lo +// GFX11: s_buffer_load_b128 s[20:23], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xd4] + +s_buffer_load_dwordx4 s[20:23], s[4:7], vcc_hi +// GFX11: s_buffer_load_b128 s[20:23], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xd6] + +s_buffer_load_dwordx4 s[20:23], s[4:7], m0 +// GFX11: s_buffer_load_b128 s[20:23], s[4:7], m0 ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xfa] + +s_buffer_load_dwordx4 s[20:23], s[4:7], 0x0 +// GFX11: s_buffer_load_b128 s[20:23], s[4:7], 0x0 ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xf8] + +s_buffer_load_dwordx4 s[20:23], s[4:7], s0 glc +// GFX11: s_buffer_load_b128 s[20:23], s[4:7], s0 glc ; encoding: [0x02,0x45,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx4 s[20:23], s[4:7], s0 dlc +// GFX11: s_buffer_load_b128 s[20:23], s[4:7], s0 dlc ; encoding: [0x02,0x25,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx4 s[20:23], s[4:7], s0 glc dlc +// GFX11: s_buffer_load_b128 s[20:23], s[4:7], s0 glc dlc ; encoding: [0x02,0x65,0x28,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx4 s[20:23], s[4:7], 0x1234 glc dlc +// GFX11: s_buffer_load_b128 s[20:23], s[4:7], 0x1234 glc dlc ; encoding: [0x02,0x65,0x28,0xf4,0x34,0x12,0x00,0xf8] + +s_buffer_load_dwordx8 s[20:27], s[4:7], s0 +// GFX11: s_buffer_load_b256 s[20:27], s[4:7], s0 ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx8 s[24:31], s[4:7], s0 +// GFX11: s_buffer_load_b256 s[24:31], s[4:7], s0 ; encoding: [0x02,0x06,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx8 s[92:99], s[4:7], s0 +// GFX11: s_buffer_load_b256 s[92:99], s[4:7], s0 ; encoding: [0x02,0x17,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx8 s[20:27], s[8:11], s0 +// GFX11: s_buffer_load_b256 s[20:27], s[8:11], s0 ; encoding: [0x04,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx8 s[20:27], s[96:99], s0 +// GFX11: s_buffer_load_b256 s[20:27], s[96:99], s0 ; encoding: [0x30,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx8 s[20:27], s[4:7], s101 +// GFX11: s_buffer_load_b256 s[20:27], s[4:7], s101 ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xca] + +s_buffer_load_dwordx8 s[20:27], s[4:7], vcc_lo +// GFX11: s_buffer_load_b256 s[20:27], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xd4] + +s_buffer_load_dwordx8 s[20:27], s[4:7], vcc_hi +// GFX11: s_buffer_load_b256 s[20:27], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xd6] + +s_buffer_load_dwordx8 s[20:27], s[4:7], m0 +// GFX11: s_buffer_load_b256 s[20:27], s[4:7], m0 ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xfa] + +s_buffer_load_dwordx8 s[20:27], s[4:7], 0x0 +// GFX11: s_buffer_load_b256 s[20:27], s[4:7], 0x0 ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xf8] + +s_buffer_load_dwordx8 s[20:27], s[4:7], s0 glc +// GFX11: s_buffer_load_b256 s[20:27], s[4:7], s0 glc ; encoding: [0x02,0x45,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx8 s[20:27], s[4:7], s0 dlc +// GFX11: s_buffer_load_b256 s[20:27], s[4:7], s0 dlc ; encoding: [0x02,0x25,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx8 s[20:27], s[4:7], s0 glc dlc +// GFX11: s_buffer_load_b256 s[20:27], s[4:7], s0 glc dlc ; encoding: [0x02,0x65,0x2c,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx8 s[20:27], s[4:7], 0x1234 glc dlc +// GFX11: s_buffer_load_b256 s[20:27], s[4:7], 0x1234 glc dlc ; encoding: [0x02,0x65,0x2c,0xf4,0x34,0x12,0x00,0xf8] + +s_buffer_load_dwordx16 s[20:35], s[4:7], s0 +// GFX11: s_buffer_load_b512 s[20:35], s[4:7], s0 ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx16 s[24:39], s[4:7], s0 +// GFX11: s_buffer_load_b512 s[24:39], s[4:7], s0 ; encoding: [0x02,0x06,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx16 s[84:99], s[4:7], s0 +// GFX11: s_buffer_load_b512 s[84:99], s[4:7], s0 ; encoding: [0x02,0x15,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx16 s[20:35], s[8:11], s0 +// GFX11: s_buffer_load_b512 s[20:35], s[8:11], s0 ; encoding: [0x04,0x05,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx16 s[20:35], s[96:99], s0 +// GFX11: s_buffer_load_b512 s[20:35], s[96:99], s0 ; encoding: [0x30,0x05,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx16 s[20:35], s[4:7], s101 +// GFX11: s_buffer_load_b512 s[20:35], s[4:7], s101 ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xca] + +s_buffer_load_dwordx16 s[20:35], s[4:7], vcc_lo +// GFX11: s_buffer_load_b512 s[20:35], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xd4] + +s_buffer_load_dwordx16 s[20:35], s[4:7], vcc_hi +// GFX11: s_buffer_load_b512 s[20:35], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xd6] + +s_buffer_load_dwordx16 s[20:35], s[4:7], m0 +// GFX11: s_buffer_load_b512 s[20:35], s[4:7], m0 ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xfa] + +s_buffer_load_dwordx16 s[20:35], s[4:7], 0x0 +// GFX11: s_buffer_load_b512 s[20:35], s[4:7], 0x0 ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xf8] + +s_buffer_load_dwordx16 s[20:35], s[4:7], s0 glc +// GFX11: s_buffer_load_b512 s[20:35], s[4:7], s0 glc ; encoding: [0x02,0x45,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx16 s[20:35], s[4:7], s0 dlc +// GFX11: s_buffer_load_b512 s[20:35], s[4:7], s0 dlc ; encoding: [0x02,0x25,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx16 s[20:35], s[4:7], s0 glc dlc +// GFX11: s_buffer_load_b512 s[20:35], s[4:7], s0 glc dlc ; encoding: [0x02,0x65,0x30,0xf4,0x00,0x00,0x00,0x00] + +s_buffer_load_dwordx16 s[20:35], s[4:7], 0x1234 glc dlc +// GFX11: s_buffer_load_b512 s[20:35], s[4:7], 0x1234 glc dlc ; encoding: [0x02,0x65,0x30,0xf4,0x34,0x12,0x00,0xf8] diff --git a/llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_all.txt b/llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_all.txt --- a/llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_all.txt +++ b/llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_all.txt @@ -9836,6 +9836,471 @@ # GFX11: s_xor_saveexec_b64 vcc, s[2:3] ; encoding: [0x02,0x25,0xea,0xbe] 0x02,0x25,0xea,0xbe +# GFX11: s_load_b32 s101, s[2:3], s0 ; encoding: [0x41,0x19,0x00,0xf4,0x00,0x00,0x00,0x00] +0x41,0x19,0x00,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b32 s5, s[100:101], s0 ; encoding: [0x72,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] +0x72,0x01,0x00,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b32 s5, s[2:3], null ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xf8] +0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xf8 + +# GFX11: s_load_b32 s5, s[2:3], 0x1234 glc dlc ; encoding: [0x41,0x61,0x00,0xf4,0x34,0x12,0x00,0xf8] +0x41,0x61,0x00,0xf4,0x34,0x12,0x00,0xf8 + +# GFX11: s_load_b32 s5, s[2:3], m0 ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xfa] +0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xfa + +# GFX11: s_load_b32 s5, s[2:3], s0 ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] +0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b32 s5, s[2:3], s0 dlc ; encoding: [0x41,0x21,0x00,0xf4,0x00,0x00,0x00,0x00] +0x41,0x21,0x00,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b32 s5, s[2:3], s0 glc ; encoding: [0x41,0x41,0x00,0xf4,0x00,0x00,0x00,0x00] +0x41,0x41,0x00,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b32 s5, s[2:3], s0 glc dlc ; encoding: [0x41,0x61,0x00,0xf4,0x00,0x00,0x00,0x00] +0x41,0x61,0x00,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b32 s5, s[2:3], s101 ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xca] +0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xca + +# GFX11: s_load_b32 s5, s[2:3], vcc_hi ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xd6] +0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xd6 + +# GFX11: s_load_b32 s5, s[2:3], vcc_lo ; encoding: [0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xd4] +0x41,0x01,0x00,0xf4,0x00,0x00,0x00,0xd4 + +# GFX11: s_load_b32 s5, s[4:5], s0 ; encoding: [0x42,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] +0x42,0x01,0x00,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b32 s5, vcc, s0 ; encoding: [0x75,0x01,0x00,0xf4,0x00,0x00,0x00,0x00] +0x75,0x01,0x00,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b32 vcc_hi, s[2:3], s0 ; encoding: [0xc1,0x1a,0x00,0xf4,0x00,0x00,0x00,0x00] +0xc1,0x1a,0x00,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b32 vcc_lo, s[2:3], s0 ; encoding: [0x81,0x1a,0x00,0xf4,0x00,0x00,0x00,0x00] +0x81,0x1a,0x00,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b512 s[20:35], s[100:101], s0 ; encoding: [0x32,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] +0x32,0x05,0x10,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b512 s[20:35], s[2:3], null ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xf8] +0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xf8 + +# GFX11: s_load_b512 s[20:35], s[2:3], 0x1234 glc dlc ; encoding: [0x01,0x65,0x10,0xf4,0x34,0x12,0x00,0xf8] +0x01,0x65,0x10,0xf4,0x34,0x12,0x00,0xf8 + +# GFX11: s_load_b512 s[20:35], s[2:3], m0 ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xfa] +0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xfa + +# GFX11: s_load_b512 s[20:35], s[2:3], s0 ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] +0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b512 s[20:35], s[2:3], s0 dlc ; encoding: [0x01,0x25,0x10,0xf4,0x00,0x00,0x00,0x00] +0x01,0x25,0x10,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b512 s[20:35], s[2:3], s0 glc ; encoding: [0x01,0x45,0x10,0xf4,0x00,0x00,0x00,0x00] +0x01,0x45,0x10,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b512 s[20:35], s[2:3], s0 glc dlc ; encoding: [0x01,0x65,0x10,0xf4,0x00,0x00,0x00,0x00] +0x01,0x65,0x10,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b512 s[20:35], s[2:3], s101 ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xca] +0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xca + +# GFX11: s_load_b512 s[20:35], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xd6] +0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xd6 + +# GFX11: s_load_b512 s[20:35], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xd4] +0x01,0x05,0x10,0xf4,0x00,0x00,0x00,0xd4 + +# GFX11: s_load_b512 s[20:35], s[4:5], s0 ; encoding: [0x02,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] +0x02,0x05,0x10,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b512 s[20:35], vcc, s0 ; encoding: [0x35,0x05,0x10,0xf4,0x00,0x00,0x00,0x00] +0x35,0x05,0x10,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b512 s[24:39], s[2:3], s0 ; encoding: [0x01,0x06,0x10,0xf4,0x00,0x00,0x00,0x00] +0x01,0x06,0x10,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b512 s[84:99], s[2:3], s0 ; encoding: [0x01,0x15,0x10,0xf4,0x00,0x00,0x00,0x00] +0x01,0x15,0x10,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b64 s[100:101], s[2:3], s0 ; encoding: [0x01,0x19,0x04,0xf4,0x00,0x00,0x00,0x00] +0x01,0x19,0x04,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b64 s[10:11], s[100:101], s0 ; encoding: [0xb2,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] +0xb2,0x02,0x04,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b64 s[10:11], s[2:3], null ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xf8] +0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xf8 + +# GFX11: s_load_b64 s[10:11], s[2:3], 0x1234 glc dlc ; encoding: [0x81,0x62,0x04,0xf4,0x34,0x12,0x00,0xf8] +0x81,0x62,0x04,0xf4,0x34,0x12,0x00,0xf8 + +# GFX11: s_load_b64 s[10:11], s[2:3], m0 ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xfa] +0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xfa + +# GFX11: s_load_b64 s[10:11], s[2:3], s0 ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] +0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b64 s[10:11], s[2:3], s0 dlc ; encoding: [0x81,0x22,0x04,0xf4,0x00,0x00,0x00,0x00] +0x81,0x22,0x04,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b64 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x42,0x04,0xf4,0x00,0x00,0x00,0x00] +0x81,0x42,0x04,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b64 s[10:11], s[2:3], s0 glc dlc ; encoding: [0x81,0x62,0x04,0xf4,0x00,0x00,0x00,0x00] +0x81,0x62,0x04,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b64 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xca] +0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xca + +# GFX11: s_load_b64 s[10:11], s[2:3], vcc_hi ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xd6] +0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xd6 + +# GFX11: s_load_b64 s[10:11], s[2:3], vcc_lo ; encoding: [0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xd4] +0x81,0x02,0x04,0xf4,0x00,0x00,0x00,0xd4 + +# GFX11: s_load_b64 s[10:11], s[4:5], s0 ; encoding: [0x82,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] +0x82,0x02,0x04,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b64 s[10:11], vcc, s0 ; encoding: [0xb5,0x02,0x04,0xf4,0x00,0x00,0x00,0x00] +0xb5,0x02,0x04,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b64 s[12:13], s[2:3], s0 ; encoding: [0x01,0x03,0x04,0xf4,0x00,0x00,0x00,0x00] +0x01,0x03,0x04,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b64 vcc, s[2:3], s0 ; encoding: [0x81,0x1a,0x04,0xf4,0x00,0x00,0x00,0x00] +0x81,0x1a,0x04,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b128 s[20:23], s[100:101], s0 ; encoding: [0x32,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] +0x32,0x05,0x08,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b128 s[20:23], s[2:3], null ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xf8] +0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xf8 + +# GFX11: s_load_b128 s[20:23], s[2:3], 0x1234 glc dlc ; encoding: [0x01,0x65,0x08,0xf4,0x34,0x12,0x00,0xf8] +0x01,0x65,0x08,0xf4,0x34,0x12,0x00,0xf8 + +# GFX11: s_load_b128 s[20:23], s[2:3], m0 ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xfa] +0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xfa + +# GFX11: s_load_b128 s[20:23], s[2:3], s0 ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] +0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b128 s[20:23], s[2:3], s0 dlc ; encoding: [0x01,0x25,0x08,0xf4,0x00,0x00,0x00,0x00] +0x01,0x25,0x08,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b128 s[20:23], s[2:3], s0 glc ; encoding: [0x01,0x45,0x08,0xf4,0x00,0x00,0x00,0x00] +0x01,0x45,0x08,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b128 s[20:23], s[2:3], s0 glc dlc ; encoding: [0x01,0x65,0x08,0xf4,0x00,0x00,0x00,0x00] +0x01,0x65,0x08,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b128 s[20:23], s[2:3], s101 ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xca] +0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xca + +# GFX11: s_load_b128 s[20:23], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xd6] +0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xd6 + +# GFX11: s_load_b128 s[20:23], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xd4] +0x01,0x05,0x08,0xf4,0x00,0x00,0x00,0xd4 + +# GFX11: s_load_b128 s[20:23], s[4:5], s0 ; encoding: [0x02,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] +0x02,0x05,0x08,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b128 s[20:23], vcc, s0 ; encoding: [0x35,0x05,0x08,0xf4,0x00,0x00,0x00,0x00] +0x35,0x05,0x08,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b128 s[24:27], s[2:3], s0 ; encoding: [0x01,0x06,0x08,0xf4,0x00,0x00,0x00,0x00] +0x01,0x06,0x08,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b128 s[96:99], s[2:3], s0 ; encoding: [0x01,0x18,0x08,0xf4,0x00,0x00,0x00,0x00] +0x01,0x18,0x08,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b256 s[20:27], s[100:101], s0 ; encoding: [0x32,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] +0x32,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b256 s[20:27], s[2:3], null ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xf8] +0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xf8 + +# GFX11: s_load_b256 s[20:27], s[2:3], 0x1234 glc dlc ; encoding: [0x01,0x65,0x0c,0xf4,0x34,0x12,0x00,0xf8] +0x01,0x65,0x0c,0xf4,0x34,0x12,0x00,0xf8 + +# GFX11: s_load_b256 s[20:27], s[2:3], m0 ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xfa] +0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xfa + +# GFX11: s_load_b256 s[20:27], s[2:3], s0 ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] +0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b256 s[20:27], s[2:3], s0 dlc ; encoding: [0x01,0x25,0x0c,0xf4,0x00,0x00,0x00,0x00] +0x01,0x25,0x0c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b256 s[20:27], s[2:3], s0 glc ; encoding: [0x01,0x45,0x0c,0xf4,0x00,0x00,0x00,0x00] +0x01,0x45,0x0c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b256 s[20:27], s[2:3], s0 glc dlc ; encoding: [0x01,0x65,0x0c,0xf4,0x00,0x00,0x00,0x00] +0x01,0x65,0x0c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b256 s[20:27], s[2:3], s101 ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xca] +0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xca + +# GFX11: s_load_b256 s[20:27], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xd6] +0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xd6 + +# GFX11: s_load_b256 s[20:27], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xd4] +0x01,0x05,0x0c,0xf4,0x00,0x00,0x00,0xd4 + +# GFX11: s_load_b256 s[20:27], s[4:5], s0 ; encoding: [0x02,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] +0x02,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b256 s[20:27], vcc, s0 ; encoding: [0x35,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00] +0x35,0x05,0x0c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b256 s[24:31], s[2:3], s0 ; encoding: [0x01,0x06,0x0c,0xf4,0x00,0x00,0x00,0x00] +0x01,0x06,0x0c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_load_b256 s[92:99], s[2:3], s0 ; encoding: [0x01,0x17,0x0c,0xf4,0x00,0x00,0x00,0x00] +0x01,0x17,0x0c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b32 s101, s[4:7], s0 ; encoding: [0x42,0x19,0x20,0xf4,0x00,0x00,0x00,0x00] +0x42,0x19,0x20,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b32 s5, s[4:7], null ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xf8] +0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xf8 + +# GFX11: s_buffer_load_b32 s5, s[4:7], 0x1234 glc dlc ; encoding: [0x42,0x61,0x20,0xf4,0x34,0x12,0x00,0xf8] +0x42,0x61,0x20,0xf4,0x34,0x12,0x00,0xf8 + +# GFX11: s_buffer_load_b32 s5, s[4:7], m0 ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xfa] +0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xfa + +# GFX11: s_buffer_load_b32 s5, s[4:7], s0 ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0x00] +0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b32 s5, s[4:7], s0 dlc ; encoding: [0x42,0x21,0x20,0xf4,0x00,0x00,0x00,0x00] +0x42,0x21,0x20,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b32 s5, s[4:7], s0 glc ; encoding: [0x42,0x41,0x20,0xf4,0x00,0x00,0x00,0x00] +0x42,0x41,0x20,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b32 s5, s[4:7], s0 glc dlc ; encoding: [0x42,0x61,0x20,0xf4,0x00,0x00,0x00,0x00] +0x42,0x61,0x20,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b32 s5, s[4:7], s101 ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xca] +0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xca + +# GFX11: s_buffer_load_b32 s5, s[4:7], vcc_hi ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xd6] +0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xd6 + +# GFX11: s_buffer_load_b32 s5, s[4:7], vcc_lo ; encoding: [0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xd4] +0x42,0x01,0x20,0xf4,0x00,0x00,0x00,0xd4 + +# GFX11: s_buffer_load_b32 s5, s[8:11], s0 ; encoding: [0x44,0x01,0x20,0xf4,0x00,0x00,0x00,0x00] +0x44,0x01,0x20,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b32 s5, s[96:99], s0 ; encoding: [0x70,0x01,0x20,0xf4,0x00,0x00,0x00,0x00] +0x70,0x01,0x20,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b32 vcc_hi, s[4:7], s0 ; encoding: [0xc2,0x1a,0x20,0xf4,0x00,0x00,0x00,0x00] +0xc2,0x1a,0x20,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b32 vcc_lo, s[4:7], s0 ; encoding: [0x82,0x1a,0x20,0xf4,0x00,0x00,0x00,0x00] +0x82,0x1a,0x20,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b512 s[20:35], s[4:7], null ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xf8] +0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xf8 + +# GFX11: s_buffer_load_b512 s[20:35], s[4:7], 0x1234 glc dlc ; encoding: [0x02,0x65,0x30,0xf4,0x34,0x12,0x00,0xf8] +0x02,0x65,0x30,0xf4,0x34,0x12,0x00,0xf8 + +# GFX11: s_buffer_load_b512 s[20:35], s[4:7], m0 ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xfa] +0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xfa + +# GFX11: s_buffer_load_b512 s[20:35], s[4:7], s0 ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0x00] +0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b512 s[20:35], s[4:7], s0 dlc ; encoding: [0x02,0x25,0x30,0xf4,0x00,0x00,0x00,0x00] +0x02,0x25,0x30,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b512 s[20:35], s[4:7], s0 glc ; encoding: [0x02,0x45,0x30,0xf4,0x00,0x00,0x00,0x00] +0x02,0x45,0x30,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b512 s[20:35], s[4:7], s0 glc dlc ; encoding: [0x02,0x65,0x30,0xf4,0x00,0x00,0x00,0x00] +0x02,0x65,0x30,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b512 s[20:35], s[4:7], s101 ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xca] +0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xca + +# GFX11: s_buffer_load_b512 s[20:35], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xd6] +0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xd6 + +# GFX11: s_buffer_load_b512 s[20:35], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xd4] +0x02,0x05,0x30,0xf4,0x00,0x00,0x00,0xd4 + +# GFX11: s_buffer_load_b512 s[20:35], s[8:11], s0 ; encoding: [0x04,0x05,0x30,0xf4,0x00,0x00,0x00,0x00] +0x04,0x05,0x30,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b512 s[20:35], s[96:99], s0 ; encoding: [0x30,0x05,0x30,0xf4,0x00,0x00,0x00,0x00] +0x30,0x05,0x30,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b512 s[24:39], s[4:7], s0 ; encoding: [0x02,0x06,0x30,0xf4,0x00,0x00,0x00,0x00] +0x02,0x06,0x30,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b512 s[84:99], s[4:7], s0 ; encoding: [0x02,0x15,0x30,0xf4,0x00,0x00,0x00,0x00] +0x02,0x15,0x30,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b64 s[100:101], s[4:7], s0 ; encoding: [0x02,0x19,0x24,0xf4,0x00,0x00,0x00,0x00] +0x02,0x19,0x24,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b64 s[10:11], s[4:7], null ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xf8] +0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xf8 + +# GFX11: s_buffer_load_b64 s[10:11], s[4:7], 0x1234 glc dlc ; encoding: [0x82,0x62,0x24,0xf4,0x34,0x12,0x00,0xf8] +0x82,0x62,0x24,0xf4,0x34,0x12,0x00,0xf8 + +# GFX11: s_buffer_load_b64 s[10:11], s[4:7], m0 ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xfa] +0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xfa + +# GFX11: s_buffer_load_b64 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0x00] +0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b64 s[10:11], s[4:7], s0 dlc ; encoding: [0x82,0x22,0x24,0xf4,0x00,0x00,0x00,0x00] +0x82,0x22,0x24,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b64 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x42,0x24,0xf4,0x00,0x00,0x00,0x00] +0x82,0x42,0x24,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b64 s[10:11], s[4:7], s0 glc dlc ; encoding: [0x82,0x62,0x24,0xf4,0x00,0x00,0x00,0x00] +0x82,0x62,0x24,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b64 s[10:11], s[4:7], s101 ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xca] +0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xca + +# GFX11: s_buffer_load_b64 s[10:11], s[4:7], vcc_hi ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xd6] +0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xd6 + +# GFX11: s_buffer_load_b64 s[10:11], s[4:7], vcc_lo ; encoding: [0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xd4] +0x82,0x02,0x24,0xf4,0x00,0x00,0x00,0xd4 + +# GFX11: s_buffer_load_b64 s[10:11], s[8:11], s0 ; encoding: [0x84,0x02,0x24,0xf4,0x00,0x00,0x00,0x00] +0x84,0x02,0x24,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b64 s[10:11], s[96:99], s0 ; encoding: [0xb0,0x02,0x24,0xf4,0x00,0x00,0x00,0x00] +0xb0,0x02,0x24,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b64 s[12:13], s[4:7], s0 ; encoding: [0x02,0x03,0x24,0xf4,0x00,0x00,0x00,0x00] +0x02,0x03,0x24,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b64 vcc, s[4:7], s0 ; encoding: [0x82,0x1a,0x24,0xf4,0x00,0x00,0x00,0x00] +0x82,0x1a,0x24,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b128 s[20:23], s[4:7], null ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xf8] +0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xf8 + +# GFX11: s_buffer_load_b128 s[20:23], s[4:7], 0x1234 glc dlc ; encoding: [0x02,0x65,0x28,0xf4,0x34,0x12,0x00,0xf8] +0x02,0x65,0x28,0xf4,0x34,0x12,0x00,0xf8 + +# GFX11: s_buffer_load_b128 s[20:23], s[4:7], m0 ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xfa] +0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xfa + +# GFX11: s_buffer_load_b128 s[20:23], s[4:7], s0 ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0x00] +0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b128 s[20:23], s[4:7], s0 dlc ; encoding: [0x02,0x25,0x28,0xf4,0x00,0x00,0x00,0x00] +0x02,0x25,0x28,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b128 s[20:23], s[4:7], s0 glc ; encoding: [0x02,0x45,0x28,0xf4,0x00,0x00,0x00,0x00] +0x02,0x45,0x28,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b128 s[20:23], s[4:7], s0 glc dlc ; encoding: [0x02,0x65,0x28,0xf4,0x00,0x00,0x00,0x00] +0x02,0x65,0x28,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b128 s[20:23], s[4:7], s101 ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xca] +0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xca + +# GFX11: s_buffer_load_b128 s[20:23], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xd6] +0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xd6 + +# GFX11: s_buffer_load_b128 s[20:23], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xd4] +0x02,0x05,0x28,0xf4,0x00,0x00,0x00,0xd4 + +# GFX11: s_buffer_load_b128 s[20:23], s[8:11], s0 ; encoding: [0x04,0x05,0x28,0xf4,0x00,0x00,0x00,0x00] +0x04,0x05,0x28,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b128 s[20:23], s[96:99], s0 ; encoding: [0x30,0x05,0x28,0xf4,0x00,0x00,0x00,0x00] +0x30,0x05,0x28,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b128 s[24:27], s[4:7], s0 ; encoding: [0x02,0x06,0x28,0xf4,0x00,0x00,0x00,0x00] +0x02,0x06,0x28,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b128 s[96:99], s[4:7], s0 ; encoding: [0x02,0x18,0x28,0xf4,0x00,0x00,0x00,0x00] +0x02,0x18,0x28,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b256 s[20:27], s[4:7], null ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xf8] +0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xf8 + +# GFX11: s_buffer_load_b256 s[20:27], s[4:7], 0x1234 glc dlc ; encoding: [0x02,0x65,0x2c,0xf4,0x34,0x12,0x00,0xf8] +0x02,0x65,0x2c,0xf4,0x34,0x12,0x00,0xf8 + +# GFX11: s_buffer_load_b256 s[20:27], s[4:7], m0 ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xfa] +0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xfa + +# GFX11: s_buffer_load_b256 s[20:27], s[4:7], s0 ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00] +0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b256 s[20:27], s[4:7], s0 dlc ; encoding: [0x02,0x25,0x2c,0xf4,0x00,0x00,0x00,0x00] +0x02,0x25,0x2c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b256 s[20:27], s[4:7], s0 glc ; encoding: [0x02,0x45,0x2c,0xf4,0x00,0x00,0x00,0x00] +0x02,0x45,0x2c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b256 s[20:27], s[4:7], s0 glc dlc ; encoding: [0x02,0x65,0x2c,0xf4,0x00,0x00,0x00,0x00] +0x02,0x65,0x2c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b256 s[20:27], s[4:7], s101 ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xca] +0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xca + +# GFX11: s_buffer_load_b256 s[20:27], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xd6] +0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xd6 + +# GFX11: s_buffer_load_b256 s[20:27], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xd4] +0x02,0x05,0x2c,0xf4,0x00,0x00,0x00,0xd4 + +# GFX11: s_buffer_load_b256 s[20:27], s[8:11], s0 ; encoding: [0x04,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00] +0x04,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b256 s[20:27], s[96:99], s0 ; encoding: [0x30,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00] +0x30,0x05,0x2c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b256 s[24:31], s[4:7], s0 ; encoding: [0x02,0x06,0x2c,0xf4,0x00,0x00,0x00,0x00] +0x02,0x06,0x2c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_buffer_load_b256 s[92:99], s[4:7], s0 ; encoding: [0x02,0x17,0x2c,0xf4,0x00,0x00,0x00,0x00] +0x02,0x17,0x2c,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_dcache_inv ; encoding: [0x00,0x00,0x84,0xf4,0x00,0x00,0x00,0x00] +0x00,0x00,0x84,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_gl1_inv ; encoding: [0x00,0x00,0x80,0xf4,0x00,0x00,0x00,0x00] +0x00,0x00,0x80,0xf4,0x00,0x00,0x00,0x00 + +# GFX11: s_atc_probe 7, s[4:5], 0x64 ; encoding: [0xc2,0x01,0x88,0xf4,0x64,0x00,0x00,0xf8] +0xc2,0x01,0x88,0xf4,0x64,0x00,0x00,0xf8 + +# GFX11: s_atc_probe 7, s[4:5], s2 ; encoding: [0xc2,0x01,0x88,0xf4,0x00,0x00,0x00,0x04] +0xc2,0x01,0x88,0xf4,0x00,0x00,0x00,0x04 + +# GFX11: s_atc_probe_buffer 7, s[8:11], 0x64 ; encoding: [0xc4,0x01,0x8c,0xf4,0x64,0x00,0x00,0xf8] +0xc4,0x01,0x8c,0xf4,0x64,0x00,0x00,0xf8 + +# GFX11: s_atc_probe_buffer 7, s[8:11], s2 ; encoding: [0xc4,0x01,0x8c,0xf4,0x00,0x00,0x00,0x04] +0xc4,0x01,0x8c,0xf4,0x00,0x00,0x00,0x04 + # GFX11: lds_direct_load v10 wait_vdst:6 ; encoding: [0x0a,0x00,0x16,0xce] 0x0a,0x00,0x16,0xce