From: Ian Romanick Date: Tue, 25 Feb 2020 19:37:01 +0000 (-0800) Subject: intel/fs: Allow NOT instructions in conditional discard optimization X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c144875f624d17f3d28141f2ae7311865e7b03c8;p=mesa.git intel/fs: Allow NOT instructions in conditional discard optimization I don't know why I explicitly disallowed NOT in the first place. :( All Intel platforms had similar results. (Ice Lake shown) total instructions in shared programs: 14549846 -> 14549770 (<.01%) instructions in affected programs: 12934 -> 12858 (-0.59%) helped: 76 HURT: 0 helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 helped stats (rel) min: 0.13% max: 5.56% x̄: 1.04% x̃: 0.90% 95% mean confidence interval for instructions value: -1.00 -1.00 95% mean confidence interval for instructions %-change: -1.25% -0.84% Instructions are helped. total cycles in shared programs: 203793967 -> 203792696 (<.01%) cycles in affected programs: 77920 -> 76649 (-1.63%) helped: 67 HURT: 1 helped stats (abs) min: 2 max: 36 x̄: 19.00 x̃: 16 helped stats (rel) min: 0.04% max: 4.68% x̄: 2.35% x̃: 2.28% HURT stats (abs) min: 2 max: 2 x̄: 2.00 x̃: 2 HURT stats (rel) min: 0.03% max: 0.03% x̄: 0.03% x̃: 0.03% 95% mean confidence interval for cycles value: -20.75 -16.63 95% mean confidence interval for cycles %-change: -2.57% -2.05% Cycles are helped. Reviewed-by: Matt Turner Tested-by: Marge Bot Part-of: --- diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp index c602ff55dc4..a593d47d1bf 100644 --- a/src/intel/compiler/brw_fs_nir.cpp +++ b/src/intel/compiler/brw_fs_nir.cpp @@ -3512,7 +3512,6 @@ fs_visitor::nir_emit_fs_intrinsic(const fs_builder &bld, if (alu != NULL && alu->op != nir_op_bcsel && - alu->op != nir_op_inot && (devinfo->gen > 5 || (alu->instr.pass_flags & BRW_NIR_BOOLEAN_MASK) != BRW_NIR_BOOLEAN_NEEDS_RESOLVE || alu->op == nir_op_fne32 || alu->op == nir_op_feq32 ||