nir/serach: Increase maximum commutative expressions from 4 to 8

No shader-db change on any Intel platform.  No shader-db run-time
difference on a certain 36-core / 72-thread system at 95% confidence
(n=20).

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
This commit is contained in:
Ian Romanick 2019-06-24 15:30:35 -07:00
parent 1a43cf9a40
commit 02c6cd8481
2 changed files with 4 additions and 2 deletions

View File

@ -36,7 +36,7 @@ import traceback
from nir_opcodes import opcodes, type_sizes
# This should be the same as NIR_SEARCH_MAX_COMM_OPS in nir_search.c
nir_search_max_comm_ops = 4
nir_search_max_comm_ops = 8
# These opcodes are only employed by nir_search. This provides a mapping from
# opcode to destination type.

View File

@ -31,7 +31,7 @@
#include "util/half_float.h"
/* This should be the same as nir_search_max_comm_ops in nir_algebraic.py. */
#define NIR_SEARCH_MAX_COMM_OPS 4
#define NIR_SEARCH_MAX_COMM_OPS 8
struct match_state {
bool inexact_match;
@ -632,6 +632,8 @@ nir_replace_instr(nir_builder *build, nir_alu_instr *instr,
state.inexact_match = false;
state.has_exact_alu = false;
STATIC_ASSERT(sizeof(state.comm_op_direction) * 8 >= NIR_SEARCH_MAX_COMM_OPS);
unsigned comm_expr_combinations =
1 << MIN2(search->comm_exprs, NIR_SEARCH_MAX_COMM_OPS);