Commit ee49a9c7 by Jim Wilson

(nonzero_bits): Don't assume arg pointer has same

alignment as stack pointer.

From-SVN: r12079
parent bab34d98
...@@ -6974,8 +6974,13 @@ nonzero_bits (x, mode) ...@@ -6974,8 +6974,13 @@ nonzero_bits (x, mode)
stack to be momentarily aligned only to that amount, so we pick stack to be momentarily aligned only to that amount, so we pick
the least alignment. */ the least alignment. */
/* We can't check for arg_pointer_rtx here, because it is not
guaranteed to have as much alignment as the stack pointer.
In particular, in the Irix6 n64 ABI, the stack has 128 bit
alignment but the argument pointer has only 64 bit alignment. */
if (x == stack_pointer_rtx || x == frame_pointer_rtx if (x == stack_pointer_rtx || x == frame_pointer_rtx
|| x == arg_pointer_rtx || x == hard_frame_pointer_rtx || x == hard_frame_pointer_rtx
|| (REGNO (x) >= FIRST_VIRTUAL_REGISTER || (REGNO (x) >= FIRST_VIRTUAL_REGISTER
&& REGNO (x) <= LAST_VIRTUAL_REGISTER)) && REGNO (x) <= LAST_VIRTUAL_REGISTER))
{ {
......
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