This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Reg-stack and cmove bug


> Notice how the 'ge' in the first insn has mysteriously become an 'le'
> after reg-stack.  It is NOT trying to reverse the sense of the
> comparison here; it has got confused while trying to reorder operands
> to fit the 387 register stack.  fcmov can only move to top-of-stack.
No what really he is trying is to avoid extra fxch on comparison.
There is loop searching for CC user and trying to swap the operands.
This gets messed up, since there are actually two CC users.
One way is to verify presense of REG_DEAD note, better is probably to
try swap all users.

I will prepare patch later today.
Honza


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]