nv50/ir: optimize SHLADD(a, b, c) to MOV((a << b) + c)

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Samuel Pitoiset 2016-09-14 22:15:14 +02:00
parent 2e008be9a9
commit 115c79be10
1 changed files with 3 additions and 0 deletions

View File

@ -778,6 +778,9 @@ ConstantFolding::expr(Instruction *i,
}
break;
}
case OP_SHLADD:
res.data.u32 = (a->data.u32 << b->data.u32) + c->data.u32;
break;
default:
return;
}