https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36010
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This is still true, you need still need -fno-tree-pre -fno-tree-loop-im to get the loop to interchanged. -O2 -fno-tree-pre -fno-tree-loop-im -floop-interchange works while just -O2 -floop-interchange does not.