Mesa (master): aco: clobber scc in s_bfe_u32 in get_alu_src()

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Apr 24 19:01:31 UTC 2020


Module: Mesa
Branch: master
Commit: a3dc1441f01e575d612fdbf900518a3a81df94ac
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3dc1441f01e575d612fdbf900518a3a81df94ac

Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Thu Apr 23 17:17:49 2020 +0100

aco: clobber scc in s_bfe_u32 in get_alu_src()

Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>

---

 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<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;
    }



More information about the mesa-commit mailing list