http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39633
Georg-Johann Lay <avr at gjlay dot de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |avr at gjlay dot de --- Comment #5 from Georg-Johann Lay <avr at gjlay dot de> 2011-04-14 19:54:40 UTC --- Did you try this with -fno-strict-overflow? Code like (INT8_MIN)-((int8_t)(si2)) might lead to signed overflow, and if gcc gets knowledge of si2 being strictly positive, the results is undefined. http://gcc.gnu.org/onlinedocs/gcc-4.3.5/gcc/Optimize-Options.html#Optimize-Options