Re: [PATCH 1/4] Clean up of new format of -falign-FOO.

2018-07-16 Thread Pat Haugen
testsuite/gcc.target/powerpc/loop_align.c fails with this patch. It just needs a simple tweak to the scan-assembler line since we're no longer generating the ",,31" portion on the .p2align. -Pat

[PATCH rs6000] Fix PR86612

2018-07-26 Thread Pat Haugen
testcase now passes, ok for trunk? -Pat testsuite/ChangeLog: 2018-07-26 Pat Haugen PR target/86612 * gcc.target/powerpc/pr58673-2.c: Call strdup. Index: testsuite/gcc.target/powerpc/pr58673-2.c === --- testsuite

Re: [PATCH] correct COUNT and PROB for unrolled loop

2020-02-03 Thread Pat Haugen
On 2/3/20 2:17 AM, Jiufu Guo wrote: > +/* { dg-final { scan-rtl-dump-times "REG_BR_PROB 937042044" 1 > "loop2_unroll"} } */ Sorry I didn't catch this addition to the original testcase earlier, but I wonder how stable this test is going to be. If there are future changes to default count/probabi

Re: [PATCH V4, rs6000] Disable generation of scalar modulo instructions

2023-09-19 Thread Pat Haugen
On 9/13/23 3:48 PM, Segher Boessenkool wrote: - "TARGET_POWER10 && TARGET_POWERPC64" + "TARGET_POWER10 && TARGET_POWERPC64 && !RS6000_DISABLE_SCALAR_MODULO" "vmoduq %0,%1,%2" Did we ever test if this insn in fact is slower as well? I don't mean either way, orthogonality is good, but ju

Re: [PATCH][RFC] Move IVOPTs closer to RTL expansion

2013-09-11 Thread Pat Haugen
On 09/04/2013 04:20 AM, Richard Biener wrote: Any help with benchmarking this on targets other than x86_64 is appreciated (I'll re-do x86_64). I ran CPU2000 and CPU2006 on PowerPC comparing the patch. CPU2000 had 3 benchmarks degrade in the 4%-6%range (254.gap, 168.wupwise, 173.applu).CPU2006

[PATCH rs6000 testsuite] Fix a couple tests for VSX scalar instructions

2012-10-01 Thread Pat Haugen
This patch fixes a couple failures that occur if the testsuite is run with -mvsx and the VSX scalar sqrt instructions are generated. Ok for trunk? -Pat testsuite/ChangeLog: 2012-10-01 Pat Haugen * gcc.target/powerpc/pr46728-1.c: Accept xssqrtdp. * gcc.target/powerpc/pr46728

[PATCH, testsuite committed] Fix powerpc direct-move.h

2013-10-23 Thread Pat Haugen
The following fixes the gcc.target/powerpc/direct-move-*2.c executable test failures. Committed as obvious. 2013-10-23 Pat Haugen * gcc.target/powerpc/direct-move.h: Fix header for executable tests. Index: gcc/testsuite/gcc.target/powerpc/direct-move.h

[PATCH, rs6000] Add Power9 asm entries

2016-01-20 Thread Pat Haugen
The following adds a couple missed Power9 assembler option entries. Bootstrapped on ppc64. Ok for trunk? -Pat 2016-01-20 Pat Haugen * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9. * config/rs6000/driver-rs6000.c (struct asm_names): Likewise. Index: config

[PATCH, rs6000] Disable static branch prediction in absence of real profile data

2016-01-27 Thread Pat Haugen
The following patch prevents static prediction if we don't have real profile data. Testing on SPEC CPU2006 showed a couple improvements in specint and specfp neutral. Bootstrap/regtest on powerpc64 with no new regressions. Ok for trunk? -Pat 2016-01-27 Pat Haugen * config/r

[PATCH, rs6000] Fix type attribute for a few insns

2016-02-04 Thread Pat Haugen
The following patch fixes a few insns that were specifying an incorrect 'type' attribute. Bootstrap/regtest on powerpc64-linux with no new regressions. Ok for trunk? -Pat 2016-02-04 Pat Haugen * config/rs6000/crypto.md (crypto_vpermxor_): Correct insn type.

[PATCH, rs6000] Don't emit profile code for procedures marked no_instrument_function

2014-01-14 Thread Pat Haugen
This patch fixes a problem where the attribute no_instrument_function was being ignored and profile code was emitted. Testcase gcc.target/powerpc/ppc64-abi-2.c exposed the issue. Bootstrap/regtest with no new regressions, ok for trunk? -Pat 2014-01-13 Pat Haugen * config/rs6000

Re: [RFC, PATCH] Split pool_allocator and create a new object_allocator

2015-07-10 Thread Pat Haugen
On 07/09/2015 04:43 PM, Martin Liška wrote: This final version which I agreed with Richard Sandiford. Hope this can be finally installed to trunk? Patch can bootstrap and survive regression tests on x86_64-linux-gnu. FWIW, I confirmed this version of the patch fixes the build issues on powerpc6

Re: [Patch,optimization]: Optimized changes in the estimate register pressure cost.

2015-09-29 Thread Pat Haugen
On 09/25/2015 11:51 PM, Ajit Kumar Agarwal wrote: I have made the following changes in the estimate_reg_pressure_cost function used by the loop invariant and IVOPTS. Earlier the estimate_reg_pressure cost uses the cost of n_new variables that are generated by the Loop Invariant and IVOPTS. T

[PATCH] rs6000: Refactor scheduling hook code

2019-11-18 Thread Pat Haugen
The following patch factors out some common code to its own function and also moves the Power6 specific code to a new function. Bootstrap/regtest on powerpc64le with no regressions. Ok for trunk? -Pat 2019-11-18 Pat Haugen * config/rs6000/rs6000.c (move_to_end_of_ready): New

[PATCH, rs6000] Fix scheduling description for quad-precision multiply instructions

2017-11-08 Thread Pat Haugen
regressions. Ok for trunk? -Pat 2017-11-08 Pat Haugen * rs6000/power9.md (power9-qpmul): New. * rs6000/rs6000.md ("type" attr): Add qmul. (mul3, fma4_hw, *fms4_hw, *nfma4_hw, *nfms4_hw, mul3_odd, fma4_odd, *fms4_odd, *nfma4_odd, *nfms4_odd): C

Re: [PATCH, rs6000] Fix scheduling description for quad-precision multiply instructions

2017-11-08 Thread Pat Haugen
On 11/08/2017 11:30 AM, Segher Boessenkool wrote: >> --- gcc/config/rs6000/power9.md (revision 254377) >> +++ gcc/config/rs6000/power9.md (working copy) >> @@ -436,6 +436,12 @@ (define_insn_reservation "power9-qpdiv" >> (eq_attr "cpu" "power9")) >>"DU_super_power9,dfu_power9")

Re: [PATCH, rs6000] Correct some Power9 scheduling info

2017-11-15 Thread Pat Haugen
On 09/27/2017 12:56 PM, Pat Haugen wrote: > The following patch corrects some Power9 resource requirements and > instruction latencies. Bootstrap/regtest on powerpc64le-linux with no > new regressions. Ok for trunk? Updated patch follows. Bootstrap/regtest on powerpc64le-linux (Power9

[Patch, rs6000] Fix register values in ppc-asm.h

2017-11-21 Thread Pat Haugen
The following patch fixes a couple typos in ppc-asm.h. Committed as obvious. Will also backport to GCC 6/7 branches. -Pat 2017-11-21 Pat Haugen * config/rs6000/ppc-asm.h (f50, vs50): Fix values. Index: gcc/config/rs6000/ppc-asm.h

[PATCH rs6000] Fix PR85698

2018-05-17 Thread Pat Haugen
unk? -Pat 2018-05-17 Pat Haugen Segher Boessenkool PR target/85698 * config/rs6000/rs6000.c (rs6000_output_move_128bit): Check dest operand. testsuite/ChangeLog: 2018-05-17 Pat Haugen PR target/85698 * gcc.target/powerpc/pr85698.c: New tes

Re: [PATCH rs6000] Fix PR85698

2018-05-21 Thread Pat Haugen
On 5/17/18 1:57 PM, Segher Boessenkool wrote: > On Thu, May 17, 2018 at 07:58:20PM +0200, Richard Biener wrote: >> On May 17, 2018 6:04:36 PM GMT+02:00, Segher Boessenkool >> wrote: >>> On Thu, May 17, 2018 at 10:42:46AM -0500, Pat Haugen wrote: >>>> The

[PATCH, testsuite] Fix a few vmx tests

2014-10-08 Thread Pat Haugen
The following patch fixes recent failures with the tests after a dg-options string was added to them which prevented the default options from vmx.exp from being used. Committed as obvious. 2014-10-08 Pat Haugen gcc/testsuite: * gcc.dg/vmx/3c-01a.c: Add default options from

Re: [PATCH][PR66010] Don't take address of ap unless necessary

2015-05-12 Thread Pat Haugen
On 05/12/2015 06:45 AM, Tom de Vries wrote: Hmm, this causes an ice for s390 in gcc.dg/tree-ssa/stdarg-2.c: ... gimplification failed: &ap type 0x7f132f46b888 __va_list_tag> sizes-gimplified BLK size unit size align 32 symtab 0 alias set

[PATCH, rs6000 testsuite] Fix failures for implicit function declaration

2015-02-25 Thread Pat Haugen
The following patch fixes "excess errors" failures for implicit function declarations (memcmp/random) for the direct-move-*/pack01 tests. Tested on powerpc64le-unknown-linux-gnu. Committed as obvious. 2015-02-25 Pat Haugen gcc/testsuite: * gcc.target/powerpc/direct-move.

[PATCH, testsuite] Fix gcc.dg/vect/pr59354.c

2015-02-26 Thread Pat Haugen
k/4.9 branch? -Pat 2015-02-26 Pat Haugen gcc/testsuite: * gcc.dg/vect/pr59354.c: Move vector producing code to separate function. Index: gcc.dg/vect/pr59354.c === --- gcc.dg/vect/pr59354.c(revision 221016) +++ g

Re: New type-based pool allocator code miscompiled due to aliasing issue?

2015-06-23 Thread Pat Haugen
On 06/18/2015 06:10 AM, Richard Biener wrote: You are right that we should call ::new just for classes that have m_ignore_type_size == false. >I've come up with following patch, that I tested slightly: > >diff --git a/gcc/alloc-pool.h b/gcc/alloc-pool.h >index 1785df5..7da5f7a 100644 >--- a/gcc/

Re: Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV for powerpc*-*-linux* soft-float and e500

2014-11-04 Thread Pat Haugen
for defined but unused variables. The following fixes that and was committed as obvious. -Pat 2014-11-04 Pat Haugen * config/rs6000/rs6000.c (atomic_hold_decl, atomic_clear_decl, atomic_update_decl): Guard declaration with #ifdef. Index: gcc/config/rs6000/rs600

Re: Add new --param knobs for inliner

2019-01-07 Thread Pat Haugen
On 1/5/19 11:58 AM, Jan Hubicka wrote: > @@ -791,7 +791,7 @@ want_inline_small_function_p (struct cgr >ipa_hints hints = estimate_edge_hints (e); >int big_speedup = -1; /* compute this lazily */ > > - if (growth <= 0) > + if (growth <= PARAM_VALUE (PARAM_VALUE (PARAM_MAX

[PATCH] Fix typo in try_peel_loop

2018-10-31 Thread Pat Haugen
regressions. Committed as obvious. -Pat 2018-10-31 Pat Haugen * tree-ssa-loop-ivcanon.c (try_peel_loop): Fix typo and remove dead initialization. Index: gcc/tree-ssa-loop-ivcanon.c === --- gcc/tree-ssa-loop-ivcanon.c

Re: Tweak ALAP calculation in SCHED_PRESSURE_MODEL

2018-11-16 Thread Pat Haugen
On 11/8/18 6:10 AM, Kyrill Tkachov wrote: > The attached patch avoids that by making the alap calculation only > look at true dependencies.  This shouldn't be too bad, since we use > INSN_PRIORITY as the final tie-breaker than that does take > anti-dependencies into account. > > This reduces the n

Re: Tweak ALAP calculation in SCHED_PRESSURE_MODEL

2018-11-19 Thread Pat Haugen
On 11/19/18 11:54 AM, Kyrill Tkachov wrote: > On 16/11/18 18:19, Pat Haugen wrote: >> On 11/8/18 6:10 AM, Kyrill Tkachov wrote: >>> The attached patch avoids that by making the alap calculation only >>> look at true dependencies.  This shouldn't be too bad, since

Re: Tweak ALAP calculation in SCHED_PRESSURE_MODEL

2018-11-20 Thread Pat Haugen
On 11/19/18 2:30 PM, Pat Haugen wrote: >> This is a follow-up from >> https://gcc.gnu.org/ml/gcc-patches/2018-11/msg01525.html >> This version introduces an "artificial" property of the dependencies >> produced in >> sched-deps.c that

Re: Tweak ALAP calculation in SCHED_PRESSURE_MODEL

2018-11-20 Thread Pat Haugen
On 11/20/18 10:53 AM, Kyrill Tkachov wrote: > On 20/11/18 16:48, Pat Haugen wrote: >> On 11/19/18 2:30 PM, Pat Haugen wrote: >>>> This is a follow-up from >>>> https://gcc.gnu.org/ml/gcc-patches/2018-11/msg01525.html >>>> This version introduces

[PATCH] Fix PR68212, unrolled loop no longer aligned

2018-11-28 Thread Pat Haugen
e. Ok for trunk? -Pat 2018-11-28 Pat Haugen PR rtl-optimization/68212 * cfgloopmanip.c (duplicate_loop_to_header_edge): Adjust scale factor. testsuite/ChangeLog: 2018-11-28 Pat Haugen PR rtl-optimization/68212 * gcc.dg/pr68212.c: New test.

[PATCH, testsuite] Enable vect_usad_char effective target for PowerPC and fix up SAD_EXPR testcases

2019-02-19 Thread Pat Haugen
hat a SAD_EXPR was actually generated. So I've updated the tests also. Ok for trunk? -Pat testsuite/ChangeLog: 2019-02-19 Pat Haugen * lib/target-supports.exp (check_effective_target_vect_usad_char): Add PowerPC support. * gcc.dg/vect/slp-reduc-sad.c: Update s

[PATCH rs6000] Fix PR target/84369: gcc.dg/sms-10.c fails on Power9

2019-04-15 Thread Pat Haugen
no new regressions and testcase now passing. Also ran cpu2006/cpu2017 benchmark comparisons with no notable differences. Ok for trunk? -Pat 2019-04-15 Pat Haugen PR target/84369 * config/rs6000/power9.md: Add store forwarding bypass. Index: gcc/config/rs6000/pow

[PATCH doc] Remove documentation for PowerPC -maltivec={be,le}

2019-02-12 Thread Pat Haugen
The options were removed in May 2018 (r260109), but documentation was not updated. Bootstrap on powerpc64le. Ok for trunk? -Pat 2019-02-12 Pat Haugen * doc/invoke.texi (RS/6000 and PowerPC Options): Remove duplicate -maltivec. Delete -maltivec=be and -maltivec=le

Re: [PATCH,rs6000] Add built-in function support Power9 binary floating point operations

2016-08-02 Thread Pat Haugen
On 07/29/2016 10:47 AM, Kelvin Nilsen wrote: > + "xsxexpdp %0,%x1" > + [(set_attr "type" "fp")]) Type should be 'integer'. > + "xsxsigdp %0,%x1" > + [(set_attr "type" "fp")]) 'integer' > + "xsiexpdp %x0,%1,%2" > + [(set_attr "type" "fp")]) 'fpsimple' > + "xscmpexpdp %0,%x1,%x2" > + [(

Re: [PATCH,rs6000] Add built-in function support Power9 binary floating point operations

2016-08-05 Thread Pat Haugen
On 08/02/2016 03:15 PM, Segher Boessenkool wrote: > On Tue, Aug 02, 2016 at 03:03:42PM -0500, Pat Haugen wrote: >> On 07/29/2016 10:47 AM, Kelvin Nilsen wrote: >>> + "xsxexpdp %0,%x1" >>> + [(set_attr "type" "fp")]) >> >> Type

Re: [PATCH v2,rs6000] Add built-in function support for Power9 binary floating point operations

2016-08-05 Thread Pat Haugen
On 08/04/2016 10:27 AM, Kelvin Nilsen wrote: > + "xsxexpdp %0,%x1" > + [(set_attr "type" "vecsimple")]) > + "xsxsigdp %0,%x1" > + [(set_attr "type" "vecsimple")]) 'integer' for both, reasoning in response on initial thread for this patch. > + "xvxexp %x0,%x1" > + [(set_attr "type" "fpsimpl

Re: [PATCH], Improve vector int/long initialization on PowerPC

2016-08-05 Thread Pat Haugen
On 08/03/2016 11:33 PM, Michael Meissner wrote: > { > - if (BYTES_BIG_ENDIAN) > -return "xxpermdi %x0,%x1,%x2,0"; > + if (which_alternative == 0) > +return (BYTES_BIG_ENDIAN > + ? "xxpermdi %x0,%x1,%x2,0" > + : "xxpermdi %x0,%x2,%x1,0"); > + > + else if (which_alternativ

Re: [PATCH,rs6000] Add built-in function support Power9 binary floating point operations

2016-08-08 Thread Pat Haugen
On 08/05/2016 08:04 PM, Segher Boessenkool wrote: > On Fri, Aug 05, 2016 at 04:27:36PM -0500, Pat Haugen wrote: >> On 08/02/2016 03:15 PM, Segher Boessenkool wrote: >>> On Tue, Aug 02, 2016 at 03:03:42PM -0500, Pat Haugen wrote: >>>> On 07/29/2016 10:47 AM, Kelvin Ni

[PATCH, rs6000 testsuite] PR71050, Fix lhs-1.c testcase

2016-05-24 Thread Pat Haugen
The following simplifies the given testcase so it is no longer sensitive to subreg (and hopefully other) codegen changes. Tested on powerpc64, ok for trunk? -Pat testsuite/ChangeLog: 2016-05-24 Pat Haugen PR target/71050 * gcc.target/powerpc/lhs-1.c: Fix testcase to avoid

[PATCH, rs6000] Scheduling update

2016-06-21 Thread Pat Haugen
This patch adds instruction scheduling support for the Power9 processor. Bootstrap/regression tested on powerpc64/powerpc64le with no new failures. Ok for trunk? Ok for backport to GCC 6 branch after successful bootstrap/regtest there? -Pat 2016-06-21 Pat Haugen * config/rs6000

Re: [PATCH, rs6000] Scheduling update

2016-06-27 Thread Pat Haugen
ions, instead? > Maybe a value "fpmove" for the "type", even? The following patch adds new insn 'type' values that will be used for the Power9 patch to overcome the items listed above. There is no functional change to existing processor types. Bootstrap/regtested

Re: [PATCH, rs6000] Scheduling update

2016-06-27 Thread Pat Haugen
On 06/27/2016 03:41 PM, Segher Boessenkool wrote: >> * config/rs6000/rs6000.md ('type' attribute): Add >> > vec_logical,veccmp_fx,vec_extend,vecmove insn types. > Those names are a bit irregular (underscore vs. no underscore after "vec", > "extend" is called "exts" for integer, "vec

Re: [PATCH, rs6000] Scheduling update

2016-06-27 Thread Pat Haugen
d") >> + (eq_attr "update" "no") >> + (match_operand:DF 0 "" "") >> + (eq_attr "cpu" "power9")) >> + "DU_slice_3_power9,LSU_power9") > > Using match_operand here is asking

[PATCH, rs6000] Stop non-volatile CR usage from killing shrink-wrap

2017-08-28 Thread Pat Haugen
64le-linux with no new regressions. Ok for trunk? -Pat 2017-08-28 Pat Haugen * config/rs6000/rs6000.c (rs6000_emit_prolog_move_from_cr): Rename from rs6000_emit_move_from_cr and call renamed function. (rs6000_emit_prologue): Call renamed functions. * config/rs6000

Re: [PATCH, rs6000] Add builtins to convert from float/double to int/long using current rounding mode

2017-09-06 Thread Pat Haugen
On 09/06/2017 11:24 AM, Carl Love wrote: > + "fctiw %1,%1; mfvsrd %0,%1; extsw %0,%0" > + [(set_attr "type" "integer") > + (set_attr "length" "4")]) Should be type "three" and length "12". -Pat

[PATCH,rs6000] Fix PR11488 for rs6000 target

2016-12-20 Thread Pat Haugen
mitted a separate patch to fix those. Ok for trunk? -Pat 2016-12-20 Pat Haugen PR rtl-optimization/11488 * common/config/rs6000/rs6000-common.c (rs6000_option_optimization_table): Enable -fsched-pressure. * config/rs6000/rs6000.c (TARGET_COMPUTE_PRESSURE_CLASSE

[PATCH, rs6000] Update some Power9 latencies

2017-01-18 Thread Pat Haugen
The following patch updates a few latencies in the Power9 machine description. Bootstrap/regtest on powerpc64le with no new regressions. Ok for trunk? -Pat 2017-01-18 Pat Haugen * config/rs6000/power9.md (power9-alu): Remove 'cmp' type and add define_bypass for

[PATCH rs6000] Fix PR target/80107, ICE in final_scan_insn

2017-03-31 Thread Pat Haugen
introduced in GCC 7 so no need for backport. -Pat 2017-03-31 Pat Haugen PR target/80107 * config/rs6000/rs6000.md (extendhi2): Add test for TARGET_VSX_SMALL_INTEGER. testsuite/ChangeLog: 2017-03-31 Pat Haugen * gfortran.dg/pr80107.f: New. Index: config

Re: [PATCH,rs6000] PR80108: Fix ICE with cross compiler

2017-04-03 Thread Pat Haugen
On 03/31/2017 06:28 PM, Kelvin Nilsen wrote: > +! { dg-do compile { target { powerpc*-*-* } } } > +! { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { > "-mcpu=power9" } } Shouldn't it be -mcpu=405 in the exclude string since that's what's specified below? > +! { dg-require-e

[PATCH, rs6000] Update Power9 scheduling of vector and vector load insns

2017-04-07 Thread Pat Haugen
back to pairing like insns. Bootstrap/regtest on powerpc64le-linux with no new regressions. I also did a -mcpu=power9 build of CPU2006 with no errors. Ok for trunk and backport to GCC 6 branch? -Pat 2017-04-07 Pat Haugen * rs6000/rs6000.c (vec_load_pendulum): Rename

Re: RFC: seeking insight on store_data_bypass_p (recog.c)

2017-04-13 Thread Pat Haugen
On 04/12/2017 06:33 PM, Kelvin Nilsen wrote: > > 1. As input arguments, out_insn represents an rtl expression that > potentially "produces" a store to memory and in_insn represents an rtl > expression that potentially "consumes" a value recently stored to memory. > You have this reversed, the cod

Re: [PATCH version 2, rs6000] Add builtins to convert from float/double to int/long using current rounding mode

2017-09-12 Thread Pat Haugen
On 09/08/2017 01:41 PM, Carl Love wrote: > +(define_insn "fctid" > + [(set (match_operand:DI 0 "gpc_reg_operand" "=d") > +(unspec:DI [(match_operand:DF 1 "gpc_reg_operand" "d")] > + UNSPEC_FCTID_INST))] > + "" > + "fctid %0,%1") > + > +(define_insn "fctiw" > + [(set (m

[PATCH, rs6000] Don't mark the TOC reg as set up in prologue

2017-09-14 Thread Pat Haugen
regressions. Ok for trunk? -Pat 2017-09-14 Pat Haugen * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): Make sure the TOC reg (r2) isn't in the set of registers defined in the prologue. testsuite/ChangeLog: 2017-09-14 Pat Haugen * gcc.target/powerpc/r2_shrink-w

Re: [PATCH, rs6000] Don't mark the TOC reg as set up in prologue

2017-09-14 Thread Pat Haugen
On 09/14/2017 11:35 AM, Segher Boessenkool wrote: > On Thu, Sep 14, 2017 at 10:18:55AM -0500, Pat Haugen wrote: >> --- gcc/config/rs6000/rs6000.c (revision 252029) >> +++ gcc/config/rs6000/rs6000.c (working copy) >> @@ -37807,6 +37807,11 @@ rs6000_set_up_by_pr

[PATCH, rs6000] Correct some Power9 scheduling info

2017-09-27 Thread Pat Haugen
The following patch corrects some Power9 resource requirements and instruction latencies. Bootstrap/regtest on powerpc64le-linux with no new regressions. Ok for trunk? -Pat 2017-09-27 Pat Haugen * config/rs6000/power9.md (DU_C2_3_power9): Remove an incorrect combination

[PATCH, rs6000] Correct unaligned_load vector cost for Power9

2017-10-09 Thread Pat Haugen
Power9 has efficient unaligned load insns. The following patch fixes the cost to reflect that. There was no similar code for the unaligned_store case. Bootstrap/regtest on powerpc64le-linux with no new regressions. Ok for trunk? -Pat 2017-10-09 Pat Haugen * config/rs6000/power9.c

Re: One more cprop trap_if fix, PR79194

2017-01-27 Thread Pat Haugen
On 01/27/2017 06:55 AM, Bernd Schmidt wrote: > I'd appreciate if someone ran full ppc tests with this though. I've started testing it on PowerPC, will post results when I have them. -Pat

Re: One more cprop trap_if fix, PR79194

2017-01-27 Thread Pat Haugen
On 01/27/2017 09:40 AM, Pat Haugen wrote: > On 01/27/2017 06:55 AM, Bernd Schmidt wrote: >> I'd appreciate if someone ran full ppc tests with this though. > I've started testing it on PowerPC, will post results when I have them. Bootstrap/regtest on PowerPC was fine. -Pat

[PATCH rs6000 testsuite] Fix PR79158

2017-02-02 Thread Pat Haugen
owerpc64le. Ok for trunk? -Pat testsuite/ChangeLog: 2017-02-02 Pat Haugen PR target/79158 * gcc.target/powerpc/pr70669.c: Use 'r' in an expression to force back to VSX reg. Index: gcc.targ

[PATCH, rs6000] Fix PR78604

2017-02-08 Thread Pat Haugen
The following patch fixes the pr by adding code for integer comparisons to invert the condition and swap operands to avoid generation of a compound test. Bootstrap/regtest on powerpc64-unknown-linux-gnu with no new regressions. Ok for trunk? -Pat 2017-02-08 Pat Haugen PR target

Re: [PATCH PR79347]Maintain profile counter information in vect_do_peeling

2017-02-14 Thread Pat Haugen
On 02/14/2017 07:57 AM, Jan Hubicka wrote: > So it seems that the frequency of the loop itself is unrealistically scaled > down. > Before vetorizing the frequency is 8500 and predicted number of iterations is > 6.6. Now the loop is intereed via BB 8 with frequency 1148, so the loop, by > exit pro

Re: [PATCH PR77536]Generate correct profiling information for vectorized loop

2017-02-16 Thread Pat Haugen
On 02/16/2017 11:48 AM, Bin Cheng wrote: > BTW, it may also help PR78116? Hi Pat, could you please help verify this? > Thanks! The first testcase in pr78116 no longer contains loads from spill in the loop even before your patch. When built with your patch, there are four additional register cop

[PATCH rs6000] Fix PR79544

2017-02-24 Thread Pat Haugen
The following patch fixes the problem of generating a logical shift for vec_sra of an unsigned v2di vector. Bootstrap/regtest on powerpc64le-unknown-linux-gnu with no new regressions. Ok for trunk? Ok for backport to 5/6 branches after testing? -Pat 2017-02-24 Pat Haugen PR target

[PATCH rs6000 testsuite] Additional test in pr79544.c

2017-03-01 Thread Pat Haugen
Since I fixed both vec_sra and vec_vsrad, the testcase should be testing both. Committed as obvious. -Pat 2017-03-01 Pat Haugen * gcc.target/powerpc/pr79544.c: Add test for vec_vsrad and fix up scan string. Index: gcc.target/powerpc/pr79544.c

[PATCH rs6000] Fix PR79907

2017-03-08 Thread Pat Haugen
This patch fixes the initialization of the wi constraint, which in turn is used to set the value of the wj constraint. Bootstrap/regtest on powerp64le and powerpc64 (-m32/-m64) with no new regressions. Ok for trunk? -Pat 2017-03-08 Pat Haugen PR target/79907 * config/rs600

Re: [PATCH rs6000] Fix PR79907

2017-03-10 Thread Pat Haugen
On 03/09/2017 04:26 PM, Segher Boessenkool wrote: > That looks correct. Okay for trunk, thanks! Does it need backporting > as well? The -mupper-regs-di support is new in GCC 7 and I verified the testcase compiles fine with GCC 5/6, so no backporting necessary. -Pat

[PATCH rs6000] Fix PR79951, ICE for unrecognizable insn with -mno-cmpb

2017-03-15 Thread Pat Haugen
/regtest on powerpc64le with no new regressions. Ok for trunk? Ok for backport to GCC 5/6 branches after testing? -Pat 2017-03-15 Pat Haugen PR target/79951 * config/rs6000/rs6000.md (copysign3_fcpsgn): Test for VECTOR_UNIT_VSX_P (mode) too. testsuite/ChangeLog: 2017-03-15

[PATCH, testsuite] Fix ifcvt-4.c for PowerPC

2016-03-14 Thread Pat Haugen
As stated in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68232, this test needs -misel on powerpc to pass. Verified the following fixes the test on both powerpc64/powerpc64le. Ok for trunk? -Pat testsuite/ChangeLog: 2016-03-14 Pat Haugen * gcc.dg/ifcvt-4.c: Add -misel for powerpc

[PATCH, rs6000] Remove optimize_insn_for_speed_p check on divide -> recip splitter

2016-09-13 Thread Pat Haugen
on powerpc64le, ok for trunk? -Pat 2016-09-13 Pat Haugen * config/rs6000/rs6000.md (div->recip splitter): Remove optimize_insn_for_speed_p condition. Index: config/rs6000/rs6000.md === --- config/rs6000/rs6

[PATCH] Fix incorrect setting of edge probability in loop unroller

2016-09-14 Thread Pat Haugen
The following patch corrects a problem with setting the probability on the pred edge instead of the newly created fallthru succ edge. Bootstrap/regtest on powerpc64le with no new regressions. Committed as obvious. -Pat 2016-09-14 Pat Haugen * loop-unroll.c

[PATCH] PR68212, Correct frequencies/counts when unrolling

2016-09-20 Thread Pat Haugen
for trunk? -Pat 2016-09-20 Pat Haugen PR rtl-optimization/68212 * cfgloopmanip.c (duplicate_loop_to_header_edge): Use preheader edge frequency when computing scale factor for peeled copies. * loop-unroll.c (unroll_loop_runtime_iterations): Fix freq/count

[PATCH] Don't peel extra copy of loop in unroller for loops with exit at end

2016-09-22 Thread Pat Haugen
peeled copy of the loop. Bootstrap/regtest on powerpc64le with no new regressions. Ok for trunk? 2016-09-22 Pat Haugen * loop-unroll.c (unroll_loop_runtime_iterations): Condition initial loop peel to loops with exit test at the beginning. Index: gcc/loop-unroll.c

Re: [PATCH][v4] GIMPLE store merging pass

2016-09-28 Thread Pat Haugen
On 09/28/2016 10:54 AM, Kyrill Tkachov wrote: > +fstore-merging > +Common Var(flag_store_merging) Optimization > +Use the tree store merging pass. > + Did you purposely leave off "Report" for this option? I noticed the option didn't show up in the "options enabled:" section of the .s file when -

Re: [PATCH][v4] GIMPLE store merging pass

2016-09-29 Thread Pat Haugen
On 09/28/2016 10:59 AM, Bill Schmidt wrote: >> Bill, could you or someone else with access to Power benchmarking try this >> patch out on some benchmarks >> > that you usually use? The new pass in this patch is on by default and can >> > be turned off by -fno-store-merging >> > if needed. Jakub

PING Re: [PATCH] PR68212, Correct frequencies/counts when unrolling

2016-10-04 Thread Pat Haugen
Ping for the following patch https://gcc.gnu.org/ml/gcc-patches/2016-09/msg01363.html -Pat

PING Re: [PATCH] Don't peel extra copy of loop in unroller for loops with exit at end

2016-10-04 Thread Pat Haugen
Ping for the following patch https://gcc.gnu.org/ml/gcc-patches/2016-09/msg01612.html -Pat

[PATCH] Fix computation of register limit for -fsched-pressure

2016-10-07 Thread Pat Haugen
actually scaling toward call_saved registers. The following patch corrects that by computing call_saved regs per class and subtracting out some scaled portion of that. Bootstrap/regtest on powerpc64le with no new failures. Ok for trunk? -Pat 2016-10-07 Pat Haugen * haifa-sched.c

Re: [PATCH] Don't peel extra copy of loop in unroller for loops with exit at end

2016-10-17 Thread Pat Haugen
On 10/14/2016 10:29 PM, Andrew Pinski wrote: >>> >> This patch bumps the iteration count by 1 for loops with the exit at the >>> >> end so that it represents the number of times the loop body is executed, >>> >> and therefore removes the need to always execute that first peeled copy. >>> >> With

Re: [PATCH] Fix computation of register limit for -fsched-pressure

2016-10-17 Thread Pat Haugen
On 10/17/2016 08:17 AM, Maxim Kuvyrkov wrote: >> The patch here, https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01872.html, >> attempted to scale down the register limit used by -fsched-pressure for the >> case where the block in question executes as frequently as the entry block >> to just the c

Re: [PATCH] Fix computation of register limit for -fsched-pressure

2016-10-18 Thread Pat Haugen
On 10/18/2016 05:31 AM, Maxim Kuvyrkov wrote: >> > I see your point and agree that current code isn't optimal. However, I >> > don't think your patch is accurate either. Consider >> > https://gcc.gnu.org/onlinedocs/gccint/Register-Basics.html and let's >> > assume that FIXED_REGISTERS in class

[PATCH, v2] Fix computation of register limit for -fsched-pressure

2016-10-18 Thread Pat Haugen
. Ok for trunk if no new failures? -Pat 2016-10-18 Pat Haugen * haifa-sched.c (call_used_regs_num): Rename to... (call_saved_regs_num): ...this. (fixed_regs_num): New variable. (sched_pressure_start_bb): Subtract out fixed_regs. Scale call_saved regs

Re: [PATCH] Fix computation of register limit for -fsched-pressure

2016-10-28 Thread Pat Haugen
On 10/28/2016 06:38 AM, Bin.Cheng wrote: > On Fri, Oct 28, 2016 at 12:27 PM, Tamar Christina > wrote: >> > Looking at it again, >> > >> > it seems to be that the testcase should be adjusted. >> > There's no actual spilling. It just uses more registers than before due to >> > the scheduling. > Sor

[PATCH, rs6000] PR71800, use correct constraint for stxsiwx

2016-07-07 Thread Pat Haugen
The following patch corrects the constraint so that we only generate 'stxsiwx' on Power8 or later hardware. Ok for trunk after successful bootstrap/regtest? -Pat 2016-07-07 Pat Haugen PR target/71800 * config/rs6000/rs6000.md (stfiwx): Change constraint

[PATCH, testsuite] Add -fno-sched-pressure to a couple sms-*.c tests for powerpc

2016-12-20 Thread Pat Haugen
plied. Ok for trunk? -Pat testsuite/ChangeLog: 2016-12-20 Pat Haugen * gcc.dg/sms-3.c: Add -fno-sched-pressure for powerpc. * gcc.dg/sms-6.c: Likewise. Index: gcc.dg/sms-3.c === --- gcc.dg/sms-3.c (revision 2

Re: Enabling -frename-registers?

2016-05-04 Thread Pat Haugen
On 05/04/2016 10:20 AM, Wilco Dijkstra wrote: > Also when people claim they can't see any benefit, did they check the > codesize difference on SPEC2006? > On AArch64 codesize reduced uniformly due to fewer moves (and in a few cases > significantly so). I expect > that to be true for other RISC ta

[PATCH, rs6000] Fix vec_shr define_expand

2015-08-25 Thread Pat Haugen
expander which exists in those releases) after bootstrap/regtest? -Pat 2015-08-25 Pat Haugen * config/rs6000/vector.md (vec_shr_): Fix to do a shift instead of a rotate. gcc/testsuite: * gcc.target/powerpc/vec-shr.c: New. Index: gcc/config/rs6000/vector.md

Re: [PATCH] v2 shrink-wrap: Rewrite

2015-09-11 Thread Pat Haugen
On 09/11/2015 02:49 PM, Segher Boessenkool wrote: On PowerPC, this enables shrink-wrapping of about 2%-3% more functions. I expected more, but in most cases this would help we cannot yet shrink- wrap because there are non-volatile registers used, often in the first block already. I looked into sh

Re: [PATCH] v2 shrink-wrap: Rewrite

2015-09-11 Thread Pat Haugen
On 09/11/2015 05:40 PM, Segher Boessenkool wrote: Another issue I saw for PowerPC that prevented shrink-wrapping was the >case where non-volatile CR's are used somewhere in the function. This >causes a 'mfcr' to be generated in the prolog to save the non-volatile >CR's, which currently lists all

[PATCH] Add target hook to compute register pressure classes

2016-11-04 Thread Pat Haugen
powerpc64le with no new regressions. Ok for trunk? Note that the ira.c changes are not as complicated as what it looks, I only added a few lines to invoke the target hook, the rest is just indentation changes to move the existing code into the else leg. -Pat 2016-11-04 Pat Haugen

[PATCH] PR78241, fix loop unroller when niter expr is not reliable

2016-11-09 Thread Pat Haugen
regressions. Ok for trunk? -Pat 2016-11-09 Pat Haugen PR rtl-optimization/78241 * loop-unroll.c (unroll_loop_runtime_iterations): Don't adjust 'niter', but emit initial peel copy if niter expr is not reliable. testsuite/ChangeLog: 2016-11-09 Pat Haugen

Re: [PATCH] PR78241, fix loop unroller when niter expr is not reliable

2016-11-11 Thread Pat Haugen
On 11/10/2016 06:54 PM, Andrew Pinski wrote: > On Wed, Nov 9, 2016 at 2:13 PM, Pat Haugen > wrote: >> > The following fixes a problem introduced by my earlier loop unroller >> > patch, https://gcc.gnu.org/ml/gcc-patches/2016-09/msg01612.html. In >> > inst

[PATCH, rs6000] PR59708, Fix operand ordering for 128-bit andc/orc

2014-12-18 Thread Pat Haugen
(and 4.9/4.8 after bootstrap/regtest)? 2014-12-18 Pat Haugen * config/rs6000/rs6000.md (boolc3_internal1): Fix operand ordering. Index: gcc/config/rs6000/rs6000.md === --- gcc/config/rs6000/rs6000.md (revision

Re: [PATCH, rs6000] PR59708, Fix operand ordering for 128-bit andc/orc

2014-12-19 Thread Pat Haugen
On 12/19/2014 01:50 PM, Segher Boessenkool wrote: On Fri, Dec 19, 2014 at 10:54:22AM -0600, Segher Boessenkool wrote: >On Thu, Dec 18, 2014 at 02:48:46PM -0600, Pat Haugen wrote: > > ;; 128-bit ANDC/ORC > >+;; In the case where rs6000_split_logical is called, the NOT'd o

Re: [PATCH] rs6000: Make rs6000_split_logical handle inverted 2nd operand (PR64358)

2015-01-12 Thread Pat Haugen
Following backport tested on 4.8/4.9 with no new regressions. Ok to commit to those branches? -Pat 2015-01-12 Pat Haugen Backport from mainline 2014-12-20 Segher Boessenkool PR target/64358 * config/rs6000/rs6000.c (rs6000_split_logical_inner): Swap the

[PATCH, rs6000] Update default loop peel limits

2012-12-06 Thread Pat Haugen
The following patch restores the old default limits for loop peeling that were recently changed to 100 and caused a 20% degradation in 454.calculix. Bootstrap/regtest on powerpc64-linux with no new regressions. Ok for trunk? -Pat 2012-12-06 Pat Haugen * config/rs6000/rs6000.c

Re: [PATCH, rs6000] power8 patches, patch #9, power8 scheduling

2013-06-07 Thread Pat Haugen
This patch adds instruction scheduling support for the Power8 processor. Bootstrap/regression test with no new failures. Ok for trunk? 2013-06-07 Michael Meissner Pat Haugen Peter Bergner * config/rs6000/power8.md: New. * config/rs6000/rs6000-cpus.def (RS6000_CPU

[PATCH, rs6000] Fix flag interaction of new Power8 flags

2013-07-18 Thread Pat Haugen
/regtest with no new regressions, ok for trunk? -Pat 2013-07-18 Pat Haugen * config/rs6000/rs6000.c (rs6000_option_override_internal): Adjust flag interaction for new Power8 flags and VSX. Index: gcc/config/rs6000/rs6000.c

  1   2   3   >