[Mesa-dev] [Nouveau] [PATCH] nv50/ir: optimmize shl(a, 0) to a
Samuel Pitoiset
samuel.pitoiset at gmail.com
Sat Apr 29 16:49:03 UTC 2017
"optimmize" ? No need to resend just for that though.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
On 04/29/2017 06:46 PM, Karol Herbst wrote:
> helps two alien isolation shaders
>
> shader-db:
> total instructions in shared programs : 4251497 -> 4251494 (-0.00%)
> total gprs used in shared programs : 513962 -> 513962 (0.00%)
> total local used in shared programs : 29797 -> 29797 (0.00%)
> total bytes used in shared programs : 38960264 -> 38960232 (-0.00%)
>
> local gpr inst bytes
> helped 0 0 2 2
> hurt 0 0 0 0
>
> Signed-off-by: Karol Herbst <karolherbst at gmail.com>
> ---
> src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
> index 015def0391..a2446e4df8 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
> @@ -1284,6 +1284,11 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s)
>
> case OP_SHL:
> {
> + if (s == 1 && imm0.isInteger(0)) {
> + i->op = OP_MOV;
> + i->setSrc(1, NULL);
> + break;
> + }
> if (s != 1 || i->src(0).mod != Modifier(0))
> break;
> // try to concatenate shifts
>
More information about the mesa-dev
mailing list