diff options
author | Matt Turner <[email protected]> | 2015-04-02 10:21:16 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-04-17 11:01:34 -0700 |
commit | 4dacb212fdcc82def02b8c9233f94caa5a8a3000 (patch) | |
tree | f314ac71f6f3ecc0e6f5b7ba10616ce2bcb59ec9 /src/glsl/nir/nir_opt_peephole_select.c | |
parent | 472ef9a02f2e5c5d0caa2809cb736a0f4f0d4693 (diff) |
nir: Allow abs/neg in select peephole pass.
total instructions in shared programs: 4314531 -> 4308949 (-0.13%)
instructions in affected programs: 429085 -> 423503 (-1.30%)
helped: 1680
HURT: 0
GAINED: 0
LOST: 111
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/glsl/nir/nir_opt_peephole_select.c')
-rw-r--r-- | src/glsl/nir/nir_opt_peephole_select.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/glsl/nir/nir_opt_peephole_select.c b/src/glsl/nir/nir_opt_peephole_select.c index b89451b09f9..f400cfd66da 100644 --- a/src/glsl/nir/nir_opt_peephole_select.c +++ b/src/glsl/nir/nir_opt_peephole_select.c @@ -84,7 +84,9 @@ block_check_for_allowed_instrs(nir_block *block) case nir_instr_type_alu: { /* It must be a move operation */ nir_alu_instr *mov = nir_instr_as_alu(instr); - if (mov->op != nir_op_fmov && mov->op != nir_op_imov) + if (mov->op != nir_op_fmov && mov->op != nir_op_imov && + mov->op != nir_op_fneg && mov->op != nir_op_ineg && + mov->op != nir_op_fabs && mov->op != nir_op_iabs) return false; /* Can't handle saturate */ |