This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR c++/5964
- From: Brad Lucier <lucier at math dot purdue dot edu>
- To: jakub at redhat dot com
- Cc: rth at redhat dot com (Richard Henderson), rschiele at uni-mannheim dot de (Robert Schiele), lucier at math dot purdue dot edu (Brad Lucier), gcc-patches at gcc dot gnu dot org
- Date: Wed, 27 Mar 2002 23:54:57 -0500 (EST)
- Subject: Re: [PATCH] Fix PR c++/5964
> The testcase below did not link on sparc -m64 -O0, because SPARC
> length computation was pretty inaccurate (e.g. unconditional branches with
> nops in delay slots were 1 insn shorter, on the other side conditional
> branches with full delay slots were 1 insn longer than they actually were).
> Below is an attempt for precise length computation.
> Have tested it on the testcase, but as my sparc64-linux box has still
> issues with libstdc++ relocations, haven't bootstrapped it.
> Could someone please bootstrap this on sparcv9-*-solaris2.[89]?
> Thanks.
>
> 2002-03-27 Jakub Jelinek <jakub@redhat.com>
>
> PR c++/5964
> * config/sparc/sparc.md (empty_delay_slot, branch_type): New
> attributes.
> (length): Compute variable length for branches/calls/jumps here.
> (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
> normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
> define branch_type attribute.
> (divsi3_sp32): Maximum length is 6 not 7.
> (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
> call_address_untyped_struct_value_sp32,
> call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
> * config/sparc/sparc.c (empty_delay_slot): New function.
> * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
> * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
>
> * g++.dg/opt/longbranch1.C: New test.
>
There were changes in the libjava regression suite; left is with
patch, right is without. Both were
LAST_UPDATED: Wed Mar 27 16:49:38 UTC 2002
157a181
> FAIL: G19990301_01 -O output from source compiled test
174d197
< FAIL: G19990310_01 -O output from bytecode->native test
191c214
< FAIL: Matrix4f output from bytecode->native test
---
> FAIL: Matrix4f -O output from bytecode->native test
282,283c305
< FAIL: anon3 output from source compiled test
< FAIL: anon4 -O output from source compiled test
---
> FAIL: anon4 output from bytecode->native test
287a310
> FAIL: anonarray2 -O output from bytecode->native test
291d313
< FAIL: direct_write output from bytecode->native test
293,294c315
< WARNING: program timed out.
< FAIL: err2 execution from source compiled test
---
> FAIL: direct_write -O output from bytecode->native test
299c320
< FAIL: final_int -O output from bytecode->native test
---
> FAIL: final_int -O output from source compiled test
324d344
< FAIL: inner2 output from source compiled test
370d389
< FAIL: private_direct_read output from bytecode->native test
397,398c416,417
< # of expected passes 1719
< # of unexpected failures 265
---
> # of expected passes 1723
> # of unexpected failures 262
400c419
< # of untested testcases 86
---
> # of untested testcases 85
It takes too long to bootstrap/make check with java, so I am unlikely
to do it regularly any more.
Brad