From 79821d7afb0b8b153f6c8e2d1f682c5b714a4da1 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Mon, 29 May 2023 16:39:39 +0200 Subject: [PATCH] aco: p_start_linear_vgpr doesn't always need exec mask Foz-DB Navi21: Totals from 1605 (1.21% of 132657) affected shaders: CodeSize: 14023700 -> 14020320 (-0.02%) Instrs: 2589881 -> 2589052 (-0.03%) Latency: 22478420 -> 22473359 (-0.02%) InvThroughput: 3851237 -> 3851092 (-0.00%) Copies: 215316 -> 215438 (+0.06%); split: -0.39%, +0.44% Allows more vcmpx usage. Part-of: --- src/amd/compiler/aco_ir.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/amd/compiler/aco_ir.cpp b/src/amd/compiler/aco_ir.cpp index d4d76505270..639b6db54e9 100644 --- a/src/amd/compiler/aco_ir.cpp +++ b/src/amd/compiler/aco_ir.cpp @@ -849,6 +849,7 @@ needs_exec_mask(const Instruction* instr) case aco_opcode::p_logical_end: case aco_opcode::p_startpgm: case aco_opcode::p_init_scratch: return instr->reads_exec(); + case aco_opcode::p_start_linear_vgpr: return instr->operands.size(); default: break; } }