[PATCH] LRA: Fix incorrect register spill/reload

2013-10-31 Thread Robert Suchanek
Hello, When investigating regression with LRA enabled for mips16 I found incorrect spilling and reload of registers by callee.  In the case, one register was not saved, although used, and another one never used but saved/restored. The issue appears to be in setting registers ever lived and sub

RE: [PATCH] LRA: Fix incorrect register spill/reload

2013-10-31 Thread Robert Suchanek
Hi David, No, I do not have read/write SVN access. I know a person who could commit the patch for me, however, if you can commit it, I'd be grateful. Regards, Robert > Vladimir Makarov wrote: > Robert, thanks for finding it and informing. You can commit the patch > into the trunk. Rober

RE: [PATCH, MIPS] Support new interrupt handler options

2015-07-14 Thread Robert Suchanek
Hi Catherine, > I'm getting build errors with the current TOT and your patch. > > The first errors that I encounter are: > gcc/config/mips/mips.c:1355:1: warning: 'mips_int_mask > mips_interrupt_mask(tree)' defined but not used [-Wunused-function] > gcc/config/mips/mips.c:1392:1: warning: 'mips_s

RE: [PATCH, MIPS] Fix restoration of hi/lo in MIPS64R2 interrupt handlers

2015-07-14 Thread Robert Suchanek
Hi Catherine, > Hi Robert, > The patch is OK, but will you please name the test something other than the > date? OK. I'll change it to interrupt_handler-5.c, add a comment and commit after approval for the new interrupt handler options. Regards, Robert diff --git a/gcc/testsuite/gcc.target/mips

RE: [PATCH, MIPS] Support interrupt handlers with hard-float

2015-07-15 Thread Robert Suchanek
Hi, > > Hi Matthew/Catherine, > > > > The attached patch removes the restriction to compile a TU with an ISR with > - > > mhard-float. Instead of forcing -msoft-float, the coprocessor 1 is disabled > in > > an ISR for -mhard-float. > > > > Ok to apply? > > Yes, this one is OK. Committed as r2258

RE: [PATCH, MIPS] Support new interrupt handler options

2015-07-15 Thread Robert Suchanek
Hi Catherine, > This is now OK to commit. > Catherine Committed as r225819. Robert

RE: [PATCH, MIPS] Fix restoration of hi/lo in MIPS64R2 interrupt handlers

2015-07-15 Thread Robert Suchanek
Hi, > > OK. I'll change it to interrupt_handler-5.c, add a comment and commit after > > approval for the new interrupt handler options. > > I believe this change is independent of the new attributes so feel free to > commit > it before. I was to going to commit it before but by the time I did th

[PATCH, MIPS] Add -march=interaptiv

