Bootstrap broken in libobjc/sendmsg.c

Jan Hubicka hubicka@ucw.cz
Fri Sep 6 12:38:00 GMT 2013


> > .. 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)



More information about the Gcc mailing list