[cris 0/4] various cc0-related (and not) regression fixes

2020-07-13 Thread Hans-Peter Nilsson via Gcc-patches
Together with the combine.c patch posted (but remaining a WIP), all coremark performance regressions are gone for CRIS, compared to cc0. Unfortunately, I looked further, and found some issues when running gcc.c-torture/execute/arith-rand.c and arith-rand-ll.c, in those functions and the target-spe

[cris 1/4] cris: Correct output templates in define_subst patterns.

2020-07-13 Thread Hans-Peter Nilsson via Gcc-patches
Whoops. This little gem had the effect of making the output operand (0) constraints disappear but not the input operand (1) constraints for define_subst:ed patterns, probably because there's another (match_dup 1) in the output template (not investigated). That went surprisingly unnoticed until I

[cris 3/4] cris: Remove config/cris/t-cris gt-cris.h cargo

2020-07-13 Thread Hans-Peter Nilsson via Gcc-patches
Getting tired of: make[1]: Entering directory 'x/gccobj/gcc' Makefile:2682: warning: overriding recipe for target 'gt-cris.h' xx/gcc/gcc/config/cris/t-cris:29: warning: ignoring old recipe for target 'gt-cris.h' I'm just going to assume it is just stale cruft no longer (if ever) needed since not

[cris 2/4] cris: Use addi.b for additions where flags aren't inspected

2020-07-13 Thread Hans-Peter Nilsson via Gcc-patches
Comparing to the cc0 version of the CRIS port, I ran a few microbenchmarks, for example gcc.c-torture/execute/arith-rand.c, where there's sometimes an addition between an operation of interest and the test on the result. Unfortunately this patch doesn't remedy all the performance regression for th

[cris 4/4] cris: Add new pass eliminating compares after delay-slot-filling

2020-07-13 Thread Hans-Peter Nilsson via Gcc-patches
(All patches are committed.) Delayed-branch-slot-filling a.k.a. reorg or dbr, often causes opportunities for more compare-elimination than were visible for the cmpelim pass. With cc0, these were caught by the elimination pass run in "final", thus the missed opportunities is a regression. A simpl

Re: [1/6 CRIS cc0-preparations] try to generate zero-based comparisons

2020-05-05 Thread Hans-Peter Nilsson via Gcc-patches
> From: Jeff Law > Date: Tue, 5 May 2020 16:52:07 +0200 > On Mon, 2020-02-10 at 17:55 +0100, Hans-Peter Nilsson wrote: > > * config/cris/cris.c (cris_reduce_compare): New function. > > * config/cris/cris-protos.h (cris_reduce_compare): Add prototype. > > * con

Re: [cris-decc0 0/14] A set of compare-elimination-fixes.

2020-05-05 Thread Hans-Peter Nilsson via Gcc-patches
> From: Jeff Law via Gcc-patches > Date: Tue, 5 May 2020 17:05:01 +0200 > On Wed, 2020-02-12 at 07:47 +0100, Hans-Peter Nilsson wrote: > > I just rebased and updated the vendors/axis branch > > axis/cris-decc0 with the following commits, which should bring > > back com

The vendors branch axis/cris-decc0 has been merged to master

2020-05-08 Thread Hans-Peter Nilsson via Gcc-patches
Not that anyone would notice, except a few maintainers of targets with delay-slots, and only if the first patch causes fallout, as the others only touch stuff related to the CRIS target. The 23 commits have been posted previously, around Jan-Feb. For reference: 2c2d405 dbr: Filter-out TARGET_FLA

Broken build (was: Re: drop -aux{dir,base}, revamp -dump{dir,base})

2020-05-26 Thread Hans-Peter Nilsson via Gcc-patches
> From: Alexandre Oliva > Date: Tue, 26 May 2020 15:52:57 +0200 > On May 26, 2020, Richard Biener wrote: > > > xgcc: error: unrecognized command-line option '-dumpbase'^M > > > xg++: error: unrecognized command-line option '-dA'; did you mean '-A' > > Here's a proper patch submission. And he

Re: Broken build

2020-05-27 Thread Hans-Peter Nilsson via Gcc-patches
> From: Alexandre Oliva > Date: Wed, 27 May 2020 16:30:07 +0200 > On May 26, 2020, Hans-Peter Nilsson wrote: > > >> Here's a proper patch submission. > > > And here's an improper bug report. > > :-) > > Thanks, H-P, > > > xgcc: e

Re: Broken build

2020-06-02 Thread Hans-Peter Nilsson via Gcc-patches
> From: Alexandre Oliva > Date: Tue, 2 Jun 2020 13:29:03 +0200 > Hello, Anthony, H-P, > > On May 27, 2020, Anthony Green wrote: > > > Hans-Peter Nilsson via Gcc-patches writes: > >> And here's an improper bug report. > >> > >> One of t

Re: [PATCH 1/3] GCC: Pass --plugin to AR and RANLIB

