https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109780
--- Comment #20 from Xi Ruoyao <xry111 at gcc dot gnu.org> --- (In reply to H.J. Lu from comment #19) > (In reply to Xi Ruoyao from comment #17) > > (In reply to H.J. Lu from comment #16) > > > Created attachment 55409 [details] > > > A patch > > > > > > I am stilling trying to find a small testcase. > > > > The patch triggers an ICE building Spidermonkey 115b9 (it segfaults with GCC > > trunk because of some unaligned vmovdqa): > > > > 0x93297b ix86_finalize_stack_frame_flags > > ../../gcc/gcc/config/i386/i386.cc:8224 > > 0x162064c ix86_expand_epilogue(int) > > ../../gcc/gcc/config/i386/i386.cc:9405 > > 0x1b2e27f gen_epilogue() > > ../../gcc/gcc/config/i386/i386.md:17517 > > 0x160a815 target_gen_epilogue > > ../../gcc/gcc/config/i386/i386.md:17013 > > 0xf15e86 make_epilogue_seq > > ../../gcc/gcc/function.cc:5964 > > 0xf15f8b thread_prologue_and_epilogue_insns() > > ../../gcc/gcc/function.cc:6046 > > 0xf166c2 rest_of_handle_thread_prologue_and_epilogue > > ../../gcc/gcc/function.cc:6544 > > 0xf166c2 execute > > ../../gcc/gcc/function.cc:6625 > > > > The code at i386.cc:8224 reads: > > > > if (crtl->stack_realign_finalized) > > { > > /* After stack_realign_needed is finalized, we can't no longer > > change it. */ > > gcc_assert (crtl->stack_realign_needed == stack_realign); > > return; > > } > > > > I'm not sure if the assert should be dropped or it's more difficult. > > > > Or can we just force to use unaligned vector moves for block operations > > until we can find a better solution? It's at least better than leaving the > > vectorized block moving broken and forcing people trying to disable the > > feature. > > Do you have a testcase? It's too large and I'm running cvise on it.