https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64242
--- Comment #16 from Wilco <wilco at gcc dot gnu.org> --- (In reply to Christophe Lyon from comment #9) > Created attachment 45138 [details] > QEMU traces for --with-cpu=cortex-m3 / QEMU --cpu cortex-m3 Thanks, I can reproduce this now. It fails due to sched1 scheduling the move before the sp restore (correct at this point since it doesn't use a frame pointer) and reload then forward propagates a frame pointer use into it. Even if I add additional clobbers for sfp it won't block the substitution. So maybe we need an unspec around the address generation to be safe.