Commit f5da225e by Jim Wilson

(mem_aligned_8): Don't assume addresses with

MEM_IN_STRUCT_P set are 8 byte aligned.

From-SVN: r7128
parent 9db8b14a
...@@ -1032,10 +1032,13 @@ mem_aligned_8 (mem) ...@@ -1032,10 +1032,13 @@ mem_aligned_8 (mem)
} }
/* Anything else we know is properly aligned unless TARGET_UNALIGNED_DOUBLES /* Anything else we know is properly aligned unless TARGET_UNALIGNED_DOUBLES
is true, in which case we can only assume that an access is aligned if is true, in which case we can only assume that an access is aligned if
it is to an aggregate, it is to a constant address, or the address it is to a constant address, or the address involves a LO_SUM.
involves a LO_SUM. */
else if (! TARGET_UNALIGNED_DOUBLES || MEM_IN_STRUCT_P (mem) We used to assume an address was aligned if MEM_IN_STRUCT_P was true.
|| CONSTANT_P (addr) || GET_CODE (addr) == LO_SUM) That assumption was deleted so that gcc generated code can be used with
memory allocators that only guarantee 4 byte alignment. */
else if (! TARGET_UNALIGNED_DOUBLES || CONSTANT_P (addr)
|| GET_CODE (addr) == LO_SUM)
return 1; return 1;
/* An obviously unaligned address. */ /* An obviously unaligned address. */
......
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