https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62018
--- Comment #8 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> --- (In reply to Francois-Xavier Coudert from comment #7) > Richard, I am willing to debug this, but don't know where to go after the > above analysis. I think it's a libgcc miscompilation somehow. Directly calling __addvsi3 as follows: int __addvsi3 (int, int); int main (void) { volatile int x = __addvsi3 (__INT_MAX__, 1); } does not abort, even though (in my understanding) it should.