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
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment