Fix previous change to work on both endian hosts and targets

From-SVN: r12909
This commit is contained in:
Michael Meissner 1996-10-07 20:14:15 +00:00
parent 1c138ba302
commit fcb37f66ba

View File

@ -5958,10 +5958,21 @@
rtx high_rtx, low_rtx;
HOST_WIDE_INT high;
HOST_WIDE_INT low;
rtx high_reg = gen_rtx (SUBREG, SImode, operands[0], WORDS_BIG_ENDIAN == 0);
rtx low_reg = gen_rtx (SUBREG, SImode, operands[0], WORDS_BIG_ENDIAN != 0);
rtx high_reg, low_reg;
if (WORDS_BIG_ENDIAN)
{
high_reg = gen_rtx (SUBREG, SImode, operands[0], 0);
low_reg = gen_rtx (SUBREG, SImode, operands[0], 1);
split_double (operands[1], &high_rtx, &low_rtx);
}
else
{
high_reg = gen_rtx (SUBREG, SImode, operands[0], 1);
low_reg = gen_rtx (SUBREG, SImode, operands[0], 0);
split_double (operands[1], &low_rtx, &high_rtx);
}
split_double (operands[1], &high_rtx, &low_rtx);
high = INTVAL (high_rtx);
low = INTVAL (low_rtx);
@ -5997,10 +6008,20 @@
rtx high_rtx, low_rtx;
HOST_WIDE_INT high;
HOST_WIDE_INT low;
rtx high_reg, low_reg;
split_double (operands[1], &high_rtx, &low_rtx);
high = INTVAL (high_rtx);
low = INTVAL (low_rtx);
if (WORDS_BIG_ENDIAN)
{
high_reg = gen_rtx (SUBREG, SImode, operands[0], 0);
low_reg = gen_rtx (SUBREG, SImode, operands[0], 1);
split_double (operands[1], &high_rtx, &low_rtx);
}
else
{
high_reg = gen_rtx (SUBREG, SImode, operands[0], 1);
low_reg = gen_rtx (SUBREG, SImode, operands[0], 0);
split_double (operands[1], &low_rtx, &high_rtx);
}
operands[2] = gen_rtx (SUBREG, SImode, operands[0], WORDS_BIG_ENDIAN == 0);
operands[3] = gen_rtx (SUBREG, SImode, operands[0], WORDS_BIG_ENDIAN != 0);