http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48377

--- Comment #32 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-04-07 
13:43:47 UTC ---
Given that without vectorization that code surely works well on all the weird
ABIs, such ADJUST_FIELD_ALIGN is used only on targets that either aren't strict
alignment targets, or aren't strict alignment targets for the particular types.
You know, for most CPUs strict alignment isn't a binary thing, many targets
including i?86/x86_64 are only partially strict alignment targets.
Even for targets where say int needs to be accessed aligned often e.g. double
can be just 4 byte aligned and insns that read/write doubles handle it.

We really shouldn't change __alignof__ of types/INDIRECT_REFs/etc., those are
all ABI changes.  The problem with vectorization is that often the vectors have
strict alignment, while non-vector ops are not.

Reply via email to