Commit b5c129ae authored by Timur Kristóf's avatar Timur Kristóf
Browse files

aco: Don't write -1 to m0 register for load/store_shared on GFX9+.


Signed-off-by: Timur Kristóf's avatarTimur Kristóf <timur.kristof@gmail.com>
parent 9e0fd498
Pipeline #333948 waiting for manual action with stages
......@@ -3595,7 +3595,9 @@ Temp lds_load_callback(Builder& bld, const LoadEmitInfo &info,
{
offset = offset.regClass() == s1 ? bld.copy(bld.def(v1), offset) : offset;
Operand m = load_lds_size_m0(bld);
Operand m;
if (bld.program->chip_class <= GFX8)
m = load_lds_size_m0(bld);
bool large_ds_read = bld.program->chip_class >= GFX7;
bool usable_read2 = bld.program->chip_class >= GFX7;
......@@ -3650,6 +3652,10 @@ Temp lds_load_callback(Builder& bld, const LoadEmitInfo &info,
instr = bld.ds(op, Definition(val), offset, m, const_offset, const_offset + 1);
else
instr = bld.ds(op, Definition(val), offset, m, const_offset);
if (!m.tempId())
instr->operands.pop_back();
instr->ds().sync = info.sync;
if (size < 4)
......@@ -4024,7 +4030,9 @@ void store_lds(isel_context *ctx, unsigned elem_size_bytes, Temp data, uint32_t
advance_write_mask(&todo, offset, byte);
}
Operand m = load_lds_size_m0(bld);
Operand m;
if (ctx->program->chip_class <= GFX8)
m = load_lds_size_m0(bld);
split_store_data(ctx, RegType::vgpr, write_count, write_datas, bytes, data);
......@@ -4066,6 +4074,10 @@ void store_lds(isel_context *ctx, unsigned elem_size_bytes, Temp data, uint32_t
} else {
instr = bld.ds(op, address_offset, split_data, m, inline_offset);
}
if (!m.tempId())
instr->operands.pop_back();
instr->ds().sync = memory_sync_info(storage_shared);
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment