diff options
author | Samuel Pitoiset <[email protected]> | 2016-09-14 23:02:38 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2016-09-29 21:20:50 +0200 |
commit | 3abe68b8282496688186157b51da5600ac540906 (patch) | |
tree | c2878ded35434e911322838d0340cf76cc4d6a7e /src/gallium/include/pipe | |
parent | 115c79be10bf3712a1e1bc25a563c90388c1bcaa (diff) |
nv50/ir: teach insnCanLoad() about SHLADD
Commutativity is not allowed with SHLADD, but src2 can accept
loads. To allow the load propagation pass to do its job, add a
special case like for SUCLAMP because src1 is always an immediate.
This IMAD to SHLADD optimization helps a bunch of shaders from Tomb
Raider, Victor Vran, UE4 demos (+15% perf with Elemental) and Shadow
Warrior.
GF100/GK104:
total instructions in shared programs :2838045 -> 2834712 (-0.12%)
total gprs used in shared programs :396684 -> 396386 (-0.08%)
total local used in shared programs :34416 -> 34416 (0.00%)
local gpr inst bytes
helped 0 326 1105 1105
hurt 0 55 3 3
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium/include/pipe')
0 files changed, 0 insertions, 0 deletions