From 77d98cfeb600dc6fd392a714950772af5b861f0e Mon Sep 17 00:00:00 2001
From: zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 27 Jul 2004 21:41:23 +0000
Subject: 	* libgcc2.c: Change all conditionals testing 
 LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80. 	* libgcc2.h: Likewise. 	*
 config/i386/i386.c (ix86_init_mmx_sse_builtins): Set 	TYPE_PRECISION of
 float80_type to 80. 	* config/ia64/ia64.c (ia64_init_builtins): Set
 TYPE_PRECISION 	of fpreg_type and float80_type to 80. 	*
 config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h 	*
 config/m68k/netbsd-elf.h: 	Change LONG_DOUBLE_TYPE_SIZE and possibly
 LIBGCC2_LONG_DOUBLE_TYPE_SIZE 	to evaluate to 80 whenever they would formerly
 have evaluated to 96. 	* config/i386/sco5.h: Remove unnecessary redefinition
 of 	LONG_DOUBLE_TYPE_SIZE. 	* doc/rtl.texi: Clarify uses of XFmode and
 TFmode. 	* config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for 
 XFmode, with a bitsize of 80.  Update commentary. 	*
 config/ia64/ia64-modes.def: Likewise. 	* config/m68k/m68k-modes.def:
 Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85232 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/config/i386/i386-modes.def | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

(limited to 'gcc/config/i386/i386-modes.def')

diff --git a/gcc/config/i386/i386-modes.def b/gcc/config/i386/i386-modes.def
index 3a7c3e6d392..ee36637bea7 100644
--- a/gcc/config/i386/i386-modes.def
+++ b/gcc/config/i386/i386-modes.def
@@ -18,21 +18,20 @@ along with GCC; see the file COPYING.  If not, write to
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* x86_64 ABI specifies both XF and TF modes.
+/* The x86_64 ABI specifies both XF and TF modes.
    XFmode is __float80 is IEEE extended; TFmode is __float128
-   is IEEE quad.
+   is IEEE quad.  */
 
-   IEEE extended is 128 bits wide, except in ILP32 mode, but we
-   have to say it's 12 bytes so that the bitsize and wider_mode
-   tables are correctly set up.  We correct its size below.  */
+FRACTIONAL_FLOAT_MODE (XF, 80, 12, ieee_extended_intel_96_format);
+FLOAT_MODE (TF, 16, ieee_quad_format);
 
-FLOAT_MODE (XF, 12, ieee_extended_intel_96_format);
+/* In ILP32 mode, XFmode has size 12 and alignment 4.
+   In LP64 mode, XFmode has size and alignment 16.  */
 ADJUST_FLOAT_FORMAT (XF, (TARGET_128BIT_LONG_DOUBLE
 			  ? &ieee_extended_intel_128_format
 			  : &ieee_extended_intel_96_format));
 ADJUST_BYTESIZE  (XF, TARGET_128BIT_LONG_DOUBLE ? 16 : 12);
 ADJUST_ALIGNMENT (XF, TARGET_128BIT_LONG_DOUBLE ? 16 : 4);
-FLOAT_MODE (TF, 16, ieee_quad_format);
 
 /* Add any extra modes needed to represent the condition code.
 
-- 
cgit v1.2.1

