On Wed, Nov 16, 2011 at 12:28 PM, Eric Botcazou <ebotca...@adacore.com> wrote:
>> Huh, IVOPTs should never cause a different size memory read.  I wonder
>> if the original issue would still reproduce with the fix reverted.
>
> The original issue was unaligned arrays in packed structures.  I don't see 
> what
> could have changed since then.

Ah, so it was expand being confused about the constructed access (not seeing
a component-ref), thus the usual old issue we have there.  There's indeed no
trivial fix for this but to create the [TARGET_]MEM_REF with an explicitely
unaligned type and hope that the target implements the movmisalign optab
(the only case this explicit alignment is honored).  And double-check the
TARGET_MEM_REF expansion code properly duplicates the movmisalign
path from the MEM_REF expander.

I'd wish somebody fixed this path for non-movmisalign strict-align targets.

Richard.

> --
> Eric Botcazou
>

Reply via email to