https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91681
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target| |x86_64-*-*, i?86-*-* Status|UNCONFIRMED |NEW Last reconfirmed| |2019-09-06 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- So while we recognize a widening multiply: B0_10 = c_9(D) w* b_7(D); we don't recognize a highpart one: _3 = B0_10 >> 64; maybe because we're not truncating to 64bits. Not sure if it would help the testcase though.