nvc0/ir: treat FMA like MAD for operand propagation
authorKarol Herbst <karolherbst@gmail.com>
Sun, 19 Mar 2017 00:08:56 +0000 (01:08 +0100)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sun, 19 Mar 2017 00:15:45 +0000 (20:15 -0400)
commit09f16de7e624938d46a63b8285fc5b21050962e9
treef8988ea75b81f5d75f5e69e71ff2ba941b16753f
parenta7eb7984bf2ad0562c315c1d641561419c3f1ebe
nvc0/ir: treat FMA like MAD for operand propagation

Helps mainly Feral-ported games, due to their use of fma()

shader-db changes:
total instructions in shared programs : 3901147 -> 3842505 (-1.50%)
total gprs used in shared programs    : 471258 -> 467359 (-0.83%)
total local used in shared programs   : 27405 -> 27361 (-0.16%)
total bytes used in shared programs   : 35749888 -> 35214176 (-1.50%)

                local        gpr       inst      bytes
    helped          17        1829        4091        4091
      hurt           4          44           3           3

Signed-off-by: Karol Herbst <karolherbst@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp