From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1881) id A58883857C5D; Thu, 19 Aug 2021 16:18:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A58883857C5D Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Aaron Sawdey To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/acsawdey/heads/reassoc-new)] add cutoffs for plus/logical and mult below which we wont do parallel reassoc. X-Act-Checkin: gcc X-Git-Author: Aaron Sawdey X-Git-Refname: refs/users/acsawdey/heads/reassoc-new X-Git-Oldrev: cb9154ee011630cd2b5682eaac69309e105bd079 X-Git-Newrev: f724d04a522c6d6c3d0609bbf52da3e94bd0ba42 Message-Id: <20210819161826.A58883857C5D@sourceware.org> Date: Thu, 19 Aug 2021 16:18:26 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Aug 2021 16:18:26 -0000 https://gcc.gnu.org/g:f724d04a522c6d6c3d0609bbf52da3e94bd0ba42 commit f724d04a522c6d6c3d0609bbf52da3e94bd0ba42 Author: Aaron Sawdey Date: Thu Aug 19 11:17:45 2021 -0500 add cutoffs for plus/logical and mult below which we wont do parallel reassoc. Diff: --- gcc/config/rs6000/rs6000.c | 11 ++++++++++- gcc/config/rs6000/rs6000.opt | 8 ++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 8ee7502df67..33256cea572 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -9936,7 +9936,7 @@ rs6000_offsettable_memref_p (rtx op, machine_mode reg_mode, bool strict) static int rs6000_reassociation_width (unsigned int opc_in, machine_mode mode, - unsigned int num_op ATTRIBUTE_UNUSED) + unsigned int num_op) { tree_code opc = (tree_code)opc_in; bool isPlus=false, isMult=false; @@ -9944,10 +9944,19 @@ rs6000_reassociation_width (unsigned int opc_in, machine_mode mode, { case PLUS_EXPR: isPlus=true; + if (num_op < (unsigned int)rs6000_min_reassoc_plus) + return 1; break; case MULT_EXPR: isMult=true; + if (num_op < (unsigned int)rs6000_min_reassoc_mult) + return 1; break; + case BIT_IOR_EXPR: + case BIT_XOR_EXPR: + case BIT_AND_EXPR: + if (num_op < (unsigned int)rs6000_min_reassoc_plus) + return 1; default: break; } diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt index 0538db387dc..2147d851485 100644 --- a/gcc/config/rs6000/rs6000.opt +++ b/gcc/config/rs6000/rs6000.opt @@ -320,6 +320,14 @@ mvrsave=yes Target RejectNegative Alias(mvrsave) Warn(%<-mvrsave=yes%> is deprecated; use %<-mvrsave%> instead) Deprecated option. Use -mvrsave instead. +mmin-reassoc-plus= +Target Var(rs6000_min_reassoc_plus) Init(0) RejectNegative Joined UInteger Save +testing .. min reassoc terms to do parallel reassociation for plus + +mmin-reassoc-mult= +Target Var(rs6000_min_reassoc_mult) Init(0) RejectNegative Joined UInteger Save +testing .. min reassoc terms to do parallel reassociation for multiply + mblock-move-inline-limit= Target Var(rs6000_block_move_inline_limit) Init(0) RejectNegative Joined UInteger Save Max number of bytes to move inline.