RFA: gcc.dg/simd-1.c fix for x86

Daniel Egger degger@fhm.edu
Sun Jul 7 11:28:00 GMT 2002


Am Son, 2002-07-07 um 19.50 schrieb Joern Rennecke:

> Regression testing on i686-linux-gnu showed an gcc.sg/simd-1.c failure.
> A syntax error caused expand_binop to be called to subtract const0_rtx
> from a vector.  expand_binop doesn't find a direct handler.  It sees
> a CONST_INT and calls expand_unop to negate that.  expand_unop sees
> that this is a vector operation and calls expand_vector_unop.
> expand_vector_unop doesn't find a vector mode to handle the negation in
> as such, so it tries to expand this using sub_optab, which has us back
> at square one with expand_binop being asked to subtract const_int 0
> from a vector.  Hence, cc1 dies from stack overflow due to infinite
> recursion.
 
> expand_vector_binop already has code to handle the const0_rtx (by
> copying it to a register), but that is only after attempting to
> expand using sub_optab.

Might this be the cause of the problem I'm seeing? If so I'd be grateful
to know so I can bootstrap gcc again and test with your patch whether it
solves the issues.

-- 
Servus,
       Daniel



More information about the Gcc-patches mailing list