2021-01-11 Thread Hans-Peter Nilsson via Gcc-patches
> From: Luis Machado via Gcc-patches > Date: Mon, 11 Jan 2021 15:58:43 +0100 > This seems to have broken the builds on AArch64-Linux Ubuntu 18.04. > > make[2]: Entering directory 'binutils-gdb-master-bionic/libiberty' > rm -f ./libiberty.a pic/./libiberty.a noasan/./libiberty.a > ar --plugin /us

committed: cris.md: Reinstate add/sub with extend

2020-07-05 Thread Hans-Peter Nilsson via Gcc-patches
When cleaning out the multitude of patterns with unknown coverage, this one went the way of the bathwater. It's use is barely common enough to mark when diffing libgcc, and has a minimal impact on performance-testsuites. Anyway, reinstated with a couple of test-cases. It's suboptimal of gcc-core

committed: cris: update recent patterns. Simplify cris_select_cc_mode.

2020-07-05 Thread Hans-Peter Nilsson via Gcc-patches
The code in cris_select_cc_mode for selecting CC_NZmode was partly inconsistent with the comment and partly seemed ambiguous. I couldn't find a reason why I qualified selection of CC_NZmode on the setting operation once a matching user was spotted, so I just removed that. The cris.c update was du

cris: Correct gcc_assert for atomic_fetch_op pattern

2020-07-05 Thread Hans-Peter Nilsson via Gcc-patches
Yet another misnumbering of operands: the asserted non-overlap would be the only benign operands overlap. "Suddenly" exposed by g++.dg/cpp0x/pr81325.C when testing unrelated changes affecting register allocation. To wit, operands 2 and 1 are the only ones that are safe for overlap, it's only that

committed: cris: New peephole2 movulsr + test-case.

2020-07-05 Thread Hans-Peter Nilsson via Gcc-patches
(The previous patch was also committed, FWIW, I just forgot to mention it.) Combine likes to change a zero-extension / and + shift as seen in the test-case source to a logical shift followed by an and of the shifted mask, like: lsrq 1,r0 and.d 0x7f,r0 This was observed in the hot loop of corema

RFA: Fix combine.c combining a move and a non-move into two non-moves, PR93372

2020-07-05 Thread Hans-Peter Nilsson via Gcc-patches
ot functions, and the swing between different functions is larger than this difference; to be dealt with separately. Tested cris-elf, x86_64-linux, powerpc64le-linux, 2/3 through aarch64-linux (unexpectedly slow). Ok to commit? 2020-07-06 Hans-Peter Nilsson PR target/93372

RFC: make combine do as advertised (cheaper-than)?

2020-07-05 Thread Hans-Peter Nilsson via Gcc-patches
Most comments, including the second sentence in the head comment of combine_validate_cost, the main decision-maker of the combine pass, refer to the function as returning true if the new insns(s) *cheaper* than the old insns, when in fact the function returned true also if the cost was the same. R

Re: RFC: make combine do as advertised (cheaper-than)?

2020-07-06 Thread Hans-Peter Nilsson via Gcc-patches
> From: Richard Sandiford > Date: Mon, 6 Jul 2020 11:48:25 +0200 > Out of interest, how do the results change if we still allow the > combination for equal costs if the new sequence is shorter than > the original? I think that still counts as "cheaper than", > but maybe I'm too RISC-centric. ;-)

Re: RFA: Fix combine.c combining a move and a non-move into two non-moves, PR93372

2020-07-06 Thread Hans-Peter Nilsson via Gcc-patches
> From: Segher Boessenkool > Date: Tue, 7 Jul 2020 01:42:47 +0200 TL;DR: recognize a parallel with a clobber of TARGET_FLAGS_REGNUM? > Hi! > > On Mon, Jul 06, 2020 at 03:11:17AM +0200, Hans-Peter Nilsson wrote: > > TL;DR: fixing a misdetection of what is a "simple

Re: RFA: Fix combine.c combining a move and a non-move into two non-moves, PR93372

2020-07-06 Thread Hans-Peter Nilsson via Gcc-patches
> From: Segher Boessenkool > Date: Tue, 7 Jul 2020 01:42:47 +0200 (Regarding is_just_move in combine.c.) > But it is *not* supposed to be the same as single_set. > > > I checked the original commit, c4c5ad1d6d1e1e a.k.a r263067 and > > it seems parallels-as-sets were just overlooked and that th

[PATCH 1/2] PR94600: fix volatile access to the whole of a compound object.

2020-07-06 Thread Hans-Peter Nilsson via Gcc-patches
The store to the whole of each volatile object was picked apart like there had been an individual assignment to each of the fields. Reads were added as part of that; see PR for details. The reads from volatile memory were a clear bug; individual stores questionable. A separate patch clarifies the

[PATCH] v2: doc/implement-c.texi: About same-as-scalar-type volatile aggregate accesses, PR94600

