https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69857
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Target Milestone|--- |7.0 --- Comment #3 from ktkachov at gcc dot gnu.org --- Agree that gcc should warn here. As for the suspicious return itself, from what I can see it has the effect of overly restricting generation of the LDRD/STRD instructions on arm. Removing it is probably the right thing to do (and passes a first round of testing for me). However, since the code it was blocking has not been tested so far (because it was never executed) we don't know what bugs (if any) are lurking there, so removing it should wait for GCC 7 at this point