https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66248
--- Comment #2 from Jon Beniston <jon at beniston dot com> --- Hi Steve. I'm not sure I'm follow your explanation. As I understand it, signed overflow is undefined behaviour (http://www.airs.com/blog/archives/120), so I'm not sure why we need to worry about changing the overflow behaviour (as the 16 LSBs should be the same). Even if not, -fstrict-overflow should be enabled at -O2, so the compiler should be able to assume that overflow will not occur anyway.