I see. I should have gone in reload.c and see the
full thing. Now I see you were right.
Unfortunately, I can't regtest any patches right
now because both 3_4-branch and mainline are
currently broken on the m68k.
Richard, do you approve this patch for mainline?
(I've slightly edited the ChangeLog entry
and removed the extra parentheses).
2004-05-27 Peter Jakubek <peter@laseranimation.com>
* reload.c (find_reloads): Force reload for pseudo registers on big
endian machines.
diff -ru gcc.orig/gcc/reload.c gcc/gcc/reload.c
--- gcc.orig/gcc/reload.c 2004-03-10 02:51:01.000000000 +0100
+++ gcc/gcc/reload.c 2004-05-27 13:07:32.828125000 +0200
@@ -2947,7 +2947,7 @@
< BIGGEST_ALIGNMENT)
&& (GET_MODE_SIZE (operand_mode[i])
> GET_MODE_SIZE (GET_MODE (operand))))
- || (GET_CODE (operand) == MEM && BYTES_BIG_ENDIAN)
+ || BYTES_BIG_ENDIAN
#ifdef LOAD_EXTEND_OP
|| (GET_MODE_SIZE (operand_mode[i]) <= UNITS_PER_WORD
&& (GET_MODE_SIZE (GET_MODE (operand))