https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65416
--- Comment #7 from jcmvbkbc at gcc dot gnu.org --- Author: jcmvbkbc Date: Tue Jun 19 21:08:46 2018 New Revision: 261765 URL: https://gcc.gnu.org/viewcvs?rev=261765&root=gcc&view=rev Log: xtensa: fix PR target/65416 The issue is caused by reordering of stack pointer update after stack space allocation with instructions that write to the allocated stack space. In windowed ABI register spill area for the previous call frame is located just below the stack pointer and may be reloaded back into the register file on movsp. Implement allocate_stack pattern for windowed ABI configuration and insert an instruction that prevents reordering of frame memory access and stack pointer update. gcc/ 2018-06-19 Max Filippov <jcmvb...@gmail.com> Backport from mainline 2018-06-19 Max Filippov <jcmvb...@gmail.com> * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec constant. (allocate_stack, frame_blockage, *frame_blockage): New patterns. Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/config/xtensa/xtensa.md