2015-07-16 Thread Robert Suchanek
Hi, As in the title, the attached patch adds -march=interaptiv defined to 24kf2_1, mapped to -mips32r2 and -mdsp. OK to apply? Regards, Robert gcc/ * config/mips/mips-cpus.def (interaptiv): Define. * config/mips/mips-tables.opt: Regenerate. * config/mips/mips.h (MIPS_IS

[PATCH, MIPS] I6400 scheduling

2015-07-16 Thread Robert Suchanek
Hi, This patch adds a pipeline description for the I6400 processor with -mips32r6 and -mips64r6 defaulted to this description. Regtested with mips-img-linux-gnu. mips-tables.opt will be regenerated before committing depending on which patch from the series goes in first. Ok to apply? Regards, R

[PATCH, MIPS] Scheduling for M51xx core family

2015-07-16 Thread Robert Suchanek
Hi, Another patch with a pipeline description but for M51xx cores with two new options introduced: -march={m5100,m5101}. The M5101 is essentially the same as M5100 but mapped to -msoft-float. Ok to apply? Regards, Robert 2015-07-16 Prachi Godbole gcc/ * config/mips/m5100.md: New fi

RE: [PATCH, MIPS] Scheduling for M51xx core family

2015-07-22 Thread Robert Suchanek
Hi Matthew, > > gcc/ > > > > * config/mips/m5100.md: New file. > > * config/mips/mips-cpus.def (m5100, m5101): Define. > > * config/mips/mips-tables.opt: Regenerate. > > * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100. > > * config/mips/mips.h (MIPS_ISA_LEVEL_SPE

RE: [PATCH, MIPS] Add -march=interaptiv

2015-07-22 Thread Robert Suchanek
Hi Catherine, > > gcc/ > > * config/mips/mips-cpus.def (interaptiv): Define. > > * config/mips/mips-tables.opt: Regenerate. > > * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map - > > march=interaptiv to > > -mips32r2. > > (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp. > >

RE: [PATCH, MIPS] I6400 scheduling

2015-07-22 Thread Robert Suchanek
Hi, > > diff --git a/gcc/config/mips/i6400.md b/gcc/config/mips/i6400.md new > > file mode 100644 index 000..101a20c > > --- /dev/null > > +++ b/gcc/config/mips/i6400.md > > @@ -0,0 +1,142 @@ > > +;; DFA-based pipeline description for I6400. > > +;; > > +;; Copyright (C) 2007-2015 Free Softwar

RE: [PATCH, MIPS] I6400 scheduling

2015-07-23 Thread Robert Suchanek
Hi, > PTF_AVOID_BRANCHLIKELY replaced with 0 in all 3 cases. > AFAICS, there is no need to update the option handling code. The branch > likely will not be enabled as it is additionally guarded by > ISA_HAS_BRANCHLIKELY. > > > > > OK with those changes. > > I'll commit the updated patch once the

[PATCH, MIPS] Enable load/store bonding for I6400

2015-08-05 Thread Robert Suchanek
Hi, Following up https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01730.html The patch below enables the load-load/store-store bonding for MIPS32/MIPS64 R6. Ok to apply? Regards, Robert gcc/ * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for I6400. --- gcc/co

[PATCH, MIPS] Remove W32 and W64 pseudo-processors

2015-08-05 Thread Robert Suchanek
Hi, Since the I6400 scheduler is committed, W32/W64 pseudo-processors are not needed anymore and can be removed. Ok to commit? Regards, Robert gcc/ * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64 pseudo-processors. * config/mips/mips.md (processor

[RFC][PATCH] Preferred rename register in regrename pass

2015-09-17 Thread Robert Suchanek
Hi, We came across a situation for MIPS64 where moves for sign-extension were not converted into a nop because of IRA spilled some of the allocnos and assigned different hard register for the output operand in the move. LRA is not fixing this up as most likely the move was not introduced by the LR

RE: [RFC][PATCH] Preferred rename register in regrename pass

2015-10-09 Thread Robert Suchanek
Hi Bernd, Thanks for the comments, much appreciated. Comments inlined and a reworked patch attached. > On 09/17/2015 04:38 PM, Robert Suchanek wrote: > > We came across a situation for MIPS64 where moves for sign-extension were > > not converted into a nop because of IRA spil

RE: [RFC][PATCH] Preferred rename register in regrename pass

2015-10-09 Thread Robert Suchanek
Hi Bernd, > Hi Robert, > > gcc/ > > * regrename.c (create_new_chain): Initialize terminated_dead, > > renamed and tied_chain. > > (find_best_rename_reg): Pick and check register from the tied chain. > > (regrename_do_replace): Mark head as renamed. > > (scan_rtx_reg): Tie chain

RE: [RFC][PATCH] Preferred rename register in regrename pass

2015-11-09 Thread Robert Suchanek
Hi Bernd, Sorry for late reply. The updated patch was bootstrapped on x86_64-unknown-linux-gnu and cross tested on mips-img-linux-gnu using r229786. The results below were generated for CSiBE benchmark and the numbers in columns express bytes in format 'net (gain/loss)' to show the difference wi

RE: [RFC][PATCH] Preferred rename register in regrename pass

2015-11-09 Thread Robert Suchanek
Hi, > On 11/09/2015 02:32 PM, Robert Suchanek wrote: > > The results below were generated for CSiBE benchmark and the numbers in > > columns express bytes in format 'net (gain/loss)' to show the difference > > with and without the patch when -frename-registe

RE: [RFC][PATCH] Preferred rename register in regrename pass

2015-11-10 Thread Robert Suchanek
Hi Christophe, > Hi, > > Since you committed this (r230087 if I'm correct), I can see that GCC > fails to build > ligfortran for target arm-none-linuxgnueabi --with-cpu=cortex-a9. ... > > Can you have a look? Sorry for the breakage. I see that my assertion is being triggered. I'll investigate t

RE: [RFC][PATCH] Preferred rename register in regrename pass

2015-11-10 Thread Robert Suchanek
Hi all, > > Now that 'make check' has had enough time to run, I can see several > > regressions in the configurations where GCC still builds. > > For more details: > > http://people.linaro.org/~christophe.lyon/cross-validation/gcc/trunk/230087/report-build-info.html > > > > This also causes failu

RE: [RFC][PATCH] Preferred rename register in regrename pass

2015-11-10 Thread Robert Suchanek
Hi, > > Bernd, do you think that this check would be sufficient and safe? > > I'm not sure what would be better: check the mode, nregs plus perhaps > > consider tying only if nregs == 1. > > Hmm, but shouldn't the regno still be the same? Or is this a case where > we have a multi-word chain like a

RE: [RFC][PATCH] Preferred rename register in regrename pass

2015-11-11 Thread Robert Suchanek
Hi, > I guess this is ok to stop the failures for now, but you may want to > move the check to the point where we set terminated_this_insn. Also, as > I pointed out earlier, clearing terminated_this_insn should probably > happen earlier. Here is the updated patch that I'm about to commit once the

RE: [RFC][PATCH] Preferred rename register in regrename pass

2015-11-12 Thread Robert Suchanek
Hi Christophe, > > > Hi, > I confirm that this fixes the build errors I was seeing. > Thanks. > Thanks for checking this. I'm still seeing a number of ICEs on the gcc-testresults mailing list across various ports but these are likely to be caused another patch. They are already reported as PR68

[PATCH] MIPS: Add i6500 processor as an alias for i6400

2018-06-01 Thread Robert Suchanek
Hi, This patch adds i6500 CPU as an alias for i6400. Regards, Robert gcc/ChangeLog: 2018-06-01 Matthew Fortune * config/mips/mips-cpus.def: New MIPS_CPU for i6500. * config/mips/mips-tables.opt: Regenerate. * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Mark i6500 as

[PATCH] MIPS: Add support for -mcrc and -mginv options

2018-06-01 Thread Robert Suchanek
Hi, This patch adds -mcrc and -mginv options to pass through them to the assembler. Regards, Robert gcc/ChangeLog: 2018-06-01 Matthew Fortune * config/mips/mips.h (ASM_SPEC): Pass through -mcrc, -mno-crc, -mginv and -mno-ginv to the assembler. * config/mips/mips.opt

[PATCH] MIPS: Update I6400 scheduler

2018-06-01 Thread Robert Suchanek
Hi, Update to i6400 scheduler. Regards, Robert gcc/ChangeLog: 2018-06-01 Prachi Godbole * config/mips/i6400.md (i6400_gpmuldiv): Remove cpu_unit. (i6400_gpmul): Add cpu_unit. (i6400_gpdiv): Likewise. (i6400_msa_add_d): Update reservations. (i6400_msa_

[PATCH] MIPS: Add support for P6600

2018-06-01 Thread Robert Suchanek
Hi, The below adds support for -march=p6600. It includes a new scheduler plus performance tweaks. gcc/ChangeLog: 2018-06-01 Matthew Fortune Prachi Godbole * config/mips/mips-cpus.def: Define P6600. * config/mips/mips-tables.opt: Regenerate. * config/mi

RE: [PATCH] MIPS: Update I6400 scheduler

2018-06-12 Thread Robert Suchanek
Hi Matthew, > There does seem to be a temporal issue in submission for this as the > i6400_fpu_minmax reservation refers to fminmax and fclass types that > do not exist in trunk. Can you drop that reservation please? > > Otherwise, OK to commit. Reservation dropped. Committed as r261489. Reg

RE: [PATCH] MIPS: Add i6500 processor as an alias for i6400

2018-06-12 Thread Robert Suchanek
Hi, > Looks good, OK to commit. Committed as r261490. Regards, Robert

RE: [PATCH] MIPS: Update I6400 scheduler

2018-06-12 Thread Robert Suchanek
Hi, > > There does seem to be a temporal issue in submission for this as the > > i6400_fpu_minmax reservation refers to fminmax and fclass types that > > do not exist in trunk. Can you drop that reservation please? > > > > Otherwise, OK to commit. > > Reservation dropped. > > Committed as r2614

RE: [PATCH] MIPS: Add support for P6600

2018-06-12 Thread Robert Suchanek
Hi Matthew, As already discussed, the link to the P6600 doesn't appear to be referenced on mips.com but reachable when searching for 'p6600': https://www.mips.com/downloads/p6600-multiprocessing-programmers-guide/ I'm resubmitting the whole patch again with updated ChangeLog. > > > > +/* Classi

RE: [PATCH] MIPS: Add support for P6600

2018-06-13 Thread Robert Suchanek
Hi Matthew, > With one more change to add another comment as below, this is OK to > commit. > > > @@ -18957,7 +19039,10 @@ mips_reorg_process_insns (void) > > sequence and replace it with the delay slot instruction > > then the jump to clear the forbidden slot ha

RE: [PATCH] MIPS: Add support for -mcrc and -mginv options

2018-06-15 Thread Robert Suchanek
Hi, > Since CRC and GINV ASEs have now been committed to binutils, please go > ahead with this change. This is now committed as r261635. Robert

[RFC, PATCH][LRA, MIPS] ICE: in decompose_normal_address, at rtlanal.c:5817

2014-08-15 Thread Robert Suchanek
Hi Vladimir, The following testcase fails when compiled with -O2 -mips32r2: long long a[]; long long b, c, d, k, m, n, o, p, q, r, s, t, u, v, w; int e, f, g, h, i, j, l, x; fn1() { for (; x; x++) if (x & 1) s = h | g; else s = f | e; l = ~0; m = 1 | k; n = i; o = j

[PATCH] LRA: check_rtl modifies RTL instruction stream

2013-11-14 Thread Robert Suchanek
insns stream in cases where there is a insn match after adding clobbers. The patch was bootstrapped and regtested on x86_64-unknown-linux-gnu (revision 204787). Regards, Robert 2013-11-13 Robert Suchanek * lra.c (lra): Set lra_in_progress before check_rtl call. * recog.c

[PING][PATCH] LRA: check_rtl modifies RTL instruction stream

2013-11-20 Thread Robert Suchanek
ch? I do not have permission to do so. Regards, Robert 2013-11-13 Robert Suchanek * lra.c (lra): Set lra_in_progress before check_rtl call. * recog.c (insn_invalid_p): Add !lra_in_progress to prevent adding clobber regs when LRA is running diff --git a/gcc/lra.c

RE: [PING][PATCH] LRA: check_rtl modifies RTL instruction stream

2013-11-21 Thread Robert Suchanek
>Thanks. Vlad may not be available right now, and even if he is, he's >probably typing one-handed. > >So I took care of installing this for you. > >Thanks, >Jeff Thanks! Regards, Robert

RE: RFA: Make LRA temporarily eliminate addresses before testing constraints

2014-06-11 Thread Robert Suchanek
Hi Richard, >> Robert: you also had an LRA change, but is it still needed after this one? >> If so, could you repost it and explain the case it handles? For just turning the LRA for the MIPS backend is not needed but we have issues with the code size for MIPS16. LRA inserted a lot of reloads and

RE: RFA: Make LRA temporarily eliminate addresses before testing constraints

2014-06-16 Thread Robert Suchanek
Pinging for approval. This part of the patch will be needed for MIPS16. The second part to enable LRA in MIPS has been already approved. > Hi Richard, > > >> Robert: you also had an LRA change, but is it still needed after this one? > >> If so, could you repost it and explain the case it handle

[PATCH, MIPS]: Fix internal compiler error: in check_bool_attrs, at recog.c:2218 for micromips attribute

2015-05-14 Thread Robert Suchanek
Hi, This patch fixes an internal compiler error when micromips/nomicromips attributes are used. The problem here was that the cached boolean attributes for the current target did not agree with the uncached attributes throwing an assertion error. It appears that saving and restoring the state fo

RE: [PATCH, MIPS]: Fix internal compiler error: in check_bool_attrs, at recog.c:2218 for micromips attribute

2015-05-18 Thread Robert Suchanek
Hi Matthew, > > This patch fixes an internal compiler error when micromips/nomicromips > > attributes are used. > > > > The problem here was that the cached boolean attributes for the current > > target did not agree with the uncached attributes throwing an assertion > > error. > > > > It appears

RE: [PATCH, MIPS]: Fix internal compiler error: in check_bool_attrs, at recog.c:2218 for micromips attribute

2015-05-19 Thread Robert Suchanek
Hi, The original patch had a missing declaration of micromips_globals in mips.h that appears to be the cause of segmentation faults when building mips-mti-linux-gnu. I didn't get any failures just before the submission neither on mips-img-linux-gnu nor mips64el-linux-gnu and the test case is to

RE: [PATCH, MIPS]: Fix internal compiler error: in check_bool_attrs, at recog.c:2218 for micromips attribute

2015-05-20 Thread Robert Suchanek
> > gcc/ > > * config/mips/mips.h (micromips_globals): Declare. > > OK, thanks. > > Matthew Committed as r223438. Robert

[Patch MIPS] Enable TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS hook

2015-05-27 Thread Robert Suchanek
Hi, The patch enables the hook for MIPS as a result of the discussion: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65862 Tested on mips-mti-linux-gnu and mips-img-linux-gnu. Ok to apply? Regards, Robert gcc/ChangeLog: * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New

RE: [Patch MIPS] Enable TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS hook

2015-05-28 Thread Robert Suchanek
Hi Matthew, > > + > > +/* Implement TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS. */ > > + > > +static reg_class_t > > +mips_ira_change_pseudo_allocno_class (int regno, reg_class_t > > +allocno_class) { > > + if (FLOAT_MODE_P (PSEUDO_REGNO_MODE (regno)) || allocno_class != > > ALL_REGS) > > +retur

RE: [Patch MIPS] Enable TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS hook

2015-06-15 Thread Robert Suchanek
Hi Matthew, > /* LRA will allocate an FPR for an integer mode pseudo instead of spilling >to memory if an FPR is present in the allocno class. It is rare that >we actually need to place an integer mode value in an FPR so where >possible limit the allocation to GR_REGS. This will slig

RE: [Patch MIPS] Enable TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS hook

2015-06-17 Thread Robert Suchanek
Hi, > > Trim the extra trailing newline. > > OK to commit if you are happy with the comment. Committed as r224549. Regards, Robert

[PATCH, MIPS] Support interrupt handlers with hard-float

2015-07-08 Thread Robert Suchanek
Hi Matthew/Catherine, The attached patch removes the restriction to compile a TU with an ISR with -mhard-float. Instead of forcing -msoft-float, the coprocessor 1 is disabled in an ISR for -mhard-float. Ok to apply? Regards, Robert gcc/ * config/mips/mips.c (mips_compute_frame_info):

[PATCH, MIPS] Support new interrupt handler options

2015-07-08 Thread Robert Suchanek
hadow register set has a valid stack pointer. With this option "rdpgpr $sp, $sp" will not be generated for an ISR. Tested with mips-img-elf, mips-img-linux-gnu and mips64el-linux-gnu cross compilers. Ok to apply? Regards, Robert 2015-07-07 Matthew Fortune Robert Sucha

[PATCH, MIPS] Fix restoration of hi/lo in MIPS64R2 interrupt handlers

2015-07-08 Thread Robert Suchanek
Hi, The attached patch fixes an ICE (unrecognizable insn) when accumulators are used in interrupt handlers for MIPS64R2. There was just a typo in the function name. Ok to apply? Regards, Robert gcc/ * config/mips/mips.c (mips_emit_save_slot_move): Fix typo. gcc/testsuite/ * g

[PATCH, RFC] LRA subreg handling

2015-01-14 Thread Robert Suchanek
REG_DEAD r1509:SI REG_DEAD r1404:SI Inserting insn reload before: 1735: r1552:DI=r521:DI Inserting insn reload after: 1736: r521:DI=r1552:DI and the benchmark happily passes the runtime check. The question is whether changing the type to OP_INOUT is the correct a

RE: [PATCH, RFC] LRA subreg handling

2015-01-15 Thread Robert Suchanek
> Robert, can you look at reload.c::reload_inner_reg_of_subreg and verify > that the comment just before its return statement is effectively the > situation you're in. > > There are certainly cases where a SUBREG needs to be treated as an > in-out operand. We walked through them eons ago when we

RE: [RFC, PATCH][LRA, MIPS] ICE: in decompose_normal_address, at rtlanal.c:5817

2015-01-16 Thread Robert Suchanek
> OK. The MIPS and Sparc ports are probably going to hit this the > hardest. So you've got a vested interest in dealing with any fallout :-) > > jeff That's fine. The MIPS port has been widely tested and I cross tested it on sparc-linux-gnu target so hopefully there won't any fallout. Robert

RE: [PATCH, RFC] LRA subreg handling

2015-01-16 Thread Robert Suchanek
> The differences (hard vs pseudo regs) are primarily an implementation > detail. I was really looking to see if there was existing code which > would turn an output reload into an in-out reload for these subregs. > > The in-out nature of certain subregs is something I've personally > stumbled ov

[PATCH RFA MIPS] Prohibit vector modes in accumulators

2015-01-23 Thread Robert Suchanek
, I have no testcase exposing this on the trunk but it seems reasonable to prohibit vectors in accumulators anyway. I'm not sure if this patch would go to the trunk now and be queued for Stage 1. Regards, Robert 2015-01-23 Robert Suchanek * config/mips/mips.c (mips_hard_r

RE: [PATCH RFA MIPS] Prohibit vector modes in accumulators

2015-01-23 Thread Robert Suchanek
Hi Catherine, > The patch looks reasonable, but I'd like to see a test case that fails before > we agree to include for GCC 5.0. It's possible to reproduce ICEs with SVN revision 212354 on mipsel-linux-gnu target. The concerned tests are loongson-simd.c and loongson-shift-count-truncated-1.c in

[PATCH MIPS RFA] Regression cleanup for nan2008 toolchain

2015-01-26 Thread Robert Suchanek
as UNSUPPORTED. Regards, Robert 2015-01-26 Robert Suchanek gcc/testsuite * lib/target-supports.exp (check_effective_target_mips_nanlegacy): New. * gcc.target/mips/loongson-simd.c: Require legacy NaN support. * gcc.target/mips/mips.exp (mips-dg-options): Imply -mnan=lega

RE: [PATCH, RFC] LRA subreg handling

2015-01-26 Thread Robert Suchanek
> > Here we do have a hard register, but it isn't valid to form the subreg > > on that hard register. Reload had to cope with that case too. > > > > Since the subreg on the original hard register is invalid, we can't use > > it to decide whether the intention was to write to only a part of the > >

[PATCH RFC] Running auto-vectorization tests multiple times

2015-01-26 Thread Robert Suchanek
Hi, I'm trying to lift the restriction to run auto-vectorization tests more than once and would like to check if I'm going in the right direction. I attached a draft patch. Currently, auto-vectorization tests are enabled by a call to check_vect_support_and_set_flags procedure and if there is sup

RE: [PATCH MIPS RFA] Regression cleanup for nan2008 toolchain

2015-01-28 Thread Robert Suchanek
> > > > 2015-01-26 Robert Suchanek > > > > gcc/testsuite > > * lib/target-supports.exp (check_effective_target_mips_nanlegacy): > > New. > > * gcc.target/mips/loongson-simd.c: Require legacy NaN support. > > * gcc.target/mips/mips.e

RE: [PATCH RFA MIPS] Prohibit vector modes in accumulators

2015-01-28 Thread Robert Suchanek
> > Since Catherine asked for further info then I will leave her to say if she > is > > happy to accept on this basis. > > > > I withdraw my request for a testcase. > > Catherine Committed as r220200. Regards, Robert

RE: [PATCH MIPS RFA] Regression cleanup for nan2008 toolchain

2015-02-02 Thread Robert Suchanek
uld start a precendent > of things being skipped in cases where the mips.exp options machinery > could be updated instead.) > True. Clarification added. Ok for trunk? Regards, Robe

RE: [PATCH MIPS RFA] Regression cleanup for nan2008 toolchain

2015-02-04 Thread Robert Suchanek
> > 2015-02-02 Robert Suchanek > > > >* gcc.target/mips/loongson-simd.c: Update comment to clarify the > need > >for mips_nanlegacy target. > > > > diff --git a/gcc/testsuite/gcc.target/mips/loongson-simd.c > > b/gcc/testsuite/gcc.

RE: [PATCH 3/4] Add support to run auto-vectorization tests for multiple effective targets

2016-08-23 Thread Robert Suchanek
Hi, > unfortunately this broke make check-c > RUNTESTFLAGS='vect.exp=*no-vfa-vect-dv-2.c > --target_board=unix\{-m32,-m64\}', causing the check if > vect_aligned_arrays to be cached between the -m64 and -m32 variants > which is incorrect at least on my machine if you actually run that test > for -

RE: [PATCH 3/4] Add support to run auto-vectorization tests for multiple effective targets

2016-08-24 Thread Robert Suchanek
> On 08/23/2016 04:15 PM, Trevor Saunders wrote: > > > > I've certainly been tempted to take a stab at at least replacing the > > expect stuff with something else, it drives me kind of crazy to see how > > much testsuite time is spent running expect. Even if we can't do all of > > it, the vast maj

RE: [PATCH 3/4] Add support to run auto-vectorization tests for multiple effective targets

2016-08-24 Thread Robert Suchanek
Hi Jeff, > > The following patch reverts to the old behaviour. I also removed misleading > > comments and related logic that checks for the cached result. There might > > be > > other procedures with similar inconsistency but here I only modified the > offending ones. > Thanks. Given how much c

RE: [PATCH][MIPS] Add support for code_readable function attribute

2016-05-25 Thread Robert Suchanek
Hi Sandra, > > +@item code_readable > > +@cindex @code{code_readable} function attribute, MIPS > > +For MIPS targets that support PC-relative addressing modes, this attribute > > +can be used to control how an object is addressed. The attribute takes > > +a single optional argument: > > The prob

RE: [PATCH][MIPS] Add -minline-intermix to ignore compression flags when inlining

2016-05-25 Thread Robert Suchanek
Hi Sandra, > > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > > index 73f1cb6..2f6195e 100644 > > --- a/gcc/doc/invoke.texi > > +++ b/gcc/doc/invoke.texi > > @@ -837,6 +837,7 @@ Objective-C and Objective-C++ Dialects}. > > -mips16 -mno-mips16 -mflip-mips16 @gol > > -minterlink-comp

RE: [PATCH][MIPS] P5600 scheduler fix

2016-06-07 Thread Robert Suchanek
Hi, > > gcc/ > > * config/mips/p5600.md (p5600_fpu_fadd): Remove checking for > > `fabs' and `fneg' type attributes. > > (p5600_fpu_fabs): Add `fmove' to the comment. > > OK. > > Thanks, > Matthew Committed as r237173. Regards, Robert

RE: [PATCH] Disable -mbranch-likely for -Os when targetting generic architecture

2016-10-11 Thread Robert Suchanek
Hi, > > I'm happy to include this. Ok to commit with this change? > > This looks like it got lost at some point. I think this is a reasonable > change for safety. > > Go ahead and commit. > > Thanks, > Matthew Committed as r240965. Regards, Robert

RE: [PATCH 4/4] [MIPS] Add tests for MSA

2016-10-12 Thread Robert Suchanek
Hi, > -Original Message- > From: Matthew Fortune > Sent: 19 September 2016 15:46 > To: Robert Suchanek; catherine_mo...@mentor.com > Cc: gcc-patches@gcc.gnu.org > Subject: RE: [PATCH 4/4] [MIPS] Add tests for MSA > > Hi Robert, > > Sorry for the long delay.

RE: [PATCH 3/4] Add support to run auto-vectorization tests for multiple effective targets

2016-07-26 Thread Robert Suchanek
Hi, > On May 5, 2016, at 8:14 AM, Robert Suchanek > wrote: > > > > I'm resending this patch as it has been rebased and updated. I reverted a > change > > to check_effective_target_vect_call_lrint procedure because it does not use > > cached result

RE: [PATCH] MIPS MSA: Fix ICE when using out-of-range values to intrinsics

2016-12-05 Thread Robert Suchanek
Hi, > Robert Suchanek writes: > > The patch primarily fixes an ICE with out-of-range values to the > > __builtin_msa_insve* intrinsics. > > > > The compiler segfaults in mips_legitimize_const_move () as it tries to > > split symbol that has NULL_RTX value a

RE: [PATCH] MIPS MSA: Fix ICE when using out-of-range values to intrinsics

2016-12-06 Thread Robert Suchanek
Hi, Committed as r243301. Regards, Robert > > Robert Suchanek writes: > > The revised patch attached below. > > > > Regards, > > Robert > > > > gcc/ > > * config/mips/mips.c (mips_expand_builtin_insn): Check input ranges > >

RE: [PATCH 1/4] [MIPS] Add support for MIPS SIMD Architecture (MSA)

2016-05-05 Thread Robert Suchanek
Hi Matthew, Revised patch attached. Tested with mips-img-linux-gnu and bootstrapped x86_64-unknown-linux-gnu. > > mips_gen_const_int_vector > This should use gen_int_for_mode instead of GEN_INT to avoid the issues that > msa_ldi is > trying to handle. gen_int_mode cannot be used to generate a v

RE: [PATCH 1/4] [MIPS] Add support for MIPS SIMD Architecture (MSA)

2016-05-09 Thread Robert Suchanek
stsuite updates: > > Robert Suchanek > Sameera Deshpande > Matthew Fortune > Graham Stott > Chao-ying Fu Of course. All patches have or will have the correct contributors in ChangeLog. > > Otherwise, OK to commit! I removed __builtin_msa_[d]lsa from extend.texi as part of the pr

RE: [PATCH 2/4] [MIPS] Add pipeline description for MSA

2016-05-09 Thread Robert Suchanek
Hi Matthew, > > gcc/ChangeLog: > > > > * config/mips/i6400.md (i6400_fpu_intadd, i6400_fpu_logic) > > (i6400_fpu_div, i6400_fpu_cmp, i6400_fpu_float, i6400_fpu_store) > > (i6400_fpu_long_pipe, i6400_fpu_logic_l, i6400_fpu_float_l) > > (i6400_fpu_mult): New cpu units. > > (i6400

[PATCH][MIPS] Enable LSA/DLSA for MSA

2016-05-13 Thread Robert Suchanek
Hi, The below enables LSA/DLSA instructions for -mmsa. Ok to commit? Regards, Robert * config/mips/mips.h (ISA_HAS_LSA): Enable for -mmsa. (ISA_HAS_DLSA): Ditto. --- gcc/config/mips/mips.h | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/config/mips

[PATCH][MIPS] Correct latency of loads in M5100

2016-05-13 Thread Robert Suchanek
Hi, A small patch to correct the latency for M5100. Ok to commit? Regards, Robert 2016-05-13 Matthew Fortune * config/mips/m5100.md (m51_int_load): Update the latency to 2. --- gcc/config/mips/m5100.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/

RE: [PATCH][MIPS] Correct latency of loads in M5100

2016-05-16 Thread Robert Suchanek
> > Ok to commit? > > > * config/mips/m5100.md (m51_int_load): Update the latency to 2. > > OK. Committed - r236288 Robert

RE: [PATCH][MIPS] Enable LSA/DLSA for MSA

2016-05-16 Thread Robert Suchanek
Hi Matthew, > > Ok to commit? > > OK. Done as r236289. > There is a corresponding testsuite change needed for this > as some code quality tests change if LSA is available. This > is the HAS_LSA 'ghost' option in mips.exp. I'm happy to leave > this to be dealt with as part of the overall MSA t

[PATCH][MIPS] Add support for P6600

2016-05-20 Thread Robert Suchanek
Hi, The below patch adds support for MIPS P6600 CPU. This patch will go in after the approval of the Binutils patch. Tested with mips-img-linux-gnu. Regards, Robert 2016-05-20 Matthew Fortune Prachi Godbole * config/mips/mips-cpus.def: Add definition for p6600.

[PATCH][MIPS] Fix ICE for constant pool data in GP area for MIPS16

2016-05-20 Thread Robert Suchanek
GP instead of splitting HIGH when accessing constant pool data. gcc/testsuite/ 2016-05-20 Robert Suchanek * gcc.target/mips/mips16-gp-bug-1.c: New test. --- gcc/config/mips/mips.c | 20 +++- gcc/testsuite/gcc.target/mips/mips16-gp-bug

[PATCH][MIPS] Add -mgrow-frame-downwards option

2016-05-20 Thread Robert Suchanek
Hi, The patch changes the default behaviour of the direction in which the local frame grows for MIPS16. The code size reduces by about 0.5% in average case for -Os, hence, it is good to turn the option on by default. Ok to apply? Regards, Robert gcc/ 2016-05-20 Matthew Fortune * c

[PATCH][MIPS] Disable madd/msub when -mno-imadd is used with -mdsp

2016-05-20 Thread Robert Suchanek
Hi, If -mdsp option is used then adding -mno-imadd has no effect on the code generation. This appears to be slightly inconsistent to the -m[no-]imadd option we have. Any potential problems/comments? Ok to commit? Regards, Robert gcc/ * config/mips/mips.c (mips_option_override): Move DS

RE: [PATCH] Disable -mbranch-likely for -Os when targetting generic architecture

2016-05-24 Thread Robert Suchanek
Hi Catherine, Apologies for the (very) late reply. It appears that I never replied to the last message. > > gcc/ > > * config/mips/mips-cpus.def: Replace PTF_AVOID_BRANCHLIKELY > > with > > PTF_AVOID_BRANCHLIKELY_ALWAYS for generic architecture and > > with > > PTF_AVOID_BRANCHLIKELY_

[PATCH][MIPS] Add -minline-intermix to ignore compression flags when inlining

2016-05-24 Thread Robert Suchanek
Hi, The below allows us to inline functions that have different compression flags for better tuning of performance/code size balance. Ok to commit? Regards, Robert 2016-05-24 Matthew Fortune gcc/ * config/mips/mips.c (mips_can_inline_p): Allow inlining of functions with oppo

[PATCH][MIPS] Add support for code_readable function attribute

2016-05-24 Thread Robert Suchanek
Hi, The patch adds support for __attribute__ ((code_readable)) with optional argument that accepts `no', `yes' or `pcrel' just like the -mcode-readable= command line switch. If the argument is not specified then the default `yes' is applied. This of course has only effect on targets supporting -

[PATCH][MIPS] Don't split shifts by default for MIPS16.

2016-05-24 Thread Robert Suchanek
Hi, The following changes the default behaviour of shift splitting for MIPS16 e.g. the shifts will be split only when used with undocumented -mno-debugd option that is now switched on by default. This appears to enable better optimization in certain cases, and hence, giving slightly better perfor

[PATCH][MIPS] Remove "new" MIPS TLS access patterns

2016-05-24 Thread Robert Suchanek
Hi, The below finishes the revert of r137670 that was already partially reverted in r137734 as part of PR target/35802. It would appear that the revert was not completed because of a spill failure at the time. As LRA can handle the 'v' constraint just fine and MIPS is going to drop the support f

[PATCH][MIPS] P5600 scheduler fix

2016-05-24 Thread Robert Suchanek
Hi, The below is a fix for the P5600 scheduler. Ok to commit? Regards, Robert 2016-05-24 Simon Dardis Prachi Godbole gcc/ * config/mips/p5600.md (p5600_fpu_fadd): Remove checking for `fabs' and `fneg' type attributes. (p5600_fpu_fabs): Add `fmove' to th

[PATCH 2/4] [MIPS] Add pipeline description for MSA

2015-08-10 Thread Robert Suchanek
Hi, The patch adds a pipeline description for MSA to I6400 and P5600 schedulers. Regards, Robert gcc/ChangeLog: * config/mips/i6400.md (i6400_fpu_intadd, i6400_fpu_logic) (i6400_fpu_div, i6400_fpu_cmp, i6400_fpu_float, i6400_fpu_store) (i6400_fpu_long_pipe, i6400_fpu_log

[PATCH 1/4] [MIPS] Add support for MIPS SIMD Architecture (MSA)

2015-08-10 Thread Robert Suchanek
Hi, This series of patches adds the support for MIPS SIMD Architecture (MSA) and underwent a few updates since the last review to address the comments: https://gcc.gnu.org/ml/gcc-patches/2014-05/msg01777.html The series is split into four parts: 0001 [MIPS] Add support for MIPS SIMD Architectur

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

2015-08-12 Thread Robert Suchanek
Hi, > > Simon > > > > gcc/ > > * config/mips/mips.c (mips_store_data_bypass_p): Bring code into > > line with comments. > > * config/mips/sb1.md: Update usage of mips_store_data_bypass_p. > > > > This patch is OK. Committed on Simon's behalf as r226805. Regards, Robert

RE: [PATCH, MIPS] Enable load/store bonding for I6400

2015-08-13 Thread Robert Suchanek
Ping. > -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-ow...@gcc.gnu.org] On > Behalf Of Robert Suchanek > Sent: 05 August 2015 09:31 > To: catherine_mo...@mentor.com; Matthew Fortune; gcc-patches@gcc.gnu.org > Subject: [PATCH, MIPS] Enable

RE: [PATCH, MIPS] Remove W32 and W64 pseudo-processors

2015-08-13 Thread Robert Suchanek
Hi, > > gcc/ > > * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and > W64 > > pseudo-processors. > > * config/mips/mips.md (processor): Remove w32 and w64. > > OK, thanks. > > Matthew Committed as r226851. Regards, Robert

[PATCH][MIPS] Fix register renaming in the interrupt handlers

2015-08-13 Thread Robert Suchanek
Hi, It was discovered that with the attached test case compiled with -O2 -funroll-loops, the regrename pass renamed one of the registers ($2) to $8 that was not saved by the prologue. The attached patch fixes it by defining macro HARD_REGNO_RENAME_OK that returns zero iff the current function is

  1   2   >