https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38497
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Richard Biener from comment #5) > now what is left is hoisting *a_2(D) to after the call. But that's not PRE. Yes I agree with this but hoisting was added to PRE and we still don't optimize it ...