Skip to content
  • Ian Romanick's avatar
    nir: See through an fneg to apply existing optimizations · cfc0d348
    Ian Romanick authored
    
    
    Doing the same for the existing feq and fne transformations didn't help
    anything in shader-db.
    
    shader-db results:
    
    Broadwell and Skylake (Skylake shown)
    total instructions in shared programs: 14529463 -> 14526147 (-0.02%)
    instructions in affected programs: 402420 -> 399104 (-0.82%)
    helped: 2136
    HURT: 131
    helped stats (abs) min: 1 max: 10 x̄: 1.61 x̃: 1
    helped stats (rel) min: 0.03% max: 16.22% x̄: 3.14% x̃: 1.12%
    HURT stats (abs)   min: 1 max: 2 x̄: 1.01 x̃: 1
    HURT stats (rel)   min: 0.13% max: 7.69% x̄: 0.75% x̃: 0.57%
    95% mean confidence interval for instructions value: -1.51 -1.41
    95% mean confidence interval for instructions %-change: -3.06% -2.78%
    Instructions are helped.
    
    total cycles in shared programs: 533146915 -> 533120531 (<.01%)
    cycles in affected programs: 10356261 -> 10329877 (-0.25%)
    helped: 1933
    HURT: 844
    helped stats (abs) min: 1 max: 490 x̄: 29.44 x̃: 16
    helped stats (rel) min: <.01% max: 28.57% x̄: 3.43% x̃: 1.88%
    HURT stats (abs)   min: 1 max: 423 x̄: 36.17 x̃: 12
    HURT stats (rel)   min: <.01% max: 23.75% x̄: 1.90% x̃: 0.59%
    95% mean confidence interval for cycles value: -11.78 -7.22
    95% mean confidence interval for cycles %-change: -1.98% -1.65%
    Cycles are helped.
    
    Haswell
    total instructions in shared programs: 9037416 -> 9034106 (-0.04%)
    instructions in affected programs: 389831 -> 386521 (-0.85%)
    helped: 2184
    HURT: 120
    helped stats (abs) min: 1 max: 11 x̄: 1.57 x̃: 1
    helped stats (rel) min: 0.03% max: 25.00% x̄: 2.73% x̃: 1.02%
    HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
    HURT stats (rel)   min: 0.19% max: 7.69% x̄: 0.81% x̃: 0.57%
    95% mean confidence interval for instructions value: -1.49 -1.39
    95% mean confidence interval for instructions %-change: -2.68% -2.41%
    Instructions are helped.
    
    total cycles in shared programs: 84636243 -> 84631628 (<.01%)
    cycles in affected programs: 4745058 -> 4740443 (-0.10%)
    helped: 1904
    HURT: 960
    helped stats (abs) min: 1 max: 466 x̄: 30.21 x̃: 18
    helped stats (rel) min: 0.02% max: 36.36% x̄: 3.57% x̃: 2.38%
    HURT stats (abs)   min: 1 max: 1080 x̄: 55.11 x̃: 14
    HURT stats (rel)   min: 0.02% max: 51.33% x̄: 2.77% x̃: 0.81%
    95% mean confidence interval for cycles value: -4.51 1.29
    95% mean confidence interval for cycles %-change: -1.64% -1.25%
    Inconclusive result (value mean confidence interval includes 0).
    
    LOST:   1
    GAINED: 0
    
    Sandy Bridge and Ivy Bridge (Ivy Bridge shown)
    total instructions in shared programs: 10018873 -> 10015456 (-0.03%)
    instructions in affected programs: 512820 -> 509403 (-0.67%)
    helped: 2268
    HURT: 162
    helped stats (abs) min: 1 max: 11 x̄: 1.62 x̃: 1
    helped stats (rel) min: 0.03% max: 25.00% x̄: 2.47% x̃: 0.88%
    HURT stats (abs)   min: 1 max: 4 x̄: 1.59 x̃: 1
    HURT stats (rel)   min: 0.09% max: 7.69% x̄: 0.86% x̃: 0.50%
    95% mean confidence interval for instructions value: -1.46 -1.35
    95% mean confidence interval for instructions %-change: -2.38% -2.12%
    Instructions are helped.
    
    total cycles in shared programs: 87538223 -> 87524771 (-0.02%)
    cycles in affected programs: 5435520 -> 5422068 (-0.25%)
    helped: 1916
    HURT: 946
    helped stats (abs) min: 1 max: 1392 x̄: 29.44 x̃: 18
    helped stats (rel) min: <.01% max: 34.51% x̄: 3.34% x̃: 1.97%
    HURT stats (abs)   min: 1 max: 633 x̄: 45.41 x̃: 11
    HURT stats (rel)   min: 0.02% max: 25.95% x̄: 2.41% x̃: 0.62%
    95% mean confidence interval for cycles value: -7.34 -2.06
    95% mean confidence interval for cycles %-change: -1.62% -1.26%
    Cycles are helped.
    
    LOST:   1
    GAINED: 0
    
    Iron Lake
    total instructions in shared programs: 7888446 -> 7886959 (-0.02%)
    instructions in affected programs: 331581 -> 330094 (-0.45%)
    helped: 1160
    HURT: 97
    helped stats (abs) min: 1 max: 10 x̄: 1.37 x̃: 1
    helped stats (rel) min: 0.02% max: 9.68% x̄: 0.93% x̃: 0.43%
    HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
    HURT stats (rel)   min: 0.17% max: 4.17% x̄: 0.37% x̃: 0.25%
    95% mean confidence interval for instructions value: -1.25 -1.12
    95% mean confidence interval for instructions %-change: -0.91% -0.75%
    Instructions are helped.
    
    total cycles in shared programs: 178130766 -> 178116996 (<.01%)
    cycles in affected programs: 12534564 -> 12520794 (-0.11%)
    helped: 1856
    HURT: 187
    helped stats (abs) min: 2 max: 202 x̄: 7.78 x̃: 4
    helped stats (rel) min: <.01% max: 6.47% x̄: 0.28% x̃: 0.11%
    HURT stats (abs)   min: 2 max: 26 x̄: 3.55 x̃: 2
    HURT stats (rel)   min: 0.01% max: 2.14% x̄: 0.08% x̃: 0.02%
    95% mean confidence interval for cycles value: -7.41 -6.07
    95% mean confidence interval for cycles %-change: -0.28% -0.22%
    Cycles are helped.
    
    GM45
    total instructions in shared programs: 4858912 -> 4857887 (-0.02%)
    instructions in affected programs: 237565 -> 236540 (-0.43%)
    helped: 867
    HURT: 57
    helped stats (abs) min: 1 max: 10 x̄: 1.25 x̃: 1
    helped stats (rel) min: 0.02% max: 9.38% x̄: 0.87% x̃: 0.43%
    HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
    HURT stats (rel)   min: 0.16% max: 3.85% x̄: 0.34% x̃: 0.22%
    95% mean confidence interval for instructions value: -1.18 -1.04
    95% mean confidence interval for instructions %-change: -0.88% -0.71%
    Instructions are helped.
    
    total cycles in shared programs: 122189118 -> 122180816 (<.01%)
    cycles in affected programs: 8776418 -> 8768116 (-0.09%)
    helped: 1213
    HURT: 166
    helped stats (abs) min: 2 max: 202 x̄: 7.30 x̃: 4
    helped stats (rel) min: <.01% max: 6.43% x̄: 0.25% x̃: 0.11%
    HURT stats (abs)   min: 2 max: 26 x̄: 3.35 x̃: 2
    HURT stats (rel)   min: 0.01% max: 2.14% x̄: 0.06% x̃: 0.02%
    95% mean confidence interval for cycles value: -6.78 -5.26
    95% mean confidence interval for cycles %-change: -0.24% -0.18%
    Cycles are helped.
    
    Signed-off-by: default avatarIan Romanick <ian.d.romanick@intel.com>
    Reviewed-by: default avatarSamuel Iglesias Gonsálvez <siglesias@igalia.com>
    Reviewed-by: default avatarElie Tournier <elie.tournier@collabora.com>
    cfc0d348