> The rest of the GCN hook is quite inconsistent, it says misalignment
> == -1 is OK, is_packed
> is not and then the above ... and gather-scatter is also always OK
> (even if the scalar accesses
> are 'packed' aka not naturally aligned?)

The gather_scater -> ok I added during the introduction of is_gather_scatter.  
That was to keep the old behavior where we didn't check the alignment at all.

> Note this leaves unspecified whether a known misalignment means the
> original scalar memory access _is_ naturally aligned?  I think it needs
> not, but I'd have to check alignment analysis if we force the result to -1
> in such case.

We can just set is_packed every time?  And adjust the targets that 
unconditionally return false when is_packed to misalignment == -1 && is_packed
in order to keep the current behavior?

> I think most is_packed uses think of alignment according to size.
>
> Note that we only communicate misalignment to the hook, not alignment
> (that's implicit, alignment of the passed mode).  But that means for the
> x86 'double' the misalignment with respect to the vector alignment is unknown
> but we might know the access is aligned to 4 bytes.  So is_packed is basically
> the poor-mans way to communicate this, and we should see to define that
> with respect to alignment according to size?


-- 
Regards
 Robin

Reply via email to