This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: x87 float truncation/accuracy (gcc vs. icc/msvc)
- From: Roger Sayle <roger at eyesopen dot com>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 18 Mar 2004 10:59:52 -0700 (MST)
- Subject: Re: x87 float truncation/accuracy (gcc vs. icc/msvc)
On Thu, 18 Mar 2004, Jan Hubicka wrote:
> You can just cut&paste the extendsfdf implementation. Basically it
> immitate move pattern for x87 but do proper conversions for SSE.
> I was very tempted to do this for a while (and sent patch back in 98
> or so) but there appeared to be consensus that the truncations are
> very important, but it does not seem to be the practice.
If you can find the original posting and/or refresh this patch against
mainline, I'll be happy to review it for you, provided any change in
current functionality is guarded by flag_unsafe_math_optimizations.
> If you want to get really good about elliminating the truncations, you
> will need to play the games with combiner patterns containing truncates,
> silimarly as we do for extensions but this is tricky (you will face
> pattern explosion).
Indeed. This was my major concern about modelling truncation like
extension. i386.md already contains a large number of patterns intended
purely to provide "*ext" variants of floating point operations. I
wasn't sure if these were required by the i386 backend's extend?f?f2
implementation.
Thanks for your help,
Roger
--