https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119399

Richard Sandiford <rsandifo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rsandifo at gcc dot 
gnu.org

--- Comment #3 from Richard Sandiford <rsandifo at gcc dot gnu.org> ---
Taking for the pointer difference.

(In reply to Richard Biener from comment #2)
> Still the actual alias check looks prone to overflow issues since we do
> not distinguish before/after placement.
Could you go into more detail?  The check is only performed when n>0, so we
know that q+4 is well-defined and that q<q+4.  We require the pointers to be
aligned to 4 bytes (otherwise there is UB in the input), so for a 4-element
vector, the only problem cases are p==q+4, p==q+8 and p==q+12.  That's
equivalent to testing whether the unsigned value p-(q+4) <= 8.

Reply via email to