[SH, committed] Fix some formatting

2013-10-26 Thread Oleg Endo
Hello, I've just committed the attached obvious patch as rev 204098. Tested with make all-gcc. Cheers, Oleg gcc/ChangeLog: * config/sh/sh.md (movmemsi): Remove empty constraints and predicates. Fix formatting. (cmpstr_t, cmpstrsi): Fix formatting. Index: gcc/config/sh/

[SH] Cleanup endianness macros

2013-10-26 Thread Oleg Endo
Hello, The attached patch adds a new macro TARGET_BIG_ENDIAN. I think it's a bit easier to read than !TARGET_LITTLE_ENDIAN. Moreover, some not so obvious looking uses of TARGET_LITTLE_ENDIAN for selecting MSW and LSW register offsets are clarified by using new macros SH_REG_MSW_OFFSET and SH_REG

[SH] PR 54236 - add some more addc patterns

2013-10-28 Thread Oleg Endo
Hello, This adds some more patterns to utilize the SH addc instruction. Tested on rev 204111 with make -k check RUNTESTFLAGS="--target_board=sh-sim \{-m2a/-mb,-m2a-single/-mb,-m4/-ml,-m4-single/-ml,-m4/-mb,-m4-single/-mb}" and no new failures. OK for trunk? Cheers, Oleg gcc/ChangeLog: P

Re: [SH] PR 54236 - add some more addc patterns

2013-10-29 Thread Oleg Endo
On Tue, 2013-10-29 at 11:43 +0900, Kaz Kojima wrote: > Oleg Endo wrote: > > This adds some more patterns to utilize the SH addc instruction. > > Tested on rev 204111 with > > make -k check RUNTESTFLAGS="--target_board=sh-sim > > \{-m2a/-mb,-m2a-single/-mb,-m4/-ml,-

[SH] Split addi,subdi,negdi before reload

2013-11-05 Thread Oleg Endo
Hello, It seems that splitting multi-word insns before reload results in slightly better code on average (according to CSiBE). The attached patch implements that. Tested on rev. 204263 with make -k -j4 check RUNTESTFLAGS="--target_board=sh-sim \{-m2/-ml,-m2/-mb,-m2a/-mb,-m2a-single/-mb,-m4/-ml,-m

Re: Speedup configure and build with system.h

