http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60435
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Can't verify it as there isn't a compilable testcase. But I guess this is just because GCC doesn't have a code hoisting pass, not because of int vs. long. See PR23286 of which this is a duplicate I think.