http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50782
--- Comment #1 from Ethan Tira-Thompson <ejtttje at gmail dot com> 2011-10-18 21:16:23 UTC --- I'm sorry, apparently I messed something up in my testing. The output of -O3 is actually: 000 111 The output of -O0 is: 100 111 So the optimize attribute is being applied after/including any inlined functions. Obviously, when the function is not inlined, it is not affected by the attribute. The primary bug of the two lines not being the same remains the same.