diff options
author | Rhys Perry <[email protected]> | 2020-04-23 17:17:49 +0100 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-04-24 18:52:54 +0000 |
commit | a3dc1441f01e575d612fdbf900518a3a81df94ac (patch) | |
tree | 735a91a8e75a95107aef4f119da4aad14b5a83b9 | |
parent | 78389f4cbcf5b8c749dd60d9aed2b56a27b09327 (diff) |
aco: clobber scc in s_bfe_u32 in get_alu_src()
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>
-rw-r--r-- | src/amd/compiler/aco_instruction_selection.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
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<SOP2_instruction> bfe{create_instruction<SOP2_instruction>(aco_opcode::s_bfe_u32, Format::SOP2, 2, 1)}; + aco_ptr<SOP2_instruction> bfe{create_instruction<SOP2_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; } |