diff options
author | Ian Romanick <[email protected]> | 2018-02-21 18:30:20 -0800 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2019-04-18 12:37:48 -0700 |
commit | 25bfba3335d0fb2822dac02822d096dd75b3ef4d (patch) | |
tree | 72bb3f7a916ac0b45f14636bd98de1243c24ec22 /README.rst | |
parent | 1711bf6cf2de45e182427130fd0e587c7ce16a70 (diff) |
nir/algebraic: Recognize open-coded copysign(1.0, a)
All of the affected shaders are in Mad Max. The inner part of the
pattern is itself an open-coded sign(a). I tried using that as a
pattern, but the results were not good. A bunch of shaders were helped
for instructions, but overall cycles, spill, and fills were hurt.
v2: Rebase on 1-bit Boolean changes.
v3: Fix order of copysign() parameters in comments and commit message.
Noticed by Matt.
All Gen7+ platforms had similar results. (Skylake shown)
total instructions in shared programs: 15282141 -> 15282073 (<.01%)
instructions in affected programs: 6106 -> 6038 (-1.11%)
helped: 17
HURT: 0
helped stats (abs) min: 4 max: 4 x̄: 4.00 x̃: 4
helped stats (rel) min: 1.02% max: 2.20% x̄: 1.15% x̃: 1.06%
95% mean confidence interval for instructions value: -4.00 -4.00
95% mean confidence interval for instructions %-change: -1.30% -1.00%
Instructions are helped.
total cycles in shared programs: 372597886 -> 372595954 (<.01%)
cycles in affected programs: 32701 -> 30769 (-5.91%)
helped: 17
HURT: 0
helped stats (abs) min: 6 max: 216 x̄: 113.65 x̃: 118
helped stats (rel) min: 0.40% max: 21.86% x̄: 6.20% x̃: 5.83%
95% mean confidence interval for cycles value: -152.84 -74.45
95% mean confidence interval for cycles %-change: -8.89% -3.51%
Cycles are helped.
No changes on any Gen6 or earlier platforms.
Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'README.rst')
0 files changed, 0 insertions, 0 deletions