http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46680
Adriano Rezende <adriano.rezende at openbossa dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|WONTFIX | --- Comment #5 from Adriano Rezende <adriano.rezende at openbossa dot org> 2010-11-27 15:37:59 UTC --- > GCC is known to generate very bad code at -O0, but this is expected. > > The reason is that GCC makes sure !value is computed into a register > (for the sake of debugging), thus does > > temp = !value; > if (temp) > ... Thanks for the explanation, it makes sense now :)