Ian Romanick
52c7df1643
i965/fs: Merge CMP and SEL into CSEL on Gen8+
v2: Fix several problems handling inverted predicates. Add a much
bigger comment around the BRW_CONDITIONAL_NZ case.
v3: Allow uniforms and shader inputs as sources for the original SEL and
CMP instructions. This enables a LOT more shaders to receive CSEL
merging (5816 vs 8564 on SKL).
v4: Report progress.
Broadwell and Skylake had similar results. (Broadwell shown)
helped: 8527
HURT: 0
helped stats (abs) min: 1 max: 27 x̄: 2.44 x̃: 1
helped stats (rel) min: 0.03% max: 17.80% x̄: 1.12% x̃: 0.70%
95% mean confidence interval for instructions value: -2.51 -2.36
95% mean confidence interval for instructions %-change: -1.15% -1.10%
Instructions are helped.
total cycles in shared programs: 559442317 -> 558288357 (-0.21%)
cycles in affected programs: 372699860 -> 371545900 (-0.31%)
helped: 6748
HURT: 1450
helped stats (abs) min: 1 max: 32000 x̄: 182.41 x̃: 12
helped stats (rel) min: <.01% max: 66.08% x̄: 3.42% x̃: 0.70%
HURT stats (abs) min: 1 max: 2538 x̄: 53.08 x̃: 14
HURT stats (rel) min: <.01% max: 96.72% x̄: 3.32% x̃: 0.90%
95% mean confidence interval for cycles value: -179.01 -102.51
95% mean confidence interval for cycles %-change: -2.37% -2.08%
Cycles are helped.
LOST: 0
GAINED: 6
No changes on earlier platforms.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> [v1]
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> [v3]
Reviewed-by: Matt Turner <mattst88@gmail.com>
2018-03-08 15:26:26 -08:00
..
2017-12-07 18:27:05 -08:00
2017-03-22 16:55:22 +00:00
2017-05-26 07:58:01 -07:00
2017-05-26 07:58:01 -07:00
2018-02-28 15:03:51 -08:00
2017-05-26 07:58:01 -07:00
2017-05-26 07:58:01 -07:00
2017-05-26 07:58:01 -07:00
2017-11-17 12:14:38 -08:00
2017-05-26 07:58:01 -07:00
2018-03-07 12:13:47 -08:00
2018-03-07 12:13:47 -08:00
2017-03-22 16:55:22 +00:00
2018-02-05 09:50:56 -08:00
2017-11-17 21:51:16 -08:00
2018-03-08 15:26:26 -08:00
2018-02-28 11:15:47 -08:00
2018-03-07 12:13:47 -08:00
2018-03-08 15:26:26 -08:00
2017-03-13 11:16:35 +00:00
2018-02-28 11:15:47 -08:00
2018-02-28 11:15:47 -08:00
2018-03-08 15:26:26 -08:00
2017-12-21 15:19:59 -08:00
2018-03-08 15:26:26 -08:00
2017-10-05 11:54:49 -07:00
2018-01-17 11:56:08 -08:00
2018-03-08 15:26:26 -08:00
2017-12-07 18:27:04 -08:00
2017-12-07 18:27:04 -08:00
2017-04-14 14:56:07 -07:00
2018-03-07 12:13:47 -08:00
2017-04-24 11:01:40 -07:00
2017-11-21 10:13:07 -08:00
2017-07-20 16:56:49 -07:00
2017-12-06 08:57:18 +01:00
2017-12-06 08:57:18 +01:00
2017-12-21 15:20:17 -08:00
2018-03-08 15:26:26 -08:00
2018-03-08 15:26:26 -08:00
2018-03-05 09:47:37 -08:00
2018-03-07 12:13:47 -08:00
2018-03-08 15:26:26 -08:00
2018-02-10 17:59:02 +02:00
2018-01-02 16:51:42 -08:00
2018-03-07 12:13:47 -08:00
2017-10-20 12:49:17 -07:00
2017-09-27 09:07:28 -07:00
2018-03-07 12:13:47 -08:00
2018-02-07 08:38:01 +11:00
2018-03-05 09:47:37 -08:00
2018-02-28 11:15:47 -08:00
2018-03-07 12:13:47 -08:00
2018-03-02 11:28:56 -08:00
2018-03-07 12:13:47 -08:00
2018-03-02 11:28:56 -08:00
2018-02-28 11:15:47 -08:00
2017-10-05 11:54:49 -07:00
2017-09-26 15:35:14 -07:00
2017-04-14 14:56:09 -07:00
2018-03-02 14:20:22 -08:00
2017-05-09 15:08:07 -07:00
2018-03-02 14:20:22 -08:00
2017-05-09 15:08:07 -07:00
2017-04-14 14:56:08 -07:00
2017-12-30 20:30:34 -08:00
2017-08-21 14:45:44 -07:00
2017-09-26 15:35:11 -07:00
2018-03-02 14:20:22 -08:00
2017-05-09 15:08:07 -07:00
2017-05-09 15:08:07 -07:00
2017-05-09 15:08:07 -07:00
2018-02-28 11:15:47 -08:00
2018-01-02 16:51:42 -08:00
2018-01-02 16:51:42 -08:00
2018-03-08 15:26:26 -08:00
2018-03-02 14:20:22 -08:00
2017-05-09 15:07:47 -07:00
2017-06-01 00:08:29 -07:00
2018-01-11 15:40:02 -08:00
2018-02-27 11:42:39 -08:00
2018-02-28 11:15:47 -08:00
2017-11-21 10:13:07 -08:00