https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64322
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- So, is this fix acceptable to the reporter? The explanation in the combiner is that in the first testcase you have multiple uses of the load of 0x100000000L constant and therefore it is not attempted to be combined with the second use (division), changing that is undesirable I think, combine is already expensive as is.