Hi Jon, So to reproduce some how the same O2 behavior I should compile with the following sequence (-O1 + list of O2 flags)? *-O1* -fthread-jumps -falign-functions -falign-jumps -falign-loops -falign-labels -fcaller-saves -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fexpensive-optimizations -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-small-functions -findirect-inlining -fipa-sra -foptimize-sibling-calls -fpartial-inlining -fpeephole2 -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop -fsched-interblock -fsched-spec -fschedule-insns -fschedule-insns2 -fstrict-aliasing -fstrict-overflow -ftree-switch-conversion -ftree-tail-merge -ftree-pre -ftree-vrp or even O2 has extra hidden optimizations? Thank you in advance. -- View this message in context: http://gcc.1065356.n5.nabble.com/Flags-turned-on-by-GCC-standard-optimizations-tp1207835p1207871.html Sent from the gcc - Help mailing list archive at Nabble.com.