2016-01-22 Thread Oleg Endo
On Thu, 2016-01-21 at 18:10 +0100, Richard Biener wrote: > On Thu, Jan 21, 2016 at 5:57 PM, Michael Matz wrote: > > Hi, > > > > this has bothered me for some time. The gcc configure with stage1 > > feels > > like taking forever because some of the decl availability tests > > (checking > > for C

[SH][committed] Fix PR 69713

2016-02-11 Thread Oleg Endo
Hi, The attached patch fixes PR 69713. For details please see the comments in the PR. Tested on trunk and sh-elf with make -k check RUNTESTFLAGS="--target_board=sh-sim\{-m2/-ml,-m2/-mb, -m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}" Committed to trunk as r233324, 5 branch as r233326 and 4.9 branc

[SH][committed] Adjust some test cases

2016-02-11 Thread Oleg Endo
Hi, Some SH specific test cases have started showing failures recently. This one was easy. Committed as r233346. Cheers, Oleg gcc/testsuite/ChangeLog: * gcc.target/sh/pr54089-8.c: Adjust optimization level. Index: gcc/testsuite/gcc.target/sh/pr54089-8.c ==

[SH][committed] Fix PR 67636

2016-02-12 Thread Oleg Endo
Hi, The attached patch fixes PR 67636 in a simple way by adding yet another bit extraction pattern as mentioned in PR 64345#c3. Tested on sh-elf with make -k check RUNTESTFLAGS="--target_board=sh-sim\{-m2/-ml,-m2/-mb, -m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}" Committed to trunk as r233397. C

Re: [PATCH] Fix PR69771, bogus CONST_INT during shift expansion

2016-02-12 Thread Oleg Endo
On Sat, 2016-02-13 at 07:50 +, James Greenhalgh wrote: > > So do you prefer e.g. following? Bootstrapped/regtested on x86_64 > > -linux and > > i686-linux. > > > > 2016-02-12 Jakub Jelinek > > > > PR rtl-optimization/69764 > > PR rtl-optimization/69771 > > * optabs.c (expand_

[SH][committed] Fix PR 67260

2016-02-13 Thread Oleg Endo
Hi, The attached patch(es) fix PR 67260. For details please see the discussion in the PR log. Tested on trunk and sh-elf with make -k check RUNTESTFLAGS="--target_board=sh-sim\{-m2/-ml,-m2/-mb, -m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}" and on GCC 5 and GCC 4.9 branch with make all-gcc and co

[SH][committed] Fix PR 69806

2016-02-22 Thread Oleg Endo
Hi, The attached patch fixes PR 69806. Tested on sh-elf with make -k check RUNTESTFLAGS="--target_board=sh-sim\{-m2/-ml,-m2/-mb, -m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}" Committed as r233601. Cheers, Oleg gcc/ChangeLog PR target/69806 PR target/54089 * config/sh/sh.

Silence class vs. struct warnings (opt_pass, ipa_opt_pass_d)

2013-12-05 Thread Oleg Endo
Hi, When building GCC on OSX with its native XCode/Clang tools, it outputs quite some "struct X was previously declared as a class" or similar warnings (-Wmismatched-tags is enabled by default). The attached patch fixes this for class opt_pass and class ipa_opt_pass_d by removing the redundant 's

Silence class vs. struct warnings (varpool_node)

2013-12-05 Thread Oleg Endo
Hi, When building GCC on OSX with its native XCode/Clang tools, it outputs quite some "struct X was previously declared as a class" or similar warnings (-Wmismatched-tags is enabled by default). The attached patch fixes this for class varpool_node by removing the redundant 'struct' tag which seem

Silence class vs. struct warnings (vec)

2013-12-05 Thread Oleg Endo
Hi, When building GCC on OSX with its native XCode/Clang tools, it outputs quite some "struct X was previously declared as a class" or similar warnings (-Wmismatched-tags is enabled by default). The attached patch fixes a mismatch in struct vec_prefix when referring to struct vec. Tested with ma

Re: Silence class vs. struct warnings (vec)

2013-12-05 Thread Oleg Endo
On Thu, 2013-12-05 at 01:11 -0800, pins...@gmail.com wrote: > > > On Dec 5, 2013, at 1:00 AM, Oleg Endo wrote: > > > > Hi, > > > > When building GCC on OSX with its native XCode/Clang tools, it outputs > > quite some "struct X was previously

Re: Silence class vs. struct warnings (opt_pass, ipa_opt_pass_d)

2013-12-05 Thread Oleg Endo
On Thu, 2013-12-05 at 01:00 -0800, pins...@gmail.com wrote: > > > No I don't think we want this at all. C++ is clear here. In fact we > don't turn on werror for stage 1 for this exact reason. Rather it > might be better to check if that flag to turn off the warning and use > that. Also this w

Re: Silence class vs. struct warnings (opt_pass, ipa_opt_pass_d)

2013-12-05 Thread Oleg Endo
On Thu, 2013-12-05 at 12:21 +0100, Richard Biener wrote: > On Thu, Dec 5, 2013 at 11:12 AM, Oleg Endo wrote: > > On Thu, 2013-12-05 at 01:00 -0800, pins...@gmail.com wrote: > >> > >> > >> No I don't think we want this at all. C++ is clear here. In fact we

Re: Silence class vs. struct warnings (opt_pass, ipa_opt_pass_d)

2013-12-05 Thread Oleg Endo
On Thu, 2013-12-05 at 14:56 +0100, Richard Biener wrote: > > but they are used somewhere else. I could replace the uses of those > > typedefs in a follow up patch, but for now I wanted to keep the changes > > minimal. > > I didn't mean those cerating typedefs for the pointer type. > > >> and re

[SH, 4.8] Fix PR 59343

2013-12-06 Thread Oleg Endo
Hello, This fixes a bug on the 4.8 branch which was initially described in PR 51244 comment 59 and also reported as a separate PR 59343. Tested with make -k check RUNTESTFLAGS="--target_board=sh-sim \{-m2/-ml,-m2/-mb,-m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}" and no new failures. OK for 4.8? C

Re: [PATCH 10/13] Eliminate last_basic_block macro.

2013-12-06 Thread Oleg Endo
On Fri, 2013-12-06 at 16:57 +0100, Steven Bosscher wrote: > On Fri, Dec 6, 2013 at 3:51 PM, David Malcolm wrote: > > * asan.c (transform_statements): Eliminate use of last_basic_block > > in favor of last_basic_block_for_fn, in order to make use of cfun > > explicit. > > Ca

Re: Oleg Endo appointed co-maintainer of SH port

2013-12-06 Thread Oleg Endo
On Fri, 2013-12-06 at 09:05 -0500, David Edelsohn wrote: > I am pleased to announce that the GCC Steering Committee has > appointed Oleg Endo as co-maintainer of the SH port. > > Please join me in congratulating Oleg on his new role. > Oleg, please update your

Re: [SH] Fix PR 58314 - Rework *movqi / *movhi patterns

2013-12-06 Thread Oleg Endo
On Tue, 2013-11-26 at 12:18 +0100, Oleg Endo wrote: > Hello, > > The attached patch is the same as posted in the PR as attachment 31283. > In addition to the testing done by Kaz and Christian, I've also tested > it with > make -k check RUNTESTFLAGS="--target_board=sh-

Re: [PATCH 12/13] Eliminate FOR_EACH_BB_REVERSE macro.

2013-12-06 Thread Oleg Endo
David, Could you please also update the use of FOR_EACH_BB_REVERSE in config/sh/sh_optimize_sett_clrt.cc ? Thanks, Oleg On Fri, 2013-12-06 at 09:51 -0500, David Malcolm wrote: > gcc/ > * basic-block.h (FOR_EACH_BB_REVERSE): Eliminate macro. > > * cfghooks.c (verify_flow_info): Repla

[SH, committed] Deprecate mcbranchdi and mcmpeqdi options.

2013-12-08 Thread Oleg Endo
Hello, The attached patch deprecates the SH options mcbranchdi and mcmpeqdi, since they turn out to be not so useful. For example, disabling the cbranchdi pattern results in worse code for -Os than -O1 and enabling the cmpeqdi patterns seems to trigger broken/incomplete code paths. Effectively th

[wwwdocs] SH 4.9 changes update

2013-12-08 Thread Oleg Endo
Hello, This is a summary of what has been happening on the SH side during 4.9. Applied. Cheers, Oleg ? sh_changes_49_1.patch Index: htdocs/gcc-4.9/changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.9/changes.html,v retrieving r

Re: [PATCH 10/13] Eliminate last_basic_block macro.

2013-12-09 Thread Oleg Endo
On Mon, 2013-12-09 at 16:47 -0500, David Malcolm wrote: > Yes, longer-term I'd prefer member functions. The approach I posted > approach gives identical results to the status quo after a trip through > the preprocessor, so is somewhat lower-risk than introducing inlinable > member functions. (and

Re: Remove some typedefs (was: Silence class vs. struct warnings (opt_pass, ipa_opt_pass_d))

2013-12-10 Thread Oleg Endo
On Tue, 2013-12-10 at 09:49 -0800, H.J. Lu wrote: > On Tue, Dec 10, 2013 at 9:44 AM, Jakub Jelinek wrote: > > On Mon, Dec 09, 2013 at 08:49:59PM +0100, Oleg Endo wrote: > >> Tested with make all-gcc. > > > > You should be testing such changes by full bootstrap/regt

C++ edge_iterator (was: Re: [SH] PR 53976 - Add RTL pass to eliminate clrt, sett insns)

2013-12-11 Thread Oleg Endo
On Thu, 2013-11-21 at 00:04 +0100, Steven Bosscher wrote: > Declaring the edge_iterator inside the for() is not a good argument > against FOR_EACH_EDGE. Of course, brownie points are up for grabs for > the brave soul daring enough to make edge iterators be proper C++ > iterators... ;-) So, I gave

C++ edge_iterator (was: Re: [SH] PR 53976 - Add RTL pass to eliminate clrt, sett insns)

2013-12-11 Thread Oleg Endo
Same message, but now with the correct patch attached. Sorry. On Thu, 2013-11-21 at 00:04 +0100, Steven Bosscher wrote: > Declaring the edge_iterator inside the for() is not a good argument > against FOR_EACH_EDGE. Of course, brownie points are up for grabs for > the brave soul daring enough to m

Re: C++ edge_iterator (was: Re: [SH] PR 53976 - Add RTL pass to eliminate clrt, sett insns)

2013-12-13 Thread Oleg Endo
On Thu, 2013-12-12 at 03:13 -0500, Trevor Saunders wrote: > On Wed, Dec 11, 2013 at 06:47:37PM +0100, Oleg Endo wrote: > > On Thu, 2013-11-21 at 00:04 +0100, Steven Bosscher wrote: > > > Declaring the edge_iterator inside the for() is not a good argument > > > again

Re: C++ edge_iterator (was: Re: [SH] PR 53976 - Add RTL pass to eliminate clrt, sett insns)

2013-12-13 Thread Oleg Endo
On Fri, 2013-12-13 at 10:38 +0100, Richard Biener wrote: > Apart from the issues raised by Trevor I want to question if we want > to transition > to STL-like iterators (yeah, I know, the gsi_ ones are already > similar). I think it's easier to read and -- more importantly -- understand "foreign"

Re: C++ edge_iterator (was: Re: [SH] PR 53976 - Add RTL pass to eliminate clrt, sett insns)

2013-12-14 Thread Oleg Endo
On Sat, 2013-12-14 at 10:19 +0100, Richard Biener wrote: > Oleg Endo wrote: > >On Thu, 2013-12-12 at 03:13 -0500, Trevor Saunders wrote: > >> On Wed, Dec 11, 2013 at 06:47:37PM +0100, Oleg Endo wrote: > >> > On Thu, 2013-11-21 at 00:04 +0100, Steven Bosscher

Re: C++ edge_iterator (was: Re: [SH] PR 53976 - Add RTL pass to eliminate clrt, sett insns)

2013-12-16 Thread Oleg Endo
On Mon, 2013-12-16 at 09:57 -0500, Trevor Saunders wrote: > > > > BTW, if you look at the patch, I haven't overloaded any ++ operators: > > > > Index: gcc/vec.h > > === > > --- gcc/vec.h (revision 205866) > > +++ gcc/vec.h

Re: C++ edge_iterator (was: Re: [SH] PR 53976 - Add RTL pass to eliminate clrt, sett insns)

2013-12-16 Thread Oleg Endo
On Mon, 2013-12-16 at 11:15 -0500, Trevor Saunders wrote: > > That could also be an option. Although having pointer wrappers already > > in place might open some other opportunities in the future. For > > instance it would make it relatively easy to try out reducing the number > > of garbage col

Add const char* constructors for exception classes in

2013-12-18 Thread Oleg Endo
Hello, When writing code such as ... throw std::logic_error ("cold coffee"); ... currently the construction of std::string happens in the code that throws the exception, which results in code bloat. Implementing the const char* constructors as defined by C++11 fixes the issue. I'm not sure whet

Re: Add const char* constructors for exception classes in

2013-12-19 Thread Oleg Endo
On Thu, 2013-12-19 at 01:19 +, Jonathan Wakely wrote: > On 19 December 2013 00:10, Oleg Endo wrote: > > Hello, > > > > When writing code such as > > ... > > throw std::logic_error ("cold coffee"); > > ... > > currently the construction

[testsuite, committed] Fix spurious long-long-compare-1.c failure on sh4-*-*.

2013-12-19 Thread Oleg Endo
Hi, The gcc.dg/long-long-compare-1.c test case was using -mcbranchdi for sh4-*-* targets. The option has been deprecated in 4.9 and now outputs a warning which causes the test case to fail. Committed as obvious as rev 206121. Cheers, Oleg testsuite/ChangeLog: * gcc.dg/long-long-compare-

Re: [PATCH][AArch64] Use cinc for if_then_else of plus-immediates

2015-07-18 Thread Oleg Endo
On 19 Jul 2015, at 12:13, Andrew Pinski wrote: > On Thu, Jul 16, 2015 at 8:33 AM, Kyrill Tkachov > wrote: >> Hi all, >> >> This patch improves codegen for expressions of the form: >> (x ? y + c1 : y + c2) when |c1 - c2| == 1 >> >> It matches the if_then_else of the two plus-immediates, >> pe

[SH][committed] Fix PR 66930

2015-07-25 Thread Oleg Endo
Hi, This fixes an SH bug that has been discovered during the discussions of PR 66930. Tested by Kaz on sh4-linux. Committed to trunk as r226218 and to GCC 5 branch as r226219. Cheers, Oleg gcc/ChangeLog PR target/66930 * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add miss

Re: [SH][committed] Fix PR 67061

2015-09-20 Thread Oleg Endo
On Mon, 2015-09-14 at 22:50 +0900, Oleg Endo wrote: > Hi, > > The attached patch fixes PR 67061. > Tested on sh-elf trunk r227682 with > make -k check RUNTESTFLAGS="--target_board=sh-sim > \{-m2/-ml,-m2/-mb,-m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}" > > Com

[SH][committed] Use effective target checks for tests

2015-09-20 Thread Oleg Endo
Hi, The attached patch switches the SH specific tests to use effective target checks rather than e.g. triplets or options. This makes it easier to run or ignore tests when the compiler has been configured for some particular sub-target. Tested with make -k check-gcc -j12 RUNTESTFLAGS="sh.exp --t

[testsuite][committed] Move target independent test to c.torture

2015-09-20 Thread Oleg Endo
Hi, The attached patch moves a target independent test that was hanging around in gcc.target/sh to gcc.c-torture/compile. Committed as r227945. Cheers, Oleg testsuite/ChangeLog: * gcc.target/sh/pr43417.c: Move target independent test to ... * gcc.c-torture/compile/pr43417.c: ...

[SH][committed] Fix PR 67126

2015-09-20 Thread Oleg Endo
Hi, This fixes PR 67126 by updating the patterns to match new combine behavior. Tested on sh-elf with make -k check RUNTESTFLAGS="--target_board=sh-sim \{-m2/-ml,-m2/-mb,-m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}" and no new failures. Committed as r227957. Cheers, Oleg gcc/ChangeLog: PR

[SH][committed] Add some test cases for PR 59478

2015-09-20 Thread Oleg Endo
Hi, This adds some known-to-work test cases from the PR. Tested on sh-elf with make -k check-gcc RUNTESTFLAGS="sh.exp=pr59478.c --target_board=sh-sim \{-m2/-ml,-m2/-mb,-m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}" Committed as r227958. Cheers, Oleg gcc/testsuite/ChangeLog: PR target/5947

[wwwdocs][committed] Deprecate SH5/SH64

2015-09-20 Thread Oleg Endo
Hi, This was announced here https://gcc.gnu.org/ml/gcc/2015-08/msg00101.html and after one month there haven't been any objections. I've committed the attached patch for the GCC 6 changes page. Cheers, Oleg ? gcc6_changes_sh_0.patch Index: htdocs/gcc-6/changes.html ==

[SH][committed] Remove SH5/SH64 documentation

2015-09-21 Thread Oleg Endo
Hi, As announced here https://gcc.gnu.org/ml/gcc/2015-08/msg00101.html this patch removes some SH5/SH64 related documentation. Tested with make info dvi pdf. Committed as r227959. Cheers, Oleg gcc/ChangeLog: * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options. Ind

[SH][committed] FIx PR 67657

2015-09-21 Thread Oleg Endo
Hi, This fixes PR 67657 on trunk. It seems that something after the peephole2 pass is not happy to see things like: mov.l @r2+,r2 which some of the SH peephole2 patterns create out of e.g. mov.l @r2+,r0 mov r0,r2 The post-inc is a bit pointless, so this patch catches such c

Re: [SH][committed] FIx PR 67657

2015-09-21 Thread Oleg Endo
On Mon, 2015-09-21 at 22:04 +0900, Oleg Endo wrote: > Hi, > > This fixes PR 67657 on trunk. It seems that something after the > peephole2 pass is not happy to see things like: > mov.l @r2+,r2 > > which some of the SH peephole2 patterns create out of e.g. > m

[SH][committed] Adjust pr64345-1.c testcase for SH2A

2015-09-21 Thread Oleg Endo
Hi, There have been some changes to the generated bitfiddling code for SH2A and the test case caught them. Those changes are good, and the test case can be adjusted accordingly. Tested on sh-elf with make -k check-gcc RUNTESTFLAGS="sh.exp --target_board=sh-sim\{-m2a/-mb}" Committed as r227971.

ifcvt vs. expand_binop

2015-09-22 Thread Oleg Endo
On SH, the result of comparisons etc. is stored in the T_REG. It's a 1 bit reg but described as SImode. To get the T_REG into another reg, there's this insn: (define_insn "movt" [(set (match_operand:SI 0 "arith_reg_dest" "=r") (match_operand:SI 1 "t_reg_operand"))] "TARGET_SH1" "mo

Re: ifcvt vs. expand_binop

2015-09-22 Thread Oleg Endo
Hi, On Tue, 2015-09-22 at 15:21 +0100, Kyrill Tkachov wrote: > where does noce_emit_store_flag call expand_simple_binop? > Do you mean the code following the call to noce_emit_store_flag > in noce_try_store_flag_constants? (I suspect that's the code that > will get triggered for your testcase) S

Re: ifcvt vs. expand_binop

2015-09-22 Thread Oleg Endo
On Tue, 2015-09-22 at 17:53 +0200, Bernd Schmidt wrote: > On 09/22/2015 03:35 PM, Oleg Endo wrote: > > On SH, the result of comparisons etc. is stored in the T_REG. It's a 1 > > bit reg but described as SImode. To get the T_REG into another reg, > > there's this i

Re: ifcvt vs. expand_binop

2015-09-22 Thread Oleg Endo
On Wed, 2015-09-23 at 00:48 +0900, Oleg Endo wrote: > I haven't checked the details. But I guess because expand_binop wants > to somehow reuse the input and output it creates a DImode pseudo, puts > the input there, does the DImode plus and the returned "target" is

[SH][committed] Fix PR 67391

2015-09-23 Thread Oleg Endo
Hi, The attached patch fixes PR 67391. Some additional reg overlapping were added to the addsi3 patterns while making LRA on SH work, but not all of them seem to be good. Removing them, seems to be working just fine. Tested on sh-elf (LRA enabled) with make -k check RUNTESTFLAGS="--target_board=

[SH][committed] Fix PR 67675

2015-09-25 Thread Oleg Endo
Hi, This patch adds more fine grained alignment checks to SH's builtin strcmp and strncmp expanders. If one of the input pointers is known to be at least 4 byte aligned, there's no need to check it. Tested on sh-elf with make -k check RUNTESTFLAGS="--target_board=sh-sim \{-m2/-ml,-m2/-mb,-m2a/-m

Re: [SH][committed] Fix PR 67391

2015-09-27 Thread Oleg Endo
On Wed, 2015-09-23 at 21:04 +0900, Oleg Endo wrote: > Hi, > > The attached patch fixes PR 67391. Some additional reg overlapping were > added to the addsi3 patterns while making LRA on SH work, but not all of > them seem to be good. Removing them, seems to be working just fine.

Re: [PATCH] Convert SPARC to LRA

2015-09-28 Thread Oleg Endo
On Sun, 2015-09-27 at 19:29 -0600, Jeff Law wrote: > On 09/27/2015 01:57 PM, Hans-Peter Nilsson wrote: > > On Wed, 9 Sep 2015, Mike Stump wrote: > > > >> On Sep 8, 2015, at 9:41 PM, David Miller wrote: > >>> +#define TARGET_LRA_P hook_bool_void_true > >> > >> Are we at the point there this should

Re: [SH][committed] Fix PR 67391

2015-09-28 Thread Oleg Endo
On Sun, 2015-09-27 at 21:03 +0900, Oleg Endo wrote: > On Wed, 2015-09-23 at 21:04 +0900, Oleg Endo wrote: > > Hi, > > > > The attached patch fixes PR 67391. Some additional reg overlapping were > > added to the addsi3 patterns while making LRA on SH work, but not all

[SH][committed] Improve treg_set_expr matching

2015-09-28 Thread Oleg Endo
Hi, This patch has been hanging around in my queue for a while. Basically, it uses reverse_condition to get better matching for treg_set_expr. Tested on sh-elf with make -k check RUNTESTFLAGS="--target_board=sh-sim \{-m2/-ml,-m2/-mb,-m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}" and no new failures

Re: [PATCH] Convert SPARC to LRA

2015-09-29 Thread Oleg Endo
On Mon, 2015-09-28 at 15:28 -0500, Segher Boessenkool wrote: > We can at least change the default to LRA, so new ports get it unless > they like to hurt themselves. > > I don't think it makes sense to keep reload around *just* for the ports > that are in "maintenance mode": by the time we are dow

Re: [PATCH] Fix undefined behaviour in SH port

2015-09-30 Thread Oleg Endo
On Tue, 2015-09-29 at 10:41 -0600, Jeff Law wrote: > More left shifts of negative signed values to fix in the SH port. I'm > not sure how these were missed last week or if they were introduced > between the point when I tested last week and yesterday. Regardless, > they're fixed in the obvious

Re: [SH][committed] Improve treg_set_expr matching

2015-10-01 Thread Oleg Endo
On Mon, 2015-09-28 at 23:03 +0900, Oleg Endo wrote: > Hi, > > This patch has been hanging around in my queue for a while. Basically, > it uses reverse_condition to get better matching for treg_set_expr. > Tested on sh-elf with > make -k check RUNTESTFLAGS="--target_board

Re: [PATCH] SH FDPIC backend support

2015-10-01 Thread Oleg Endo
On Thu, 2015-10-01 at 17:35 -0400, Rich Felker wrote: > This is a forward-port of the abandoned SH FDPIC patch from 2010: > > https://gcc.gnu.org/ml/gcc-patches/2010-08/msg01536.html > > I'm submitting it at this point for initial review, not to be applied > right away; I would not be surprised i

[SH][committed]

2015-10-02 Thread Oleg Endo
Hi, The attached SH patch converts sequences such as: movtr2 movtr13 into: movtr2 mov r2,r13 This shortens the live range of the T bit register and is better for parallel execution. It doesn't happen often, but it's easy to avoid it. Unfortunately

Re: [PATCH] SH FDPIC backend support

2015-10-02 Thread Oleg Endo
On Thu, 2015-10-01 at 21:30 -0400, Rich Felker wrote: > If you have any other general comments on the patch in the mean time > I'd be happy to hear them. Below are some comments. Might be a bit unstructured, I was hopping through the patch file. Sorry about that. > +function_symbol (rtx target

Re: [PATCH] SH FDPIC backend support

2015-10-02 Thread Oleg Endo
On Fri, 2015-10-02 at 11:18 -0400, Rich Felker wrote: > Thanks! This is very helpful. gcc style has changed a lot since the > old patch was submitted so I think it makes sense to update it to > match current practices rather than just making it work. I'll try to > focus on any functional problems

Re: [PATCH] SH FDPIC backend support

2015-10-03 Thread Oleg Endo
On Sat, 2015-10-03 at 00:50 -0400, Rich Felker wrote: > I have -mfdpic in the self-specs when FDPIC_DEFAULT is defined, so I > think only the positive form is needed. Having positive and negative forms for options makes sense. It usually costs nothing because anyway the compiler internally supp

Re: [patch committed SH] Fix PR target/67716

2015-10-03 Thread Oleg Endo
On Tue, 2015-09-29 at 14:39 +0900, Kaz Kojima wrote: > I've committed the attached patch to fix PR target/67716. It > implements targetm.override_options_after_change for SH. Tested > on sh4-unknown-linux-gnu. I've committed this to GCC 5 branch as r228449. Tested briefly on sh-elf with "make al

Re: [PATCH] SH FDPIC backend support

2015-10-03 Thread Oleg Endo
On Sat, 2015-10-03 at 18:34 -0400, Rich Felker wrote: > > > > I found and fixed the problem, but I have a new concern: calls to the > > new shift instructions are using the following address forms: > > > > -mno-fdpic -fPIC: > > .long __ashlsi3_r0@GOTOFF > > > > -mfdpic: > > .long __a

Re: [PATCH] SH FDPIC backend support

2015-10-05 Thread Oleg Endo
On Sun, 2015-10-04 at 22:16 -0400, Rich Felker wrote: > This is FDPIC-specific. Because there is fundamentally no way for a > function to find its own GOT (it has one GOT for each process using > the code containing the function), its GOT address has to be a > (hidden) argument to the function whic

Re: [PATCH v2] SH FDPIC backend support

2015-10-06 Thread Oleg Endo
On Mon, 2015-10-05 at 23:15 -0400, Rich Felker wrote: > Attached is the initial version of the patch against trunk. I've fixed > the functional issues I'm aware of from the previous version: ICE in > generating the plain-SH2 libgcc-based shifts, missing > sh_legitimate_constant_p changes, and bad a

Re: [PATCH] reorg.c: use vec instead of rtx_insn_list for the delay insn list

2015-10-06 Thread Oleg Endo
On Tue, 2015-10-06 at 15:59 +0200, Bernd Schmidt wrote: > On 10/06/2015 03:37 PM, tbsaunde+...@tbsaunde.org wrote: > > This seems a bit cleaner, and should involve less allocation. > > I agree this is good. rtx_insn_list should die. > > > I tested there was no regressions for sh-sim with all lang

Re: [PATCH v2] SH FDPIC backend support

2015-10-06 Thread Oleg Endo
On Tue, 2015-10-06 at 12:52 -0400, Rich Felker wrote: > > > + if (TARGET_FDPIC) > > > +{ > > > + rtx a = force_reg (Pmode, plus_constant (Pmode, XEXP (tramp_mem, > > > 0), 8)); > > > + emit_move_insn (adjust_address (tramp_mem, SImode, 0), a); > > > + emit_move_insn (adjust_add

Re: [PATCH v2] SH FDPIC backend support

2015-10-07 Thread Oleg Endo
On Tue, 2015-10-06 at 19:36 -0400, Rich Felker wrote: > > > > Do you have some alternatives to what's currently in the patch? It's > > difficult to judge without seeing them... > > Perhaps something like the following: > > #ifdef __SH_FDPIC__ > typedef __attribute__((__may_alias__)) uintptr_t s

Re: [PATCH] 2015-10-15 Benedikt Huber Philipp Tomsich

2015-10-16 Thread Oleg Endo
On Thu, 2015-10-15 at 22:03 +, Benedikt Huber wrote: > > +/* Add builtins for reciprocal square root. */ > + > +void > +aarch64_init_builtin_rsqrt (void) > +{ > + tree fndecl = NULL; > + tree ftype = NULL; > + > + tree V2SF_type_node = build_vector_type (float_type_node, 2); > + tree V2D

Re: [PATCH] 2015-10-15 Benedikt Huber Philipp Tomsich

2015-10-16 Thread Oleg Endo
On Fri, 2015-10-16 at 15:47 +0100, Marcus Shawcroft wrote: > On 16 October 2015 at 15:31, Benedikt Huber > wrote: > > I introduced this in revision 7 due to a request from James Greenhalgh. > > https://gcc.gnu.org/ml/gcc-patches/2015-10/msg00963.html > > > >> Given that this is all so mechanical,

Re: [PATCH, sh][v3] musl support for sh

2015-10-16 Thread Oleg Endo
On Fri, 2015-10-16 at 17:06 +0100, Szabolcs Nagy wrote: > Revision of > https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01636.html > > The musl dynamic linker name is /lib/ld-musl-sh{-nofpu}{-fdpic}.so.1 > > New in this revision: > > Add -fdpic to the name, will be useful with the pending sh2 FDPI

Re: [PATCH, sh][v3] musl support for sh

2015-10-20 Thread Oleg Endo
On Mon, 2015-10-19 at 20:01 +0100, Szabolcs Nagy wrote: > On 17/10/15 02:14, Oleg Endo wrote: > > On Fri, 2015-10-16 at 17:06 +0100, Szabolcs Nagy wrote: > >> Revision of > >> https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01636.html > >> > >> The musl

Re: [PATCH v3] SH FDPIC backend support

2015-10-21 Thread Oleg Endo
Rich, Thanks for the updated patch. Please do not start new threads for a continuation of an existing thread. This makes it difficult to track in the archives. On Tue, 2015-10-20 at 23:41 -0400, Rich Felker wrote: > Attached is a hopefully near-ready-for-commit version of the SH/FDPIC > patch. I

Re: [PATCH v4] SH FDPIC backend support

2015-10-25 Thread Oleg Endo
On Fri, 2015-10-23 at 02:32 -0400, Rich Felker wrote: > Here's my updated version of the FDPIC patch with all requested > changes made and Changelog added. I've included all the original > authors. This is my first time writing such an extensive Changelog > entry so please let me know if there are

Re: [PATCH][auto-inc-dec.c] Account for cost of move operation in FORM_PRE_ADD and FORM_POST_ADD cases

2015-10-26 Thread Oleg Endo
On Mon, 2015-10-26 at 12:12 +0100, Bernd Schmidt wrote: > On 10/26/2015 11:40 AM, Kyrill Tkachov wrote: > > In the FORM_POST_ADD case the pass transforms: > > *a > > ... > > b <- a + c > > > > into > > > > b <- a > > ... > >

Re: [PATCH v4] SH FDPIC backend support

2015-10-27 Thread Oleg Endo
On Mon, 2015-10-26 at 22:47 -0400, Rich Felker wrote: > On Sun, Oct 25, 2015 at 11:28:51PM +0900, Oleg Endo wrote: > > On Fri, 2015-10-23 at 02:32 -0400, Rich Felker wrote: > > > Here's my updated version of the FDPIC patch with all requested > > > changes made an

Re: [sh] Add flag_unsafe_math_optimizations to sincossf3

2015-11-07 Thread Oleg Endo
On Sat, 2015-11-07 at 13:27 +, Richard Sandiford wrote: > builtins.c uses the following code to guard expansions involving > optabs: > > CASE_FLT_FN (BUILT_IN_EXP): > CASE_FLT_FN (BUILT_IN_EXP10): > CASE_FLT_FN (BUILT_IN_POW10): > CASE_FLT_FN (BUILT_IN_EXP2): > CASE_FLT_FN

Re: [PATCH v4] SH FDPIC backend support

2015-11-11 Thread Oleg Endo
On Tue, 2015-11-10 at 15:07 -0500, Rich Felker wrote: > > The way libcalls are now emitted is a bit unhandy. If more special > > -ABI > > libcalls are to be added in the future, they all have to do the jsr > > vs. > > bsrf handling (some potential candidates for new libcalls are > > optimized > >

Re: [PATCH v4] SH FDPIC backend support

2015-11-14 Thread Oleg Endo
On Wed, 2015-11-11 at 09:56 -0500, Rich Felker wrote: > Sorry, I don't really understand RTL well enough to make a code > snippet. What I want to express is that an insn "uses" (in the (use > ...) sense) a register (r12) conditionally depending on a runtime > option (TARGET_FDPIC). As far as I kn

[wwwdocs] Mention SH FDPIC support

2015-11-15 Thread Oleg Endo
Hi, I've just committed the attached patch to the GCC 6 changes page. Cheers, Oleg? sh_fdpic_wwwdocs.patch Index: htdocs/gcc-6/changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-6/changes.html,v retrieving revision 1.41 diff -u -

[SH][committed] Fix PR 68277

2015-11-16 Thread Oleg Endo
Hi, The attached patch fixes PR 68277. Tested by Kaz on trunk on sh4-linux. I've also done a sanity check on GCC 5 branch with "make all" on sh-elf. Committed to trunk as r230425 and to GCC 5 branch as r230426. Cheers, Oleg gcc/ChangeLog: PR target/68277 * config/sh/sh.md (adds

Re: [PATCH v4] SH FDPIC backend support

2015-11-16 Thread Oleg Endo
On Sun, 2015-11-15 at 15:39 -0500, Rich Felker wrote: > > This is basically the same as above ... it's not possible to > > conditionally construct/modify pattern descriptions in the .md. > > However, it's possible to modify the CALL_INSN_FUNCTION_USAGE > > field of > > call insns -- for some exa

Re: PING [PATCH] RX new builtin function

2020-08-10 Thread Oleg Endo
On Mon, 2020-08-10 at 13:51 +0300, Darius Galis wrote: > > I've found the following patch > https://gcc.gnu.org/legacy-ml/gcc-patches/2018-11/msg00983.html, but it > is not in the latest sources. > Could please let me know why it was not added? I'm willing to do any > rework necessary in order

Re: Minor regression due to recent IRA changes

2020-02-29 Thread Oleg Endo
On Fri, 2020-02-28 at 13:24 -0700, Jeff Law wrote: > This change: > > > commit 3133bed5d0327e8a9cd0a601b7ecdb9de4fc825d > > Author: Vladimir N. Makarov > > Date: Sun Feb 23 16:20:05 2020 -0500 > > > > Changing cost propagation and ordering colorable bucket > > heuristics for > > PR93564. >

Re: Minor regression due to recent IRA changes

2020-02-29 Thread Oleg Endo
On Sat, 2020-02-29 at 08:47 -0700, Jeff Law wrote: > > It's almost certainly the case that the recent IRA changes are going to stress > R0 more. If I'm reading what Vlad did correctly, one of the tie-breakers its > using now is to choose the lowest numbered register when all else is equal. > So

Re: Minor regression due to recent IRA changes

2020-02-29 Thread Oleg Endo
On Sat, 2020-02-29 at 08:57 -0700, Jeff Law wrote: > > > It could open a can of worms. Off the top of my head, R0 is used to > > hold the function return value, and R0:R1 to return structs with sizeof > > > 4 bytes. So if DImode is allocated to R0, it implicitly uses R0:R1, > > > > AFAIR, doesn

Re: Minor regression due to recent IRA changes

2020-02-29 Thread Oleg Endo
On Sat, 2020-02-29 at 09:38 -0700, Jeff Law wrote: > > It really would have just been a workaround for some of the R0 issues anyway. > I think at its core R0 on the SH probably needs to be treated more like a > temporary rather than a general register. But that's probably a huge change, > both i

Re: Minor regression due to recent IRA changes

2020-02-29 Thread Oleg Endo
On Sat, 2020-02-29 at 12:35 -0700, Jeff Law wrote: > > Yup. That was roughly what I was thinking and roughly the worry I had with > trying to squash out the quality regressions. But it may ultimately be the > only way to really resolve these issues. Another idea would be to let RA see R0, but i

Re: Minor regression due to recent IRA changes

2020-03-07 Thread Oleg Endo
On Thu, 2020-03-05 at 08:51 -0700, Jeff Law wrote: > > FWIW I've got an sh4/sh4eb bootstrap and regression test running with > HONOR_REG_ALLOC_ORDER defined. As Vlad mentioned, that may be a > viable workaround. > I've had a look at the good old CSiBE code size results and poked at some of the

Re: [committed] [PR target/85993] Remove dead conditional in SH target code

2019-09-28 Thread Oleg Endo
On Sun, 2018-07-15 at 14:30 -0600, Jeff Law wrote: > > Per Oleg's comment in the PR, the second block is dead and should be > removed... > > Committing to the trunk. While I'm confident this won't change > anything, my tester will bootstrap sh4 & sh4eb overnight for > additional > verification.

[SH][committed] Fix PR 80672

2019-09-28 Thread Oleg Endo
Hi, The attached patch fixes PR 80672. Tested by building the compiler with "make all-gcc" and manually invoking it and checking that the option is parsed as expected. Committed to trunk as r276240, GCC 9 as r276241, GCC 8 as r276242, GCC 7 as r276243. Cheers, Oleg gcc/ChangeLog PR tar

[SH][committed] Fix PR 86805

2019-09-28 Thread Oleg Endo
Hi, This also sets TARGET_HAVE_SPECULATION_SAFE_VALUE to speculation_safe_value_not_needed for SH. Tested with "make all-gcc". Committed on trunk as r276244 and on GCC 9 as r276245. Cheers, Oleg gcc/ChangeLog PR target/86805 * config/sh/sh.c (TARGET_HAVE_SPECULATION_SAFE_VALUE

Re: [PATCH v2] libitm: sh: avoid absolute relocation in shared library (PR 86712)

2019-09-28 Thread Oleg Endo
On Sat, 2018-08-04 at 18:00 +0900, Oleg Endo wrote: > On Fri, 2018-08-03 at 14:54 -0600, Jeff Law wrote: > > On 07/28/2018 07:04 AM, slyfox.inbox.ru via gcc-patches wrote: > > > > > > From: Sergei Trofimovich > > > > > > Cc: Andreas Schwab > &

<    1   2   3   4   5   6   7   8   >