This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: A new patch for floating point conditional mov on PPo
- To: john at feith dot com (John Wehle)
- Subject: Re: A new patch for floating point conditional mov on PPo
- From: hjl at lucon dot org (H.J. Lu)
- Date: Fri, 12 Jun 1998 09:17:42 -0700 (PDT)
- Cc: egcs-patches at cygnus dot com
> > 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.