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