Skip to content
  • Ian Romanick's avatar
    nir/flrp: Lower flrp(#a, #b, c) differently · 23c5501b
    Ian Romanick authored
    If the magnitudes of #a and #b are such that (b-a) won't lose too much
    precision, lower as a+c(b-a).
    
    No changes on any other Intel platforms.
    
    v2: Rebase on 424372e5
    
     ("nir: Use the flrp lowering pass instead of
    nir_opt_algebraic")
    
    Iron Lake and GM45 had similar results. (Iron Lake shown)
    total instructions in shared programs: 8192503 -> 8192383 (<.01%)
    instructions in affected programs: 18417 -> 18297 (-0.65%)
    helped: 68
    HURT: 0
    helped stats (abs) min: 1 max: 18 x̄: 1.76 x̃: 1
    helped stats (rel) min: 0.19% max: 7.89% x̄: 1.10% x̃: 0.43%
    95% mean confidence interval for instructions value: -2.48 -1.05
    95% mean confidence interval for instructions %-change: -1.56% -0.63%
    Instructions are helped.
    
    total cycles in shared programs: 188662536 -> 188661956 (<.01%)
    cycles in affected programs: 744476 -> 743896 (-0.08%)
    helped: 62
    HURT: 0
    helped stats (abs) min: 4 max: 60 x̄: 9.35 x̃: 6
    helped stats (rel) min: 0.02% max: 4.84% x̄: 0.27% x̃: 0.06%
    95% mean confidence interval for cycles value: -12.37 -6.34
    95% mean confidence interval for cycles %-change: -0.48% -0.06%
    Cycles are helped.
    
    Reviewed-by: default avatarMatt Turner <mattst88@gmail.com>
    23c5501b