Missed optimization in m68k
law@redhat.com
law@redhat.com
Fri Jun 14 14:27:00 GMT 2002
In message <a05111a19b9300913b4e9@[63.214.71.88]>, Alan Lehotsky writes:
> At 1:48 PM -0600 6/14/02, law@redhat.com wrote:
> >In message <200206141923.g5EJNeK22444@hyper.wm.sps.mot.com>, Peter
> >Barada write
> >s:
> > >
> > > I'm compiling the small snippet:
> > .....
> > > The problem is that the tst.b is not necessary since the move.b
> > > updated the condition codes as part of the move. How can I best
> > > convince gcc that it should generate the follwing instead:
> > >
> > > copy:
> > > move.l 4(%sp),%a1
> > > move.l 8(%sp),%a0
> > > move.l %a0,%d0
> > > .L2:
> > > move.b (%a1)+,(%a0)+
> > > jbne .L2
> > > rts
> > >
> > > Thanx...
> >I believe you'll be hacking in NOTICE_UPDATE_CC.
> >
> >jeff
>
>
> In this case, I suspect that a DEFINE_PEEPHOLE is probably better!
I don't think so -- the whole point behind NOTICE_UPDATE_CC is to be
able to eliminate useless tst insns because the cc value happens to
be lying around due to an earlier load/store or arithmetic instruction.
jeff
More information about the Gcc
mailing list