https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109
--- Comment #4 from Martin Sebor <msebor at gmail dot com> --- There's the following comment in the test: /* Testcase could break on future gcc's, if parameter regs are changed before this asm. */ Moving the locals out of the function lets the test pass. The attached patch eliminates the local copy of the volatile reg_parms_t struct as well as the sp pointer and moves the remaining locals out of all the test functions to minimize the risk of the volatile registers getting clobbered before they are saved.