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: [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


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