From: Jim Wilson Date: Thu, 21 Apr 1994 19:56:11 +0000 (-0700) Subject: (mem_aligned_8): Don't assume addresses with X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f5da225ef4db99f6efa1a5f81a820a00a57cc12f;p=gcc.git (mem_aligned_8): Don't assume addresses with MEM_IN_STRUCT_P set are 8 byte aligned. From-SVN: r7128 --- diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 4b8c1621757..7b909974b97 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -1032,10 +1032,13 @@ mem_aligned_8 (mem) } /* 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 - it is to an aggregate, it is to a constant address, or the address - involves a LO_SUM. */ - else if (! TARGET_UNALIGNED_DOUBLES || MEM_IN_STRUCT_P (mem) - || CONSTANT_P (addr) || GET_CODE (addr) == LO_SUM) + it is to a constant address, or the address involves a LO_SUM. + + We used to assume an address was aligned if MEM_IN_STRUCT_P was true. + 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; /* An obviously unaligned address. */