From 81812accccc2076e0b8dc466149a8f551dea9805 Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Thu, 22 Apr 2021 19:40:00 +0200 Subject: [PATCH] ir3: Use correct flags for movmsk & multi-mov Part-of: --- src/freedreno/ir3/ir3.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/freedreno/ir3/ir3.c b/src/freedreno/ir3/ir3.c index 9d9bf7d..977b87b 100644 --- a/src/freedreno/ir3/ir3.c +++ b/src/freedreno/ir3/ir3.c @@ -748,7 +748,16 @@ ir3_valid_flags(struct ir3_instruction *instr, unsigned n, case 0: /* end, chmask */ return flags == 0; case 1: - valid_flags = IR3_REG_IMMED | IR3_REG_CONST | IR3_REG_RELATIV; + switch (instr->opc) { + case OPC_MOVMSK: + case OPC_SWZ: + case OPC_SCT: + case OPC_GAT: + valid_flags = 0; + break; + default: + valid_flags = IR3_REG_IMMED | IR3_REG_CONST | IR3_REG_RELATIV; + } if (flags & ~valid_flags) return false; break; -- 2.7.4