summaryrefslogtreecommitdiffstats
path: root/src/glsl/nir/nir_opt_peephole_select.c
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2015-04-02 10:21:16 -0700
committerJason Ekstrand <[email protected]>2015-04-17 11:01:34 -0700
commit4dacb212fdcc82def02b8c9233f94caa5a8a3000 (patch)
treef314ac71f6f3ecc0e6f5b7ba10616ce2bcb59ec9 /src/glsl/nir/nir_opt_peephole_select.c
parent472ef9a02f2e5c5d0caa2809cb736a0f4f0d4693 (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.c4
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 */