summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schürmann <daniel@schuermann.dev>2021-07-14 13:47:01 +0200
committerDaniel Schürmann <daniel@schuermann.dev>2021-07-14 18:10:40 +0200
commit114d38e57d78b4141a8cf4359437773f931877a5 (patch)
treeae2597f1dea3124469194704d4c213e434dd61f4
parent940725a7d991939aae576f73e4815fad34a68a22 (diff)
aco/isel: avoid unnecessary calls to nir_unsigned_upper_bound()
These were responsible for ~20% of the time spent in instruction selection. Reduces overall compile times by ~0.5%. Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11879>
-rw-r--r--src/amd/compiler/aco_instruction_selection.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp
index 85f5ae23dde..d5a48264ff8 100644
--- a/src/amd/compiler/aco_instruction_selection.cpp
+++ b/src/amd/compiler/aco_instruction_selection.cpp
@@ -855,8 +855,8 @@ emit_vop2_instruction(isel_context* ctx, nir_alu_instr* instr, aco_opcode op, Te
Operand op1(src1);
for (int i = 0; i < 2; i++) {
- uint32_t src_ub = get_alu_src_ub(ctx, instr, swap_srcs ? !i : i);
if (uses_ub & (1 << i)) {
+ uint32_t src_ub = get_alu_src_ub(ctx, instr, swap_srcs ? !i : i);
if (src_ub <= 0xffff)
bld.set16bit(i ? op1 : op0);
else if (src_ub <= 0xffffff)