https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82242
Alexander Monakov <amonakov at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|x86_64 bad optimization |IRA spills allocno in loop |with -march |body if it crosses throwing | |call outside the loop --- Comment #4 from Alexander Monakov <amonakov at gcc dot gnu.org> --- FWIW, removing 'if (can_throw_internal (insn)) { ... }' code in ira-lives.c:process_bb_node_lives introduced by fix for PR 38811 improves this testcase and doesn't seem to introduce testsuite regressions on both 32 and 64-bit x86, but this might just mean that there's not enough runtime testcases for catching exceptions. The place for a proper fix may be elsewhere, I don't know what special considerations are required for throwing calls.