On Sat, Apr 29, 2017 at 6:09 PM, Karol Herbst <karolher...@gmail.com> 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 > > v2: handle potential mods on src0 > > Signed-off-by: Karol Herbst <karolher...@gmail.com> > Reviewed-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> > Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu> > --- > src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 7 +++++++ > 1 file changed, 7 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..82da0d3e48 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp > @@ -1284,6 +1284,13 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue > &imm0, int s) > > case OP_SHL: > { > + if (s == 1 && imm0.isInteger(0)) { > + i->op = i->src(0).mod.getOp(); > + if (i->op != OP_CVT) > + i->src(0).mod = 0;
Is this necessary? Presumably if the op != 0, then op == OP_CVT... > + i->setSrc(1, NULL); > + break; > + } > if (s != 1 || i->src(0).mod != Modifier(0)) > break; > // try to concatenate shifts > -- > 2.12.2 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev