aco: remove buffer_load_lds instructions

They don't exist

See https://github.com/llvm/llvm-project/pull/132916

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14041
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37716>
This commit is contained in:
Rhys Perry
2025-10-06 15:53:25 +01:00
committed by Marge Bot
parent 08ddf2f878
commit dfa8ac6b91
3 changed files with 1 additions and 49 deletions
+1 -4
View File
@@ -555,10 +555,7 @@ emit_mubuf_instruction(asm_context& ctx, std::vector<uint32_t>& out, const Instr
bool dlc = mubuf.cache.value & ac_dlc;
uint32_t encoding = (0b111000 << 26);
if (ctx.gfx_level >= GFX11 && mubuf.lds) /* GFX11 has separate opcodes for LDS loads */
opcode = opcode == 0 ? 0x32 : (opcode + 0x1d);
else
encoding |= (mubuf.lds ? 1 : 0) << 16;
encoding |= (mubuf.lds ? 1 : 0) << 16;
encoding |= opcode << 18;
encoding |= (glc ? 1 : 0) << 14;
if (ctx.gfx_level <= GFX10_3)
-6
View File
@@ -1761,12 +1761,6 @@ MUBUF = {
("buffer_gl0_inv", op(gfx10=0x71, gfx11=0x2b, gfx12=-1)),
("buffer_gl1_inv", op(gfx10=0x72, gfx11=0x2c, gfx12=-1)),
("buffer_atomic_csub", op(gfx10=0x34, gfx11=0x37)), #GFX10.3+. seems glc must be set. buffer_atomic_csub_u32 in GFX11
("buffer_load_lds_b32", op(gfx11=0x31, gfx12=-1)),
("buffer_load_lds_format_x", op(gfx11=0x32, gfx12=-1)),
("buffer_load_lds_i8", op(gfx11=0x2e, gfx12=-1)),
("buffer_load_lds_i16", op(gfx11=0x30, gfx12=-1)),
("buffer_load_lds_u8", op(gfx11=0x2d, gfx12=-1)),
("buffer_load_lds_u16", op(gfx11=0x2f, gfx12=-1)),
("buffer_atomic_add_f32", op(gfx11=0x56)),
("buffer_atomic_pk_add_f16", op(gfx12=0x59)),
("buffer_atomic_pk_add_bf16", op(gfx12=0x5a)),
-39
View File
@@ -630,45 +630,6 @@ BEGIN_TEST(assembler.mubuf)
->mubuf()
.tfe = true;
/* LDS */
if (gfx == GFX11) {
//~gfx11! buffer_load_lds_b32 off, s[32:35], 0 ; e0c40000 80080080
bld.mubuf(aco_opcode::buffer_load_dword, op_s4, Operand(v1), Operand::zero(), op_m0, 0,
false)
->mubuf()
.lds = true;
//~gfx11! buffer_load_lds_i8 off, s[32:35], 0 ; e0b80000 80080080
bld.mubuf(aco_opcode::buffer_load_sbyte, op_s4, Operand(v1), Operand::zero(), op_m0, 0,
false)
->mubuf()
.lds = true;
//~gfx11! buffer_load_lds_i16 off, s[32:35], 0 ; e0c00000 80080080
bld.mubuf(aco_opcode::buffer_load_sshort, op_s4, Operand(v1), Operand::zero(), op_m0, 0,
false)
->mubuf()
.lds = true;
//~gfx11! buffer_load_lds_u8 off, s[32:35], 0 ; e0b40000 80080080
bld.mubuf(aco_opcode::buffer_load_ubyte, op_s4, Operand(v1), Operand::zero(), op_m0, 0,
false)
->mubuf()
.lds = true;
//~gfx11! buffer_load_lds_u16 off, s[32:35], 0 ; e0bc0000 80080080
bld.mubuf(aco_opcode::buffer_load_ushort, op_s4, Operand(v1), Operand::zero(), op_m0, 0,
false)
->mubuf()
.lds = true;
//~gfx11! buffer_load_lds_format_x off, s[32:35], 0 ; e0c80000 80080080
bld.mubuf(aco_opcode::buffer_load_format_x, op_s4, Operand(v1), Operand::zero(), op_m0, 0,
false)
->mubuf()
.lds = true;
}
/* Stores */
//~gfx11! buffer_store_b32 v10, off, s[32:35], s30 ; e0680000 1e080a80
//~gfx12! buffer_store_b32 v10, off, s[32:35], s30 ; c406801e 0080400a 00000000