mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-02 20:58:04 +02:00
nv50/ir: also do PostRaLoadPropagation for FMA
Helps Feral-ported games, due to their use of fma()
shader-db changes:
total instructions in shared programs : 3934925 -> 3934327 (-0.02%)
total gprs used in shared programs : 481563 -> 481563 (0.00%)
total local used in shared programs : 27469 -> 27469 (0.00%)
total bytes used in shared programs : 36061888 -> 36056504 (-0.01%)
local gpr inst bytes
helped 0 0 228 228
hurt 0 0 0 0
Signed-off-by: Karol Herbst <karolherbst@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
parent
7d007824a3
commit
baaae8cb81
2 changed files with 2 additions and 1 deletions
|
|
@ -3307,6 +3307,7 @@ bool
|
|||
PostRaLoadPropagation::visit(Instruction *i)
|
||||
{
|
||||
switch (i->op) {
|
||||
case OP_FMA:
|
||||
case OP_MAD:
|
||||
if (prog->getTarget()->getChipset() < 0xc0)
|
||||
handleMADforNV50(i);
|
||||
|
|
|
|||
|
|
@ -1471,7 +1471,7 @@ GCRA::allocateRegisters(ArrayList& insns)
|
|||
if (lval->inFile(FILE_GPR) && lval->getInsn() != NULL &&
|
||||
prog->getTarget()->getChipset() < 0xc0) {
|
||||
Instruction *insn = lval->getInsn();
|
||||
if (insn->op == OP_MAD || insn->op == OP_SAD)
|
||||
if (insn->op == OP_MAD || insn->op == OP_FMA || insn->op == OP_SAD)
|
||||
// Short encoding only possible if they're all GPRs, no need to
|
||||
// affect them otherwise.
|
||||
if (insn->flagsDef < 0 &&
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue