From 01ccd7839cb5f2266aed2e7693dda374752c86a6 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Tue, 3 Dec 2019 14:10:45 +0000 Subject: [PATCH] aco: improve jump threading with wave32 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Totals from affected shaders: SGPRS: 748746 -> 748746 (0.00 %) VGPRS: 636984 -> 636984 (0.00 %) Spilled SGPRs: 387 -> 387 (0.00 %) Spilled VGPRs: 15 -> 15 (0.00 %) Code Size: 61138824 -> 60928620 (-0.34 %) bytes Max Waves: 48602 -> 48602 (0.00 %) Instructions: 11967660 -> 11915084 (-0.44 %) Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann --- src/amd/compiler/aco_ssa_elimination.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/compiler/aco_ssa_elimination.cpp b/src/amd/compiler/aco_ssa_elimination.cpp index 54e691ba476..95e2e842a9c 100644 --- a/src/amd/compiler/aco_ssa_elimination.cpp +++ b/src/amd/compiler/aco_ssa_elimination.cpp @@ -153,7 +153,8 @@ void try_remove_invert_block(ssa_elimination_ctx& ctx, Block* block) for (aco_ptr& instr : block->instructions) { if (instr->opcode != aco_opcode::p_linear_phi && instr->opcode != aco_opcode::p_phi && - instr->opcode != aco_opcode::s_andn2_b64 && + (instr->opcode != aco_opcode::s_andn2_b64 || ctx.program->wave_size != 64) && + (instr->opcode != aco_opcode::s_andn2_b32 || ctx.program->wave_size != 32) && instr->opcode != aco_opcode::p_branch) return; } -- 2.30.2