From a47c3f84fb28a65bc74a922ef7f6eea28f1845d3 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Tue, 7 Mar 2023 14:07:23 +0100 Subject: [PATCH] aco: use integer access for neg_lo/neg_hi Reviewed-by: Rhys Perry Part-of: --- src/amd/compiler/aco_instruction_selection.cpp | 3 +-- src/amd/compiler/aco_optimizer.cpp | 10 ++++------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 1b6f877..e94303e 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -1038,8 +1038,7 @@ emit_idot_instruction(isel_context* ctx, nir_alu_instr* instr, aco_opcode op, Te VALU_instruction& vop3p = bld.vop3p(op, Definition(dst), src[0], src[1], src[2], 0x0, 0x7)->valu(); vop3p.clamp = clamp; - u_foreach_bit (i, neg_lo) - vop3p.neg_lo[i] = true; + vop3p.neg_lo = neg_lo; } void diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp index e5c5681..7e4a6e3 100644 --- a/src/amd/compiler/aco_optimizer.cpp +++ b/src/amd/compiler/aco_optimizer.cpp @@ -3741,17 +3741,15 @@ propagate_swizzles(VALU_instruction* instr, uint8_t opsel_lo, uint8_t opsel_hi) assert((opsel_hi & 1) == opsel_hi); uint8_t tmp_lo = instr->opsel_lo; uint8_t tmp_hi = instr->opsel_hi; - bool neg_lo[3] = {instr->neg_lo[0], instr->neg_lo[1], instr->neg_lo[2]}; - bool neg_hi[3] = {instr->neg_hi[0], instr->neg_hi[1], instr->neg_hi[2]}; + uint8_t neg_lo = instr->neg_lo; + uint8_t neg_hi = instr->neg_hi; if (opsel_lo == 1) { instr->opsel_lo = tmp_hi; - for (unsigned i = 0; i < 3; i++) - instr->neg_lo[i] = neg_hi[i]; + instr->neg_lo = neg_hi; } if (opsel_hi == 0) { instr->opsel_hi = tmp_lo; - for (unsigned i = 0; i < 3; i++) - instr->neg_hi[i] = neg_lo[i]; + instr->neg_hi = neg_lo; } } -- 2.7.4