diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-30 21:01:16 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-30 21:01:16 +0000 |
commit | e07e720e6332466eef5d5f0ad7687523ddbfc644 (patch) | |
tree | ede68b7323ca8991abd129b1643a69b031ebe28a /gcc/real.c | |
parent | 82ac70607d5f90ee52756e0152759e369a60032f (diff) | |
download | gcc-e07e720e6332466eef5d5f0ad7687523ddbfc644.tar.gz |
* real.c (encode_ieee_extended): Initialize whole array.
* reg-stack.c (move_for_stack_reg0: Use always XFmode.
* i386-modes.def: Change definitions of TFmode and XFmode.
* i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode code.
(construct_container): Allow constructing of TFmode integer containers.
(ix86_return_in_memory): XFmode is not returned in memory.
(init_ext_80387_constants): Always use XFmode.
(print_operand): Likewise.
(ix86_prepare_fp_compare_regs): Likewise.
(split_to_parts): Deal with TFmode.
(split_long_move): Simplify.
(ix86_init_mmx_sse_builtins): Add __float80, __float128.
(ix86_memory_move_cost): Do not confuse TFmode.
* i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
(IS_STACK_MODE): TFmode is not stack mode.
(HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
(VALID_SSE_REG_MODE): Allow TFmode.
(VALID_FP_MODE_P): Disallow TFmode.
(VALID_INT_MODE_P): Allow TFmode in 64bit mode.
* i386.md (TFmode patterns): Kill.
(movtf, motf_rex64): New patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73099 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/real.c')
-rw-r--r-- | gcc/real.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/real.c b/gcc/real.c index 87246807f2f..08010546115 100644 --- a/gcc/real.c +++ b/gcc/real.c @@ -3032,6 +3032,11 @@ encode_ieee_extended (const struct real_format *fmt, long *buf, buf[0] = image_hi << 16, buf[1] = sig_hi, buf[2] = sig_lo; else buf[0] = sig_lo, buf[1] = sig_hi, buf[2] = image_hi; + + /* Avoid uninitialized data to be output by compiler when XFmode is extended + to 128 bits. */ + if (GET_MODE_SIZE (XFmode) == 16) + buf[3] = 0; } static void |