Mesa (master): aco: fix 64bit fsub

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Apr 20 15:37:26 UTC 2020


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

Author: Daniel Schürmann <daniel at schuermann.dev>
Date:   Mon Apr 20 12:59:21 2020 +0100

aco: fix 64bit fsub

Fixes: 425558bfd595ed3a7a049ad0f47a46b8b3c4691e ('aco: use v_subrev_f32 for fsub with an sgpr operand in src1')

Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4642>

---

 src/amd/compiler/aco_instruction_selection.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp
index af1a5e4f111..1043bb2d2c0 100644
--- a/src/amd/compiler/aco_instruction_selection.cpp
+++ b/src/amd/compiler/aco_instruction_selection.cpp
@@ -1654,7 +1654,7 @@ void visit_alu_instr(isel_context *ctx, nir_alu_instr *instr)
             emit_vop2_instruction(ctx, instr, aco_opcode::v_subrev_f32, dst, true);
       } else if (dst.regClass() == v2) {
          Instruction* add = bld.vop3(aco_opcode::v_add_f64, Definition(dst),
-                                     src0, src1);
+                                     as_vgpr(ctx, src0), as_vgpr(ctx, src1));
          VOP3A_instruction* sub = static_cast<VOP3A_instruction*>(add);
          sub->neg[1] = true;
       } else {



More information about the mesa-commit mailing list