diff options
author | Richard Stallman <rms@gnu.org> | 1992-04-01 08:03:10 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-04-01 08:03:10 +0000 |
commit | 2fe02d7ee9500bb634b4cf8170cd13594c96f28e (patch) | |
tree | f51624589d241182dbe1536a1da330a2b3afe41f | |
parent | 1fab8e81071db8ea8dfe62de8a6d79efd9dc4646 (diff) | |
download | gcc-2fe02d7ee9500bb634b4cf8170cd13594c96f28e.zip gcc-2fe02d7ee9500bb634b4cf8170cd13594c96f28e.tar.gz gcc-2fe02d7ee9500bb634b4cf8170cd13594c96f28e.tar.bz2 |
*** empty log message ***
From-SVN: r657
-rw-r--r-- | gcc/emit-rtl.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 6a9d6d5..82160f5 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -696,7 +696,15 @@ operand_subword (op, i, validate_address, mode) && GET_MODE_SIZE (mode) == 2 * UNITS_PER_WORD && GET_CODE (op) == CONST_DOUBLE) return gen_rtx (CONST_INT, VOIDmode, - i ? CONST_DOUBLE_HIGH (op) : CONST_DOUBLE_LOW (op)); + i ^ (WORDS_BIG_ENDIAN != +/* The constant is stored in the host's word-ordering, + but we want to access it in the target's word-ordering. */ +#ifdef HOST_WORDS_BIG_ENDIAN + 1 +#else + 0 +#endif + ) ? CONST_DOUBLE_HIGH (op) : CONST_DOUBLE_LOW (op)); /* Single word float is a little harder, since single- and double-word values often do not have the same high-order bits. We have already |