A new patch for floating point conditional mov on PPo

H.J. Lu hjl@lucon.org
Fri Jun 12 09:17:00 GMT 1998


> > That is not a problem, see above.
> 
> Yes it is a problem.
> 
> Consider a smarter notice_update_cc which realizes that integer
> conditional moves don't clobber cc0 and the following bit of code:
> 
>   int a;
>   int b;
>   int c;
>   int d;
>   double e;
>   double f;
> 
>   if (a < b)
>     d = c;
> 
>   if (a < b)
>     f = e;
> 
> In this example the second comparison which you are depending on to
> muck cc0 will be eliminated.  It is probably safer to leave the
> integer comparison patterns alone and muck cc0 as part of outputting
> the FP conditional move.
> 
> 
> A patch has been applied which prevents bad code from being generated
> in the case of a FP conditional move based signed integer comparisons
> so I believe that you have time to refine your patch if you're interested
> in pursuing it.
> 
> BTW, I'll probably be supplying a patch to make notice_update_cc0 smarter
> about integer conditional moves so it is kind of a real concern. :-)
> 

The current notice_update_cc0 works with my current patch. If
there is a change in notice_update_cc0, I think I may find a way
to accommodate it.

BTW, I also want to fix FP comparison for conditional moves. But
we have to do it one by one. Let's get over with signed int
comparison first.


H.J.



More information about the Gcc-patches mailing list