https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67718
Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2015-09-30 CC| |ramana at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> --- With the latest build for aarch64-none-linux-gnu of 4.9 and trunk that I had lying around, I see with -O2 and with and without a variety of tuning options, which looks a whole load better than the original bug report. copysignl: fmov x2, d0 fmov x1, v1.d[1] fmov x3, v0.d[1] fmov d0, x2 lsr x1, x1, 63 bfi x3, x1, 63, 1 fmov v0.d[1], x3 ret .size copysignl, .-copysignl .ident "GCC: 4.9.4 20150924 (prerelease)" I am traveling currently and can't dig any further but I remember something being fixed in this pattern with respect to early clobbers- Aha PR61633 may be your friend. Can you check if you have the fix for PR61633 in your 4.9 based tree ? In the future please report with command line options and the exact upstream source revision used to create the issue. regards Ramana