entered into RCS

From-SVN: r1496
This commit is contained in:
Charles Hannum 1992-07-07 02:14:24 +00:00
parent 592252adb8
commit 7529ac93b8
1 changed files with 10 additions and 6 deletions

View File

@ -804,15 +804,19 @@ operand_subword (op, i, validate_address, mode)
&& GET_MODE_CLASS (mode) == MODE_FLOAT
&& GET_MODE_SIZE (mode) == 2 * UNITS_PER_WORD
&& GET_CODE (op) == CONST_DOUBLE)
return GEN_INT (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. */
{
/* The constant is stored in the host's word-ordering,
but we want to access it in the target's word-ordering. Some
compilers don't like a conditional inside macro args, so we have two
copies of the return. */
#ifdef HOST_WORDS_BIG_ENDIAN
1
return GEN_INT (i == WORDS_BIG_ENDIAN
? CONST_DOUBLE_HIGH (op) : CONST_DOUBLE_LOW (op));
#else
0
return GEN_INT (i != WORDS_BIG_ENDIAN
? CONST_DOUBLE_HIGH (op) : CONST_DOUBLE_LOW (op));
#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