mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-03 01:30:42 +08:00
Fix previous change to work on both endian hosts and targets
From-SVN: r12909
This commit is contained in:
parent
1c138ba302
commit
fcb37f66ba
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user