https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116078
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- or rather the order of some operations for the arguments cause some other missing optimizations. I doubt there is not much to be done from the front-end side of things either.