This is the mail archive of the gcc-patches@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: A new patch for floating point conditional mov on PPo


> > 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.


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