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