From a3dc1441f01e575d612fdbf900518a3a81df94ac Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Thu, 23 Apr 2020 17:17:49 +0100 Subject: [PATCH] aco: clobber scc in s_bfe_u32 in get_alu_src() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_instruction_selection.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index f2fbfa46851..4366e8b2362 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -501,10 +501,11 @@ Temp get_alu_src(struct isel_context *ctx, nir_alu_src src, unsigned size=1) return vec; Temp dst{ctx->program->allocateId(), s1}; - aco_ptr bfe{create_instruction(aco_opcode::s_bfe_u32, Format::SOP2, 2, 1)}; + aco_ptr bfe{create_instruction(aco_opcode::s_bfe_u32, Format::SOP2, 2, 2)}; bfe->operands[0] = Operand(vec); bfe->operands[1] = Operand(uint32_t((src.src.ssa->bit_size << 16) | (src.src.ssa->bit_size * swizzle))); bfe->definitions[0] = Definition(dst); + bfe->definitions[1] = Definition(ctx->program->allocateId(), scc, s1); ctx->block->instructions.emplace_back(std::move(bfe)); return dst; } -- 2.30.2