https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92980
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Hongtao.liu from comment #6) > New fail by removal > > unix/-m32: c-c++-common/restrict-2.c -Wc++-compat scan-tree-dump-times > lim2 "Moving statement" 11 > unix/-m32: c-c++-common/restrict-2.c -std=gnu++14 scan-tree-dump-times > lim2 "Moving statement" 11 > unix/-m32: c-c++-common/restrict-2.c -std=gnu++17 scan-tree-dump-times > lim2 "Moving statement" 11 > unix/-m32: c-c++-common/restrict-2.c -std=gnu++2a scan-tree-dump-times > lim2 "Moving statement" 11 > unix/-m32: c-c++-common/restrict-2.c -std=gnu++98 scan-tree-dump-times > lim2 "Moving statement" 11 I think this is just there are a different number of statement moved out of the loop. The rest I don't know what is the issue but you should look into each one to figure out what the difference is.