http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57489
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Jim Hand from comment #4) > One of my coworkers, a former Intel employee, made the point that signed > integer overflow is precisely defined for X86, in that overflowing and then > underflowing will produce the correct value 100% of the time. Your co-worker is wrong. What is defined is the semantics of assembly instructions but in C, signed integer is still undefined even if the underlying assembly instruction is defined.