2020-12-03 Thread Hans-Peter Nilsson via Gcc-patches
ething safe about aggregate objects, but only for those that are the same size as a scalar type. There's an equal-sounding section (Volatiles) in extend.texi, but this seems a more appropriate place, as specifying the behavior of a standard qualifier. gcc: 2020-12-02 Hans-Peter Nilsson

[PATCH] v3: doc/implement-c.texi: About same-as-scalar-type volatile aggregate accesses, PR94600

2020-12-04 Thread Hans-Peter Nilsson via Gcc-patches
> From: Martin Sebor via Gcc-patches > Date: Fri, 4 Dec 2020 01:49:51 +0100 > On 12/3/20 12:14 PM, Hans-Peter Nilsson via Gcc-patches wrote: > > Belatedly, here's an updated version, using Martin Sebor's > > suggested wording from > > "https://gcc.gnu.

Re: [PATCH 2/2] libstdc++: Move stream initialization into compiled library [PR44952]

2022-11-15 Thread Hans-Peter Nilsson via Gcc-patches
> From: Patrick Palka via Gcc-patches > Date: Fri, 4 Nov 2022 16:05:25 +0100 > This patch moves the global object for constructing the standard streams > out from and into the compiled library on targets that support > the init_priority attribute. This means that no longer > introduces a separ

[PATCH] testsuite: Fix mistransformed gcov

2022-11-15 Thread Hans-Peter Nilsson via Gcc-patches
How was r13-2619-g34b9a03353d3fd "gcov: Respect triplet when looking for gcov" tested? I'm having a hard time believing it was tested with a *cross-compiler* *in-build-tree*. I think it was only tested for the special-case of an installed cross-compiler; not even with a native build exercising th

[PATCH] doc: Document order of define_peephole2 scanning

2023-04-18 Thread Hans-Peter Nilsson via Gcc-patches
Generated pdf inspected. Ok to commit? Thoughts on fixing the IMHO wart to also expose all replacements to all define_peephole2? Looks feasible (famous last words), but then again I haven't checked the history yet. -- >8 -- I was a bit surprised when my define_peephole2 didn't match, but it was

Re: [PATCH] doc: Document order of define_peephole2 scanning

2023-04-18 Thread Hans-Peter Nilsson via Gcc-patches
meant. Maybe you could add some words > to say more explicitly which it is. I'm referring to an example on the same pdf page. But perhaps s/resumes at the last generated insn/resumes at the last insn in the replacement sequence/ would help? brgds, H-P > > paul > &g

[PATCH v2] doc: Document order of define_peephole2 scanning

2023-04-18 Thread Hans-Peter Nilsson via Gcc-patches
> From: Hans-Peter Nilsson > Date: Tue, 18 Apr 2023 20:44:12 +0200 > > > From: Paul Koning > > > Date: Tue, 18 Apr 2023 14:32:07 -0400 > > > > I'm not sure about the meaning of part of this. > > "...resumes at the last generated insn."

Re: [PATCH v2] doc: Document order of define_peephole2 scanning

2023-04-18 Thread Hans-Peter Nilsson via Gcc-patches
> From: Hans-Peter Nilsson > Date: Wed, 19 Apr 2023 05:15:27 +0200 > Approvers: pdf output reviewed. Ok to commit? Patch retracted, at least temporarily. My "understanding" may be clouded by looking at an actual bug. Sigh. brgds, H-P

[PATCH] recog.cc: Correct comments referring to parameter match_len

2023-04-19 Thread Hans-Peter Nilsson via Gcc-patches
I'll commit this as obvious, so it doesn't trick anyone else anymore. -- >8 -- * recog.cc (peep2_attempt, peep2_update_life): Correct head-comment description of parameter match_len. --- gcc/recog.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/recog.

Re: [PATCH v3] doc: Document order of define_peephole2 scanning

2023-04-19 Thread Hans-Peter Nilsson via Gcc-patches
> From: Hans-Peter Nilsson > Date: Wed, 19 Apr 2023 06:06:27 +0200 > > Patch retracted, at least temporarily. My "understanding" > may be clouded by looking at an actual bug. Sigh. Mea culpa. I was looking at the result of one define_peephole2 and thinking it was

Re: [PATCH v3] doc: Document order of define_peephole2 scanning

