Mesa (master): ir3: treat 16b imul as mul.s24

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 20 20:54:32 UTC 2021


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

Author: Danylo Piliaiev <dpiliaiev at igalia.com>
Date:   Thu Apr  8 15:06:21 2021 +0300

ir3: treat 16b imul as mul.s24

Signed-off-by: Danylo Piliaiev <dpiliaiev at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10054>

---

 src/freedreno/ir3/ir3_compiler_nir.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c
index bfafd4de66f..71bfb9aff78 100644
--- a/src/freedreno/ir3/ir3_compiler_nir.c
+++ b/src/freedreno/ir3/ir3_compiler_nir.c
@@ -571,6 +571,10 @@ emit_alu(struct ir3_context *ctx, nir_alu_instr *alu)
 	case nir_op_imad24_ir3:
 		dst[0] = ir3_MAD_S24(b, src[0], 0, src[1], 0, src[2], 0);
 		break;
+	case nir_op_imul:
+		compile_assert(ctx, nir_dest_bit_size(alu->dest.dest) == 16);
+		dst[0] = ir3_MUL_S24(b, src[0], 0, src[1], 0);
+		break;
 	case nir_op_imul24:
 		dst[0] = ir3_MUL_S24(b, src[0], 0, src[1], 0);
 		break;



More information about the mesa-commit mailing list