Skip to content
  • Ian Romanick's avatar
    intel/compiler: Use the flrp lowering pass for all stages on Gen4 and Gen5 · dd7135d5
    Ian Romanick authored
    Previously lower_flrp32 was only set for vertex shaders.  Fragment
    shaders performed a(1-c)+bc lowering during code generation.
    
    The shaders with loops hurt are SIMD8 and SIMD16 shaders for a
    text-identical fragment shader.
    
    v2: Rebase on 26391cce ("intel/compiler: Lower ffma on Gen4 and
    Gen5").
    
    v3: Rebase on a004e95d ("radeonsi/nir: create si_nir_opts() helper")
    
    Iron Lake
    total instructions in shared programs: 8211385 -> 8185974 (-0.31%)
    instructions in affected programs: 2503898 -> 2478487 (-1.01%)
    helped: 9936
    HURT: 921
    helped stats (abs) min: 1 max: 155 x̄: 2.86 x̃: 2
    helped stats (rel) min: 0.10% max: 35.48% x̄: 1.67% x̃: 1.11%
    HURT stats (abs)   min: 1 max: 12 x̄: 3.24 x̃: 2
    HURT stats (rel)   min: 0.21% max: 13.64% x̄: 1.86% x̃: 0.89%
    95% mean confidence interval for instructions value: -2.43 -2.25
    95% mean confidence interval for instructions %-change: -1.41% -1.33%
    Instructions are helped.
    
    total cycles in shared programs: 188523186 -> 188401198 (-0.06%)
    cycles in affected programs: 71541604 -> 71419616 (-0.17%)
    helped: 11649
    HURT: 1871
    helped stats (abs) min: 2 max: 930 x̄: 12.62 x̃: 6
    helped stats (rel) min: <.01% max: 44.61% x̄: 0.68% x̃: 0.25%
    HURT stats (abs)   min: 2 max: 138 x̄: 13.38 x̃: 8
    HURT stats (rel)   min: <.01% max: 10.99% x̄: 0.49% x̃: 0.17%
    95% mean confidence interval for cycles value: -9.42 -8.63
    95% mean confidence interval for cycles %-change: -0.54% -0.50%
    Cycles are helped.
    
    total loops in shared programs: 852 -> 856 (0.47%)
    loops in affected programs: 0 -> 4
    helped: 0
    HURT: 4
    HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
    HURT stats (rel)   min: 0.00% max: 0.00% x̄: 0.00% x̃: 0.00%
    95% mean confidence interval for loops value: 1.00 1.00
    95% mean confidence interval for loops %-change: 0.00% 0.00%
    Loops are HURT.
    
    LOST:   3
    GAINED: 12
    
    GM45
    total instructions in shared programs: 5046407 -> 5033694 (-0.25%)
    instructions in affected programs: 1303584 -> 1290871 (-0.98%)
    helped: 5010
    HURT: 464
    helped stats (abs) min: 1 max: 155 x̄: 2.85 x̃: 2
    helped stats (rel) min: 0.10% max: 34.38% x̄: 1.63% x̃: 1.08%
    HURT stats (abs)   min: 1 max: 75 x̄: 3.39 x̃: 2
    HURT stats (rel)   min: 0.20% max: 13.04% x̄: 1.84% x̃: 0.87%
    95% mean confidence interval for instructions value: -2.45 -2.20
    95% mean confidence interval for instructions %-change: -1.40% -1.28%
    Instructions are helped.
    
    total cycles in shared programs: 128889476 -> 128812366 (-0.06%)
    cycles in affected programs: 44845402 -> 44768292 (-0.17%)
    helped: 6079
    HURT: 940
    helped stats (abs) min: 2 max: 930 x̄: 15.16 x̃: 8
    helped stats (rel) min: <.01% max: 41.03% x̄: 0.71% x̃: 0.25%
    HURT stats (abs)   min: 2 max: 138 x̄: 16.01 x̃: 8
    HURT stats (rel)   min: <.01% max: 10.99% x̄: 0.50% x̃: 0.17%
    95% mean confidence interval for cycles value: -11.63 -10.34
    95% mean confidence interval for cycles %-change: -0.58% -0.52%
    Cycles are helped.
    
    total loops in shared programs: 633 -> 635 (0.32%)
    loops in affected programs: 0 -> 2
    helped: 0
    HURT: 2
    
    total spills in shared programs: 60 -> 69 (15.00%)
    spills in affected programs: 54 -> 63 (16.67%)
    helped: 0
    HURT: 1
    
    total fills in shared programs: 92 -> 105 (14.13%)
    fills in affected programs: 80 -> 93 (16.25%)
    helped: 0
    HURT: 1
    
    LOST:   15
    GAINED: 15
    
    Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> [v2]
    Reviewed-by: Matt Turner <mattst88@gmail.com> [v2]
    dd7135d5