This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH (3.3): Support ieee_extended_intel_96_round_53_format
In article <20030711123010.27a64cd2.ak03@gte.com>,
Alexander Kabaev<ak03@gte.com> writes:
> [...] could you please protect this if (!TARGET64)? Switching to
> 53bit rounding hoses AMD64.
Hi Alexander,
Of course, I want to unbreak that ASAP. You seem to imply that you want:
Index: gcc/config/i386/freebsd.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/freebsd.h,v
retrieving revision 1.36
diff -c -r1.36 freebsd.h
*** gcc/config/i386/freebsd.h 25 Jun 2003 00:11:33 -0000 1.36
--- gcc/config/i386/freebsd.h 11 Jul 2003 19:05:02 -0000
***************
*** 134,139 ****
--- 131,137 ----
#undef DEFAULT_PCC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 0
+ #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
Based on looking at the FSF tree, I see how amd64 is aliased to x86_64
at top-level. Then, in gcc/config.gcc, how that is mapped to
cpu_type=i386. Based on looking in the FreeBSD tree, I see how amd64
has unique kernel sources. I'm confused about where TARGET64 is set.
Could you explain what I'm missing? If the answer is that you want me
to provide a proper setup of TARGET64, then perhaps we'd be better off
keying off of __amd64__ or whatever is already provided.
Regards,
Loren