i386.c (ix86_split_to_parts): Return number of part required; handle TFmodes.
authorJan Hubicka <jh@suse.cz>
Tue, 2 Jan 2001 19:24:27 +0000 (20:24 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 2 Jan 2001 19:24:27 +0000 (19:24 +0000)
commit2b589241d86c1f2e68d5f2dbceb60f19050bd199
tree01c459d5b2a2b1fe5b1b1822b129430cdc4b1578
parent9e1458e7d76099127b7991efb60ec26952318e4b
i386.c (ix86_split_to_parts): Return number of part required; handle TFmodes.

* i386.c (ix86_split_to_parts): Return number of part required;
handle TFmodes.
(print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
TFmodes.
(ix86_split_long_move): Use number of part returned
by ix86_split_to_parts
* i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
New macros.
(TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
(LONG_DOUBLE_TYPE_SIZE): Change from constant.
(MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
(INTEL_EXTENDED_IEEE_FORMAT): Likewise.
(ALIGN_MODE_128): Add TFmode.
(IS_STACK_MODE): Likewise.
(HARD_REGNO_NREGS): TFmode needs 3 registers.
(HARD_REGNO_OK): Support TFmodes.
(ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
* i386.md (scheduler definitions): Use memory operand to determine
fst/fld instructions; use mode attribute to determine real mode of
the instruction.
(*tf): New patterns, expanders and splitters; based on XFmode patterns.
* invoke.texi (128bit-long-double, 96bit-long-double): Document.

From-SVN: r38633
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/invoke.texi