> > .. looks like this is target/58269, which therefore affects > > x86_64-linux too. > > Now this reproduces to me, too. apppy_args expansion is trying to preserve > AVX > register in V8SF mode when AVX is disabled. This leads to move expander to > not > allow moving it and we end up infinitely recursing trying to expand the move. > I am not sure what change triggered it. I am looking into fix.
I am testing the following. Obviously AVX mode is not OK for SSE reg when AVX is disabled. Other code paths allowing AVX modes seems to be propertly guarded. Index: config/i386/i386.c =================================================================== --- config/i386/i386.c (revision 202322) +++ config/i386/i386.c (working copy) @@ -34466,7 +34471,7 @@ ix86_hard_regno_mode_ok (int regno, enum /* OImode move is available only when AVX is enabled. */ return ((TARGET_AVX && mode == OImode) - || VALID_AVX256_REG_MODE (mode) + || (TARGET_AVX && VALID_AVX256_REG_MODE (mode)) || VALID_SSE_REG_MODE (mode) || VALID_SSE2_REG_MODE (mode) || VALID_MMX_REG_MODE (mode)