From 2fe02d7ee9500bb634b4cf8170cd13594c96f28e Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Wed, 1 Apr 1992 08:03:10 +0000 Subject: [PATCH] *** empty log message *** From-SVN: r657 --- gcc/emit-rtl.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 6a9d6d599be..82160f54cd1 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 -- 2.30.2