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]
Other format: [Raw text]

Re: PATCH (3.3): Support ieee_extended_intel_96_round_53_format


On Fri, 11 Jul 2003 14:26:47 -0500 (CDT)
Loren James Rittle <rittle@latour.rsch.comm.mot.com> wrote:

> Of course, I want to unbreak that ASAP.  You seem to imply that you
> want:
> 
>   
> + #if (!TARGET64)
>   /* FreeBSD sets the rounding precision of the FPU to 53 bits.  Let
>   the
>      compiler get the contents of <float.h> and std::numeric_limits
>      correct.  */
>   #define SUBTARGET_OVERRIDE_OPTIONS			\
> ***************
> *** 143,145 ****
> --- 141,144 ----
>       real_format_for_mode[TFmode - QFmode]		\
>         = &ieee_extended_intel_96_round_53_format;	\
>     } while (0)
> + #endif

No. The compiler on FreeBSD/amd64 is capable of generating both 64 and
32 -bit binaries, so decision should be done at runtime. I.e. I want
something like this:

#define SUBTARGET_OVERRIDE_OPTIONS                      \
  if ( !TARGET_64 ) {                                                 
    real_format_for_mode[XFmode - QFmode]               \
      = &ieee_extended_intel_96_round_53_format;        \  
    real_format_for_mode[TFmode - QFmode]               \
      = &ieee_extended_intel_96_round_53_format;        \
  }

see gcc/config/i386/i386.h for TARGET_64 definition.

-- 
Alexander Kabaev


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