https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46943
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2012-02-02 00:00:00 |2018-4-22 --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- It looks more obvious on aarch64: and w1, w1, 65535 mov w0, 43691 movk w0, 0xaaaa, lsl 16 adrp x2, v and x3, x1, 65535 umull x0, w1, w0 str x3, [x2, #:lo12:v] lsr x0, x0, 33 ret The second and is not needed.