This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Daniel Egger wrote:
> 
> 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.

What problem are you seeing?
It is unlikely that you this patch of mine will fix an x86 bootstrap problem
for you, since I've updated and bootstrapped gcc just before, and the only
new regression was dg/simd-1.c .  Of course, time skew in the last
cvs update between my and your checkout, and different build tools,
could leat to a different set of latent bug to manifest themselves.

OTOH, beore the that bootstrap I've already written the four
as-yet-unreviewed patches below in order to fix various sh64 and alpha
problems. 

Tue Jun 18 15:56:43 2002  J"orn Rennecke <joern.rennecke@superh.com>

        * loop.c (prescan_loop): If FUNCTION_ARG_PASS_BY_REFERENCE is
        defined, take CALL_INSN_FUNCTION_USAGE of const / pure functions
        into account.
        (insert_loop_mem): Likewise.

http://gcc.gnu.org/ml/gcc-patches/2002-06/msg01502.html

Fri Jun 28 13:04:33 2002  J"orn Rennecke <joern.rennecke@superh.com>

        * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
        * genrecog.c (write_switch, write_cond): Use it.
        * genemit.c (gen_exp): Likewise.


http://gcc.gnu.org/ml/gcc-patches/2002-06/msg02224.html

Sun Jul  7 00:51:12 2002  J"orn Rennecke <joern.rennecke@superh.com>

	* combine.c (gen_lowpart_for_combine): Handle vector modes.
	Supply non-VOID mode to simplify_gen_subreg.

http://gcc.gnu.org/ml/gcc-patches/2002-07/msg00321.html

Sun Jul  7 00:42:30 2002  J"orn Rennecke <joern.rennecke@superh.com>

	* cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.

http://gcc.gnu.org/ml/gcc-patches/2002-07/msg00322.html

	
-- 
--------------------------
SuperH
2430 Aztec West / Almondsbury / BRISTOL / BS32 4AQ
T:+44 1454 462330


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]