[Bug target/51244] SH Target: Inefficient conditional branch

olegendo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Mar 3 12:32:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51244

--- Comment #10 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-03-03 12:32:29 UTC ---
(In reply to comment #9)
> Created attachment 26812 [details]
> Proposed patch
> 
> I've tested this patch again against rev 184764 (GCC 4.7) with
> 
> make -k check RUNTESTFLAGS="--target_board=sh-sim\{
> -m2/-ml,-m2/-mb,-m2a-single/-mb,-m4-single/-ml,
> -m4-single/-mb,-m4a-single/-ml,-m4a-single/-mb}"
> 
> Surprisingly, it fixes the following libstdc++ tests.
> 

That was a false alarm.  I've messed up the test results somehow.
The libstdc++ test case fixes have nothing to do with the patch, but rather
rev 184764 vs. rev 184829.  Sorry for any confusion.

> 
> However, it also introduces two new of new failures.
> 
> For all sub targets:
> FAIL: 21_strings/basic_string/cons/char/6.cc execution test
> 
> For -m4a-single and -m4-single (-ml and -mb):
> FAIL: 22_locale/ctype/is/char/3.cc execution test
> 
> I'm looking into what is happening in the two cases.

It seems that when building newlib something gets messed up related to delayed
branches.  Building newlib with -fno-delayed-branch seems to make the failures
go away.



More information about the Gcc-bugs mailing list