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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Gregory Tucker from comment #2)
> Created attachment 51165 [details]

I think there are some aliasing violations here.
We store to buf (which is unsigned char array) as a mixture of unsigned char
and uint64_t in md5_ref BUT
then do loads in the uint32_t type in md5_single.

I think:
        uint32_t *w = (uint32_t *) data;

Should need the may_alias attribute added to it.

Reply via email to