From: Karol Herbst Date: Tue, 21 Mar 2017 17:37:47 +0000 (+0100) Subject: nvc0/ir: also do ConstantFolding for FMA X-Git-Tag: upstream/17.1.0~657 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f2a4d881fe94512f7600ec33622af58b8ca06fff;p=platform%2Fupstream%2Fmesa.git nvc0/ir: also do ConstantFolding for FMA Helps mainly Feral-ported games, due to their use of fma() shader-db changes: total instructions in shared programs : 3941587 -> 3940749 (-0.02%) total gprs used in shared programs : 481511 -> 481460 (-0.01%) total local used in shared programs : 27469 -> 27481 (0.04%) total bytes used in shared programs : 36123344 -> 36115776 (-0.02%) local gpr inst bytes helped 2 48 243 243 hurt 2 3 32 32 Signed-off-by: Karol Herbst Reviewed-by: Ilia Mirkin --- diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index d358abc..2714b5f 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -1026,6 +1026,7 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) i->postFactor = 0; } break; + case OP_FMA: case OP_MAD: if (imm0.isInteger(0)) { i->setSrc(0, i->getSrc(2));