diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-02-28 08:38:44 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2005-02-28 08:38:44 +0000 |
commit | cc111deddac466074f75b922e1578d787273bda1 (patch) | |
tree | 9fdab530cccfaa4f01afb79b89b2b1c46ab995e5 | |
parent | 550b1614a027bcef0485a9840012fe86f2df0389 (diff) |
PR target/18371
2004-12-19 Steven Bosscher <stevenb@suse.de>
* config/i386/i386.c (ix86_split_to_parts): Use an array with
four elements for decoding a CONST_DOUBLE on 64 bits targets.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-3_4-rhl-branch@95663 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d9146282e3..6a4557bbfa6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2005-02-22 Jakub Jelinek <jakub@redhat.com> + PR target/18371 + 2004-12-19 Steven Bosscher <stevenb@suse.de> + * config/i386/i386.c (ix86_split_to_parts): Use an array with + four elements for decoding a CONST_DOUBLE on 64 bits targets. + +2005-02-22 Jakub Jelinek <jakub@redhat.com> + Revert: 2004-02-23 Alexandre Oliva <aoliva@redhat.com> Fixed PR/14236 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index eec9bf5392d..52e2bd4c364 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -10648,10 +10648,11 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode) else if (GET_CODE (operand) == CONST_DOUBLE) { REAL_VALUE_TYPE r; - long l[3]; + long l[4]; REAL_VALUE_FROM_CONST_DOUBLE (r, operand); real_to_target (l, &r, mode); + /* Do not use shift by 32 to avoid warning on 32bit systems. */ if (HOST_BITS_PER_WIDE_INT >= 64) parts[0] @@ -10661,6 +10662,7 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode) DImode); else parts[0] = immed_double_const (l[0], l[1], DImode); + if (upper_mode == SImode) parts[1] = gen_int_mode (l[2], SImode); else if (HOST_BITS_PER_WIDE_INT >= 64) |