2023-04-19 Thread Hans-Peter Nilsson via Gcc-patches
d out. Or something else entirely unexpected. :) > >Please also see below. > > > >On 19 April 2023 18:59:14 CEST, Hans-Peter Nilsson via Gcc-patches > > wrote: > >>Anyway, the missing-context problem I ran into remains: if > >>you have an insn sequence {

Ping: Re: [PATCH v3] doc: Document order of define_peephole2 scanning

2023-04-26 Thread Hans-Peter Nilsson via Gcc-patches
> From: Hans-Peter Nilsson > Date: Wed, 19 Apr 2023 18:59:14 +0200 [...] > So again: Approvers: pdf output reviewed. Ok to commit? > -- >8 -- > I was a bit surprised when my newly-added define_peephole2 didn't > match, but it was because it was expected to partially ma

[committed] libgcc CRIS: Define TARGET_HAS_NO_HW_DIVIDE

2023-04-26 Thread Hans-Peter Nilsson via Gcc-patches
Not many targets define this besides msp430, pdp1, xtensa, and arm compared to those that appear to unconditionally have a hardware division instruction (also, pdp11 and msp430 seem confused and should be empty instead of "1" and "(! TARGET_HWMULT)" - and having hardware multiplication doesn't hav

Re: [committed] libgcc CRIS: Define TARGET_HAS_NO_HW_DIVIDE

2023-04-26 Thread Hans-Peter Nilsson via Gcc-patches
> From: Paul Koning > Date: Wed, 26 Apr 2023 21:02:31 -0400 > > On Apr 26, 2023, at 8:05 PM, Hans-Peter Nilsson wrote: > > > > Not many targets define this besides msp430, pdp1, xtensa, > > and arm compared to those that appear to unconditionally > > have a

[PATCH] testsuite: Handle empty assembly lines in check-function-bodies

2023-04-28 Thread Hans-Peter Nilsson via Gcc-patches
Ok to commit? -- >8 -- I tried to make use of check-function-bodies for cris-elf and was a bit surprised to see it failing. There's a deliberate empty line after the filled delay slot of the return-function which was mishandled. I thought "aha" and tried to add an empty line (containing just a "*

Re: [committed] Enable LRA on several ports

2023-05-01 Thread Hans-Peter Nilsson via Gcc-patches
> Date: Mon, 1 May 2023 07:21:59 -0600 > From: Jeff Law > Spurred by Segher's RFC, I went ahead and tested several ports with LRA > enabled. Not surprisingly, many failed, but a few built their full set > of libraries successful and of those a few even ran their testsuites > with no regressio

[committed] CRIS-LRA: Fix uses of reload_in_progress

2023-05-03 Thread Hans-Peter Nilsson via Gcc-patches
On previous occasions when a general LRA transition has been discussed, IIRC, the argument was used, that everything is ready for targets and their maintainers to make the transition. As I pointed out then (though more than a year ago last time, people forget) that's still not true: LRA documentat

2nd Ping: Re: [PATCH v3] doc: Document order of define_peephole2 scanning

2023-05-03 Thread Hans-Peter Nilsson via Gcc-patches
Ping again. > From: Hans-Peter Nilsson > Date: Thu, 27 Apr 2023 01:55:24 +0200 > > > From: Hans-Peter Nilsson > > Date: Wed, 19 Apr 2023 18:59:14 +0200 > [...] > > > So again: Approvers: pdf output reviewed. Ok to commit? > > -- >8 -- >

[committed] CRIS-LRA: Define TARGET_SPILL_CLASS

2023-05-03 Thread Hans-Peter Nilsson via Gcc-patches
This has no effect on arith-rand-ll (which suffers badly from LRA) and marginal effects (0.01% improvement) on coremark, but the size of coremark shrinks by 0.2%. An earlier version was tested with a tree around 2023-03 which showed (marginally) that ALL_REGS is preferable to GENERAL_REGS.

[committed] CRIS: peephole2 an "and" with a contiguous "one-sided" sequences of 1s

2023-05-03 Thread Hans-Peter Nilsson via Gcc-patches
This kind of transformation seems pretty generic and might be a candidate for adding to the middle-end, perhaps as part of combine. I noticed these happened more often for LRA, which is the reason I went on this track of low-hanging-fruit-microoptimizations that are such an itch when noticing them

[committed] CRIS: peephole2 a lsrq into a lslq+lsrq pair

2023-05-05 Thread Hans-Peter Nilsson via Gcc-patches
Observed after opsplit1 with AND in libgcc floating-point functions, like the first spottings of opsplit1/AND opportunities. Two patterns are nominally needed, as the peephole2 optimizer continues from the *first replacement* insn, not from a minimum context for general matching; one that includes

[committed] CRIS: peephole2 a move of constant followed by and of same register

2023-05-05 Thread Hans-Peter Nilsson via Gcc-patches
While moves of constants into registers are separately optimizable, a combination of a move with a subsequent "and" is slightly preferable even if the move can be generated with the same number (and timing) of insns, as moves of "just" registers are eliminated now and then in different passes, loos

[committed] CRIS: peephole2 an add into two addq or subq

2023-05-05 Thread Hans-Peter Nilsson via Gcc-patches
Unfortunately, doesn't cause a performance improvement for coremark, but happens a few times in newlib, just enough to affect coremark 0.01% by size (or 4 bytes, and three cycles (__fwalk_sglue and __vfiprintf_r each two bytes). gcc: * config/cris/cris.md (splitop): Add PLUS. * con

[PATCH] libstdc++ testsuite: Correct S0 in std/time/hh_mm_ss/1.cc

2023-02-01 Thread Hans-Peter Nilsson via Gcc-patches
Tested cris-elf and native x86_64-pc-linux-gnu. Ok to commit? -8< -- For targets where the ABI mandates structure layout that has no padding, like cris-elf, this test started failing when introduced as an add-on to the existing 1.cc, thereby effectively causing a regression in testsuite r

Re: [PATCH] libstdc++ testsuite: Correct S0 in std/time/hh_mm_ss/1.cc

2023-02-01 Thread Hans-Peter Nilsson via Gcc-patches
> From: Jonathan Wakely > Date: Wed, 1 Feb 2023 18:19:09 +0100 > On Wed, 1 Feb 2023 at 16:01, Jonathan Wakely wrote: > > > > On Wed, 1 Feb 2023 at 14:38, Hans-Peter Nilsson via Libstdc++ > > wrote: > > > > > > Tested cris-elf and native x86_64

[PATCH] testsuite: XFAIL g++.dg/pr71488.C and warn/Warray-bounds-16.C, PR107561

2023-02-02 Thread Hans-Peter Nilsson via Gcc-patches
Tested cris-elf, native x86_64-pc-linux-gnu. Ok to commit? --- 8< --- These appear as regressions from a baseline before r13-3761-ga239a63f868e29. See the PR trail. Note that the warning for g++.dg/pr71488.C is for a *header* file, thus we can't match the line number (sanely). gcc/testsuite:

[PATCH] libstdc++: Avoid use of naked int32_t in unseq_backend_simd.h, PR108672

2023-02-03 Thread Hans-Peter Nilsson via Gcc-patches
Tested cris-elf and native x86_64-pc-linux-gnu. Ok to commit? 8< The use of a "naked" int32_t (i.e. without a fitting #include: stdint.h or cstdint or inttypes.h or an equivalent internal header), in libstdc++-v3/include/pstl/unseq_backend_simd.h, caused an error for cris-elf and apparen

[PATCH] testsuite: XFAIL bogus g++.dg/warn/Wstringop-overflow-4.C:144, PR106120

2023-02-07 Thread Hans-Peter Nilsson via Gcc-patches
(sort-of-ping:) Aldy, I missed CC:ing you on the similar https://gcc.gnu.org/pipermail/gcc-patches/2023-February/611206.html would you mind having a look? Tested native x86_64-pc-linux-gnu (w/wo. -m32) and cris-elf. Ok to commit? 8< There was a commit r13-2082-gbf13a13c65bd06 "c++: remo

Re: [PATCH] testsuite: XFAIL bogus g++.dg/warn/Wstringop-overflow-4.C:144, PR106120

2023-02-07 Thread Hans-Peter Nilsson via Gcc-patches
> From: Aldy Hernandez > Date: Tue, 7 Feb 2023 17:52:02 +0100 > Up to the release managers, but I have no objections. I take it that's for both patches. Thanks! (Potential reviewers: these patches are local to the testsuite.) brgds, H-P > > Aldy > > On 2/7/23

[PATCH] testsuite: Generalize check_effective_target_lra

2023-02-07 Thread Hans-Peter Nilsson via Gcc-patches
Tested native x86_64-pc-linux-gnu and cris-elf (non-LRA and also hacked to switch to LRA). Ok to commit? --- 8< --- The LRA target list is incomplete. Rather than syncing it with actual LRA targets, better use existing infrastructure and look for a LRA-specific pattern in the reload dump (which

Re: [PATCH] testsuite: Generalize check_effective_target_lra

2023-02-08 Thread Hans-Peter Nilsson via Gcc-patches
> From: Richard Sandiford > Date: Wed, 8 Feb 2023 17:54:15 +0100 > Hans-Peter Nilsson via Gcc-patches writes: > > Tested native x86_64-pc-linux-gnu and cris-elf (non-LRA and > > also hacked to switch to LRA). > > Since !LRA is hopefully not long for this world, I&#x

[PATCH] testsuite: Fix asm-goto-with-outputs tests; limit to lra targets

2023-02-08 Thread Hans-Peter Nilsson via Gcc-patches
Sanity-checked for cris-elf with the check_effective_target_lra correction in https://gcc.gnu.org/pipermail/gcc-patches/2023-February/611531.html Committed as obvious. --- 8< --- These tests spuriously lacked a "lra" limiter. Code using "asm goto" with outputs gets a: error: the target does not

Re: [pushed] [PR103541] RA: Implement reuse of equivalent memory for caller saves optimization (version 2)

2023-02-10 Thread Hans-Peter Nilsson via Gcc-patches
> From: Vladimir Makarov via Gcc-patches > Date: Thu, 9 Feb 2023 22:49:34 +0100 > The patch was successfully bootstrapped (--enable-languages=all) and > tested on x86, x86-64, aarch64 Sorry, but this (also) caused test-suite regressions, perhaps just for cris-elf. I've opened 108754 and will a

Committed, cris: define DWARF_FRAME_REGISTERS

2021-03-09 Thread Hans-Peter Nilsson via Gcc-patches
When DWARF_FRAME_REGISTERS isn't defined, the default is FIRST_PSEUDO_REGISTER which means that if you add faked registers to the port, used for frame-context related elimination, room is allocated for them in the register context used for frame-unwinding, which is wasteful because they're eliminat

Committed, cris: define HARD_FRAME_POINTER_REGNUM

2021-03-10 Thread Hans-Peter Nilsson via Gcc-patches
Forgot to mention: no differences in cris-elf test-results at r11-7500. Beware, tm.texi doesn't tell the whole story: a defined HARD_FRAME_POINTER_REGNUM (different to FRAME_POINTER_REGNUM) is supposed to make work easier for reload, being able to easily tell actual frame-pointer-related addresses

Committed: gcc.dg/analyzer/data-model-1.c: Inverse xfail for cris-*-*, PR99212

2021-04-12 Thread Hans-Peter Nilsson via Gcc-patches
See PR99212. Now, cris-elf isn't the only target for which this line shows a failure; pru-unknown-elf and m68k-unknown-linux-gnu are two others. I'll leave adjustments to the respective maintainers, but trivially appending more triplets should work: no extra bracketing needed. A specific effectiv

Committed: gcc.dg/pr84877.c: Xfail for cris-*-*

2021-04-15 Thread Hans-Peter Nilsson via Gcc-patches
Unfortunately it appears that this PR is on nobody's radar. Xfailing it to get an arguably artificial zero regression state (since T0=2007-01-05) helps my autotester. Caveat: the pass/fail state of this test, as long as stack alignment isn't adjusted, is dependent on the alignment of the stack at

Re: [PATCH 5/6] ira: Consider modelling caller-save allocations as loop spills

2022-01-10 Thread Hans-Peter Nilsson via Gcc-patches
> From: Richard Sandiford via Gcc-patches > Date: Thu, 6 Jan 2022 15:48:01 +0100 > If an allocno A in an inner loop L spans a call, a parent allocno AP > can choose to handle a call-clobbered/caller-saved hard register R > in one of two ways: > > (1) save R before each call in L and restore R af

[Committed] cris: Parenthesize parameter to as_a.

2022-01-11 Thread Hans-Peter Nilsson via Gcc-patches
ck (error-prone) grep-and-eyeball in config/ shows this was the only file missing the parenthesis. This lets cris-elf configured with --enable-checking=yes,extra,rtl survive make all-gcc. 2022-01-11 Hans-Peter Nilsson * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize pa

[Committed] cris: Avoid format-string-related warnings in calls to error functions

2022-01-11 Thread Hans-Peter Nilsson via Gcc-patches
hat I therefore agree that operators, identifiers and keywords should have to be dressed up like this for internal error messages; they were more readable without these garments, if only slightly so. 2022-01-11 Hans-Peter Nilsson * config/cris/cris.c: Quote identifiers in parameters t

Re: [PATCH] ira: Fix old-reload targets [PR103974]

2022-01-12 Thread Hans-Peter Nilsson via Gcc-patches
> From: Jeff Law via Gcc-patches > Date: Wed, 12 Jan 2022 16:58:50 +0100 > On 1/12/2022 8:00 AM, Richard Biener wrote: > > On Wed, Jan 12, 2022 at 3:26 PM Vladimir Makarov > > wrote: > >> > >> On 2022-01-12 03:47, Richard Biener wrote: > >>> On Tue, Jan 11, 2022 at 7:41 PM Vladimir Makarov via

Re: [PATCH] ira: Fix old-reload targets [PR103974]

2022-01-12 Thread Hans-Peter Nilsson via Gcc-patches
> From: Jeff Law via Gcc-patches > Date: Wed, 12 Jan 2022 16:58:50 +0100 > On 1/12/2022 8:00 AM, Richard Biener wrote: > > On Wed, Jan 12, 2022 at 3:26 PM Vladimir Makarov > > wrote: > >> > >> On 2022-01-12 03:47, Richard Biener wrote: > >>> On Tue, Jan 11, 2022 at 7:41 PM Vladimir Makarov via

Re: [PATCH 2/6] libstdc++: Import the fast_float library

2022-01-17 Thread Hans-Peter Nilsson via Gcc-patches
> From: Patrick Palka via Gcc-patches > Date: Sun, 16 Jan 2022 19:06:48 +0100 > We're going to use the fast_float library in our (compiled-in) > floating-point std::from_chars implementation for faster and more > portable parsing of binary32/64 decimal strings. > > The single file fast_float.h

Ping: [PATCH] testsuite: Handle default_packed targets in gcc.dg/plugin

2023-03-16 Thread Hans-Peter Nilsson via Gcc-patches
Pinging this patch. > From: Hans-Peter Nilsson > Date: Thu, 9 Mar 2023 19:56:16 +0100 > > It's not obvious to me whether considered best to include or > exclude these tests that depend on structure layout details. > If excluding, the obvious alternative to this patch is

Re: [PATCH] testsuite: Handle default_packed targets in gcc.dg/plugin

2023-03-16 Thread Hans-Peter Nilsson via Gcc-patches
> From: David Malcolm > Date: Thu, 16 Mar 2023 13:55:48 -0400 > On Thu, 2023-03-09 at 19:56 +0100, Hans-Peter Nilsson wrote: > > It's not obvious to me whether considered best to include or > > exclude these tests that depend on structure layout details. > > If ex

Re: [PATCH] testsuite: Handle default_packed targets in gcc.dg/plugin

2023-03-16 Thread Hans-Peter Nilsson via Gcc-patches
> From: Hans-Peter Nilsson > Date: Thu, 16 Mar 2023 19:25:05 +0100 > That doesn't seem like a good idea. At a glance the > *testcode* will be simpler, but the patch will be slightly > larger Bah, s/but the patch will be slightly larger/and the patch will certainly be small

Re: [PATCH] testsuite: Handle default_packed targets in gcc.dg/plugin

2023-03-17 Thread Hans-Peter Nilsson via Gcc-patches
> From: David Malcolm > Date: Thu, 16 Mar 2023 14:42:58 -0400 > I think I prefer the top one-liner dg-skip-if approach you mentioned in > your original email; it seems simplest. Ok then. There's also a choice between adding a target-specifier (i.e. "{ target { ! default_packed } }") to the dg-c

Re: [PATCH v2] doc: md.texi (Insn Splitting): Tweak wording for readability.

2023-03-21 Thread Hans-Peter Nilsson via Gcc-patches
> From: Hans-Peter Nilsson > CC: , > Date: Tue, 14 Mar 2023 17:04:43 +0100 Ping on contents (formatting is approved): > I needed to check what was allowed in a define_split, but > had problems understanding what was meant by "Splitting of > jump instruction into sequen

[PATCH] testsuite: Compile-only gcc.dg/tree-ssa/pr100359.c if ! natural_alignment_32

2023-03-21 Thread Hans-Peter Nilsson via Gcc-patches
(CC to respectively author and committer of pr100359.c.) Tested cris-elf and native x86_64-linux: the two scan-tree-dumps pass and x86_64-linux still links. Ok to commit? -- >8 -- The test gcc.dg/tree-ssa/pr100359.c fails the "test for excess errors" for at least m68k-linux, pru-elf, and cris-el

[COMMITTED] testsuite: Xfail gcc.dg/tree-ssa/ssa-fre-100.c for ! natural_alignment_32

2023-03-23 Thread Hans-Peter Nilsson via Gcc-patches
Tested native x86_64-linux and cris-elf. The "recent patch to gcc.dg/tree-ssa/pr100359.c" refers to r13-6838. Committed as obvious after that commit. -- >8 -- The test gcc.dg/tree-ssa/ssa-fre-100.c fails the scan-tree-dump-not fre1 "baz" for at least m68k-linux, pru-elf, and cris-elf according to

[committed] CRIS: Remove unused constraint "R".

2023-03-27 Thread Hans-Peter Nilsson via Gcc-patches
gcc: * config/cris/constraints.md ("R"): Remove unused constraint. --- gcc/config/cris/constraints.md | 10 -- 1 file changed, 10 deletions(-) diff --git a/gcc/config/cris/constraints.md b/gcc/config/cris/constraints.md index 05a1d24ef5a1..5efb61364f46 100644 --- a/gcc/config/cris

[committed] CRIS: Improve bailing for eliminable compares for "addi" vs. "add"

2023-03-27 Thread Hans-Peter Nilsson via Gcc-patches
This patch affects a post-reload define_split for CRIS that transforms a condition-code-clobbering addition into a non-clobbering addition. (A "two-operand" addition between registers is the only insn that has both a condition-code-clobbering and a non-clobbering variant for CRIS.) Many more "add.

[committed] CRIS: Add peephole2 to handle gcc.target/cris/rld-legit1.c for LRA

2023-03-27 Thread Hans-Peter Nilsson via Gcc-patches
The test-case gcc.target/cris/rld-legit1.c is a reduced test-case that required defining LEGITIMIZE_RELOAD_ADDRESS to stop the address from being decomposed into several insns by reload. Valid but suboptimal code was generated. (Before implementing that hook for CRIS, the same test-case also expo

[committed] CRIS: Correct "T" to define_memory_constraint, not define_constraint

2023-03-27 Thread Hans-Peter Nilsson via Gcc-patches
This patch has no effect on builds using reload of libgcc, newlib libc, my own at-a-glance-testsuite and coremark. That somewhat surprisingly also goes for LRA builds, even with all CRIS reload_in_progress augmented to include lra_in_progress. I just noticed it when checking because another port

Ping #2: [PATCH v2] doc: md.texi (Insn Splitting): Tweak wording for readability.

2023-03-28 Thread Hans-Peter Nilsson via Gcc-patches
> From: Hans-Peter Nilsson > Date: Tue, 14 Mar 2023 17:04:43 +0100 Ping #2 on contents (formatting is approved): > -- >8 -- > I needed to check what was allowed in a define_split, but > had problems understanding what was meant by "Splitting of > jump instruction

[committed] CRIS: Make rtx-cost 0 for many CONST_INT "quick" operands

2023-03-29 Thread Hans-Peter Nilsson via Gcc-patches
Stepping through a gdb session inspecting costs that cause gcc.dg/tree-ssa/slsr-13.c to fail, exposed that before this patch, cris_rtx_costs told that a shift of 1 of a register costs 5, while adding two registers costs 4. Making the cost of a quick-immediate constant equal to using a register (de

Regression with "recomputation and PR 109154"

2023-03-31 Thread Hans-Peter Nilsson via Gcc-patches
> Attached. I also removed the bogus warning in Walloc-13.c that no longer > happens > Add recursive GORI recompuations with a depth limit. > > PR tree-optimization/109154 > gcc/ > * gimple-range-gori.cc (gori_compute::may_recompute_p): Add depth > li

Re: Regression with "recomputation and PR 109154"

2023-03-31 Thread Hans-Peter Nilsson via Gcc-patches
> Date: Fri, 31 Mar 2023 15:48:22 -0400 > From: Andrew MacLeod via Gcc-patches > Reply-To: Andrew MacLeod > commit 55bf4f0d443e5adbacfcdbbebf4b2e0c74d1dcc8 > Author: Andrew MacLeod > Date: Fri Mar 31 15:42:43 2023 -0400 > > Adjust testcases to not produce errors.. > > tr

[committed] doc: md.texi (Including Patterns): Fix page break

2023-04-04 Thread Hans-Peter Nilsson via Gcc-patches
Committed as obvious. See also the previous discussion regarding my define_split doc patch. -- >8 -- The line-break in the example looked odd, even more so with a page-break in the middle of it, due to recently added text in preceding pages. * doc/md.texi (Including Patterns): Fix page br

Re: [PATCH] reload: Handle generating reloads that also clobbers flags

2023-04-18 Thread Hans-Peter Nilsson via Gcc-patches
> Date: Tue, 18 Apr 2023 07:43:41 -0600 > From: Jeff Law > On 2/15/23 08:34, Hans-Peter Nilsson via Gcc-patches wrote: > > Regtested cris-elf with its LEGITIMIZE_RELOAD_ADDRESS > > disabled, where it regresses gcc.target/cris/rld-legit1.c; > > as expected, beca

[PATCH] eh_personality.cc: unwinding on ARM

2012-03-16 Thread EXTERNAL Waechtler Peter (Fa. TCP, CM-AI/PJ-CF31)
)[0xac6c] /lib/libc.so.6( __libc_start_main +0x120)[0x4c86d104] ./bt[0xa510] The CodeSourcery toolchain contains a "fix" like the following, please consider for adding it. Best regards Peter Wächtler --- eh_personality.cc.orig 2012-02-28 16:35:20.0 +0100 +++ eh_pers

[PATCH] eh_personality.cc: unwinding on ARM

2012-03-16 Thread EXTERNAL Waechtler Peter (Fa. TCP, CM-AI/PJ-CF31)
(int*, int, int) +0xf0)[0xa8e0] ./bt( main +0x230)[0xac6c] /lib/libc.so.6( __libc_start_main +0x120)[0x4c86d104] ./bt[0xa510] The CodeSourcery toolchain contains a "fix" like the following, please consider for adding it. Best regards Peter Wächtler --- eh_personality.cc.orig

AW: [PATCH] eh_personality.cc: unwinding on ARM

2012-03-19 Thread EXTERNAL Waechtler Peter (Fa. TCP, CM-AI/PJ-CF31)
> On Mon, Mar 19, 2012 at 12:12 PM, Andrew Stubbs > wrote: > > On 16/03/12 13:29, EXTERNAL Waechtler Peter (Fa. TCP, > CM-AI/PJ-CF31) wrote: > >> > >> The CodeSourcery toolchain contains a "fix" like the following, > >> please consider for a

AW: [PATCH] eh_personality.cc: unwinding on ARM

2012-03-23 Thread EXTERNAL Waechtler Peter (Fa. TCP, CM-AI/PJ-CF31)
> -Ursprüngliche Nachricht- > Von: Andrew Stubbs [mailto:a...@codesourcery.com] > Gesendet: Montag, 19. März 2012 17:12 > An: EXTERNAL Waechtler Peter (Fa. TCP, CM-AI/PJ-CF31) > Cc: gcc-patches@gcc.gnu.org; libstd...@gcc.gnu.org; > p...@codesourcery.com; pwaecht...@mac.c

<    19   20   21   22   23   24