https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70782
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Josh Haberman from comment #1) > I just realized that the union has nothing to do with it. I get exactly the > same results if the function returns a long: Note the version in comment #1 is already much better code generation starting in GCC 11.