diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-27 21:41:23 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-27 21:41:23 +0000 |
commit | 77d98cfeb600dc6fd392a714950772af5b861f0e (patch) | |
tree | 433666cc87179f827d77692faceeb4590690a580 /gcc/config/i386/i386-modes.def | |
parent | 5f319d2320c67c30fe2614ef6de53485c6876eaf (diff) | |
download | gcc-77d98cfeb600dc6fd392a714950772af5b861f0e.tar.gz |
* 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
Diffstat (limited to 'gcc/config/i386/i386-modes.def')
-rw-r--r-- | gcc/config/i386/i386-modes.def | 13 |
1 files changed, 6 insertions, 7 deletions
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. |