From 97ecc0d4dcaaf7ba5d993b507249cd77d4faea74 Mon Sep 17 00:00:00 2001 From: Job Noorman Date: Wed, 20 Aug 2025 17:16:46 +0200 Subject: [PATCH] ir3: don't vectorize nir_op_sdot_4x8_iadd[_sat] They don't support being repeated. Fixes a compiler crash in Hogwarts Legacy. Signed-off-by: Job Noorman Fixes: 58d18bc7a81 ("ir3: lower vectorized NIR instructions") Part-of: (cherry picked from commit b53682f41bf52a2bd6f573568d77cca864d716dd) --- .pick_status.json | 2 +- src/freedreno/ir3/ir3_rpt.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index c1372730da5..4790cffdd14 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -7864,7 +7864,7 @@ "description": "ir3: don't vectorize nir_op_sdot_4x8_iadd[_sat]", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "58d18bc7a817e8514414a7d4090f1dfde3315b47", "notes": null diff --git a/src/freedreno/ir3/ir3_rpt.c b/src/freedreno/ir3/ir3_rpt.c index c430caa0a86..fc0ffdfa535 100644 --- a/src/freedreno/ir3/ir3_rpt.c +++ b/src/freedreno/ir3/ir3_rpt.c @@ -19,6 +19,8 @@ ir3_supports_vectorized_nir_op(nir_op op) case nir_op_udot_4x8_uadd_sat: case nir_op_sudot_4x8_iadd: case nir_op_sudot_4x8_iadd_sat: + case nir_op_sdot_4x8_iadd: + case nir_op_sdot_4x8_iadd_sat: /* Among SFU instructions, only rcp doesn't seem to support repeat. */ case nir_op_frcp: