RE: [PATCH, Mips] Compact branch/delay slot optimization.

2015-11-11 Thread Simon Dardis
Committed as r230160. Thanks, Simon > -Original Message- > From: Moore, Catherine [mailto:catherine_mo...@mentor.com] > Sent: 28 October 2015 14:00 > To: Simon Dardis; Matthew Fortune > Cc: gcc-patches@gcc.gnu.org > Subject: RE: [PATCH, Mips] Compact branch/delay

RE: [PATCH, MIPS, PR/61114] Migrate to reduc_..._scal optabs.

2015-11-06 Thread Simon Dardis
Committed r229844. Thanks, Simon > -Original Message- > From: Moore, Catherine [mailto:catherine_mo...@mentor.com] > Sent: 03 November 2015 14:09 > To: Simon Dardis; Alan Lawrence; Matthew Fortune > Cc: gcc-patches@gcc.gnu.org > Subject: RE: [PATCH, MIPS, PR/61114]

RE: FW: [PATCH] Target hook for disabling the delay slot filler.

2015-10-26 Thread Simon Dardis
> On 10/23/2015 11:31 AM, Bernd Schmidt wrote: > > On 10/23/2015 04:57 PM, Simon Dardis wrote: > > > >> Patch below. Target hook renamed to > >> TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P. > >> > >> Tested on mips-img-elf, no new regressions. > &

RE: FW: [PATCH] Target hook for disabling the delay slot filler.

2015-10-23 Thread Simon Dardis
> -Original Message- > From: Jeff Law [mailto:l...@redhat.com] > Sent: 08 October 2015 20:44 > To: Simon Dardis; Bernd Schmidt > Cc: gcc-patches@gcc.gnu.org > Subject: Re: FW: [PATCH] Target hook for disabling the delay slot filler. > > On 09/18/2015 05:1

RE: [PATCH, MIPS, PR/61114] Migrate to reduc_..._scal optabs.

2015-10-07 Thread Simon Dardis
1], gen_umax3); + rtx tmp = gen_reg_rtx (GET_MODE (operands[1])); + mips_expand_vec_reduc (tmp, operands[1], gen_umax3); + emit_insn (gen_vec_loongson_extract_lo_ (operands[0], tmp)); DONE; }) -(define_expand "reduc_umin_" - [(match_operand:VB 0 "register_operand" "") +(define_expand &

RE: [PATCH, Mips] Compact branch/delay slot optimization.

2015-10-06 Thread Simon Dardis
p" } } */ + +int +testg2 (int a, int c) +{ + + int j = 0; + do +{ + j += a; +} + while (j < 56); + + j += c; + return j; + +} -Original Message- From: Simon Dardis Sent: 25 September 2015 15:56 To: Moore, Catherine Cc: gcc-patches@gcc.gnu.org Subject: [PATCH

[PATCH, MIPS, PR/61114] Migrate to reduc_..._scal optabs.

2015-10-01 Thread Simon Dardis
Hello, This patch migrates the MIPS backend to the new vector reduction optabs. No new regressions, ok to apply? Thanks, Simon gcc/ChangeLog: * config/mips/loongson.md (vec_loongson_extract_lo_): New, extract low part to scalar. (reduc_uplus_): Remove.

[PATCH, Mips] Compact branch/delay slot optimization.

2015-09-25 Thread Simon Dardis
Hello, The following patch adds three small optimizations related to compact branches for MIPSR6: When the result of a load is used by a delay slot branch immediately afterwards, undo the delay slot branch scheduling to hide the pipeline bubble if safe and use a compact branch instead. Undo

FW: [PATCH] Target hook for disabling the delay slot filler.

2015-09-18 Thread Simon Dardis
n these two choices, B seems to better option as due to sheer simplicity. Choosing neither gives speculative instruction execution when there could be a small consistent penalty instead. Thanks, Simon From: Jeff Law [l...@redhat.com] Sent: 17 September 2015 1

RE: [PATCH] Target hook for disabling the delay slot filler.

2015-09-17 Thread Simon Dardis
branches have a compact form disabling the eager delay filler should be no worse than altering it not to fill delay slots in this case. Thanks, Simon -Original Message- From: Jeff Law [mailto:l...@redhat.com] Sent: 15 September 2015 16:02 To: Bernd Schmidt; Simon Dardis; gcc-patches

[PATCH] Target hook for disabling the delay slot filler.

2015-09-15 Thread Simon Dardis
Hello all, This patch adds a target hook for disabling the eager delay slot filler which when disabled can give better code. No new regressions. Ok to commit? Thanks, Simon gcc/ * target.def (use_eager_delay_filler_p): New hook for selectively disabling eager delay slot filler.

RE: [PATCH, MIPS, Ping] Inline memcpy for MipsR6

2015-08-20 Thread Simon Dardis
Checked in as revision 227026. Thanks, Simon -Original Message- From: Moore, Catherine [mailto:catherine_mo...@mentor.com] Sent: 01 August 2015 20:18 To: Simon Dardis; gcc-patches@gcc.gnu.org Cc: Moore, Catherine Subject: RE: [PATCH, MIPS, Ping] Inline memcpy for MipsR6

RE: [PATCH, MIPS, Ping] Inline memcpy for MipsR6

2015-08-03 Thread Simon Dardis
Catherine, Inline-memcpy-2.c updated to not run with -Os. Patch rebased off current gcc sources. Thanks, Simon diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 1733457..627e078 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -7520,12 +7520,22 @@

[PATCH, MIPS, Ping] Inline memcpy for MipsR6

2015-07-29 Thread Simon Dardis
Hello, This patch enables inline memcpy for R6 which was previously disabled and adds support for expansion when source and destination are at least half-word aligned. https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00749.html Thanks, Simon

[PATCH][MIPS] Scheduler fix for the 74k 24k.

2015-07-21 Thread Simon Dardis
Hello, This patch fixes a bug with the 74k 24k schedulers. Back in 2006 (2ca4dfa486bd358c6e466328839977250d160393) a mips_store_data_bypass_p was added to the mips backend. Unfortunately it was defined in terms of !store_data_bypass_p, though it was correctly used for the sb1 processor

[PATCH] Mips: Inline memcpy for R6

2015-07-09 Thread Simon Dardis
Hello, This patch enables inline memcpy for R6 which was previously disabled and adds support for expansion when source and destination are at least half-word aligned. gcc/ * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy expansion when !ISA_HAS_LWL_LWR.