Commit fcb37f66 by Michael Meissner

Fix previous change to work on both endian hosts and targets

From-SVN: r12909
parent 1c138ba3
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment