Re: [PATCH 04/11] cris: Update unexpected empty split condition

2021-06-02 Thread Kewen.Lin via Gcc-patches
Hi Nilsson, on 2021/6/2 下午8:45, Hans-Peter Nilsson wrote: >> From: Kewen Lin >> Date: Wed, 2 Jun 2021 07:04:54 +0200 > >> gcc/ChangeLog: >> >> * config/cris/cris.md (*addi_reload): Fix empty split condition. >> --- >> gcc/config/cris/cris.md | 2 +- >> 1 file changed, 1 insertion(+), 1

[PATCH] Improve match_simplify_replacement in phi-opt

2021-06-02 Thread apinski--- via Gcc-patches
From: Andrew Pinski This improves match_simplify_replace in phi-opt to handle the case where there is one cheap (non-call) preparation statement in the middle basic block similar to xor_replacement and others. This allows to remove xor_replacement which it does too. OK? Bootstrapped and tested

Re: [RFC/PATCH 00/11] Fix up some unexpected empty split conditions

2021-06-02 Thread Kewen.Lin via Gcc-patches
Hi Richi/Richard/Jeff/Segher, Thanks for the comments! on 2021/6/3 上午7:52, Segher Boessenkool wrote: > On Wed, Jun 02, 2021 at 06:32:13PM +0100, Richard Sandiford wrote: >> Richard Biener writes: >>> So what Richard suggests would be to disallow split conditions >>> that do not start with "&&

Re: [PATCH,rs6000] Fix operand order to subf for p10 fusion.

2021-06-02 Thread Segher Boessenkool
Hi! On Wed, Jun 02, 2021 at 11:05:00PM -0500, Aaron Sawdey wrote: > This certainly causes a bootstrap miscompare, and might also be > responsible for PR/100820. The operands to subf were reversed > in the logical-add/sub fusion patterns, and I screwed up my > bootstrap test which is how it ended

[PATCH,rs6000] Fix operand order to subf for p10 fusion.

2021-06-02 Thread Aaron Sawdey via Gcc-patches
This certainly causes a bootstrap miscompare, and might also be responsible for PR/100820. The operands to subf were reversed in the logical-add/sub fusion patterns, and I screwed up my bootstrap test which is how it ended up getting committed. If bootstrap and regtest passes, ok for trunk (and

Re: [PATCH] c++: cv-qualified dependent name of alias tmpl [PR100592]

2021-06-02 Thread Jason Merrill via Gcc-patches
On 6/2/21 7:05 PM, Patrick Palka wrote: On Wed, 2 Jun 2021, Jason Merrill wrote: On 6/2/21 4:56 PM, Patrick Palka wrote: On Wed, 2 Jun 2021, Patrick Palka wrote: On Wed, 2 Jun 2021, Jason Merrill wrote: On 6/2/21 2:39 PM, Patrick Palka wrote: Here, the dependent template name in the

[PATCH] x86: Convert CONST_WIDE_INT to broadcast in move expanders

2021-06-02 Thread H.J. Lu via Gcc-patches
Update move expanders to convert the CONST_WIDE_INT operand to vector broadcast from a byte with AVX2. Add ix86_gen_scratch_sse_rtx to return a scratch SSE register which won't increase stack alignment requirement and blocks transformation by the combine pass. A small benchmark:

[PATCH v2] predcom: Enabled by loop vect at O2 [PR100794]

2021-06-02 Thread Kewen.Lin via Gcc-patches
Hi Richard, on 2021/6/3 上午1:19, Richard Sandiford wrote: > "Kewen.Lin via Gcc-patches" writes: >> Hi, >> >> As PR100794 shows, in the current implementation PRE bypasses >> some optimization to avoid introducing loop carried dependence >> which stops loop vectorizer to vectorize the loop. At

Re: [PATCH 2/2] rs6000: Add test for _mm_minpos_epu16

2021-06-02 Thread Segher Boessenkool
On Wed, Jun 02, 2021 at 05:13:16PM -0500, Paul A. Clarke wrote: > + for (i = 0; i < NUM; i++) > +src.s[i] = i * i - 68 * i + 1200; Could you do tests with some identical elements as well? Because that is where I think it fails on BE currently. Segher

Re: [PATCH 2/2, rs6000] Remove mode promotion for pseudos

2021-06-02 Thread HAO CHEN GUI via Gcc-patches
Hi,   Gentle ping this:   https://gcc.gnu.org/pipermail/gcc-patches/2021-May/570854.html Thanks. On 20/5/2021 下午 5:49, HAO CHEN GUI wrote: Hi,    The patch removes mode promotion for pseudos on rs6000 target.    The attachments are the patch diff and change log file.     Bootstrapped and

Re: [PATCH] rs6000: Support doubleword swaps removal in rot64 load store [PR100085]

2021-06-02 Thread Xionghu Luo via Gcc-patches
Hi, On 2021/6/3 06:20, Segher Boessenkool wrote: > On Wed, Jun 02, 2021 at 03:19:32AM -0500, Xionghu Luo wrote: >> On P8LE, extra rot64+rot64 load or store instructions are generated >> in float128 to vector __int128 conversion. >> >> This patch teaches pass swaps to also handle such pattens to

Re: match.pd: ~X & Y to X ^ Y in some cases

2021-06-02 Thread Andrew Pinski via Gcc-patches
On Fri, May 13, 2016 at 12:07 PM Marc Glisse wrote: > > Hello, > > maybe this would fit better in VRP, but it is easier (and not completely > useless) to put it in match.pd. > > Since the transformation is restricted to GIMPLE, I think I don't need to > check that @0 is SSA_NAME. I didn't test if

Re: [PATCH 1/2] rs6000: Add support for _mm_minpos_epu16

2021-06-02 Thread Segher Boessenkool
Hi! On Wed, Jun 02, 2021 at 05:13:15PM -0500, Paul A. Clarke wrote: > Add a naive implementation of the subject x86 intrinsic to > ease porting. > +/* Return horizontal packed word minimum and its index in bits [15:0] > + and bits [18:16] respectively. */ > +extern __inline __m128i

Re: [RFC/PATCH 00/11] Fix up some unexpected empty split conditions

2021-06-02 Thread Segher Boessenkool
On Wed, Jun 02, 2021 at 06:32:13PM +0100, Richard Sandiford wrote: > Richard Biener writes: > > So what Richard suggests would be to disallow split conditions > > that do not start with "&& ", it's probably easy to do that as well > > and look for build fails. That should catch all cases to look

Re: [PATCH 01/11] gen: Emit error msg for empty split condition

2021-06-02 Thread Segher Boessenkool
On Wed, Jun 02, 2021 at 04:18:46PM +0800, Kewen.Lin wrote: > on 2021/6/2 下午3:43, Richard Biener wrote: > Yes, the "" in split condition does mean 'true' (always). Right -- which means it will be split whenever it matches. This *can* be intended, but in define_insn_and_split it is almost always a

Re: [PATCH] c++: cv-qualified dependent name of alias tmpl [PR100592]

2021-06-02 Thread Patrick Palka via Gcc-patches
On Wed, 2 Jun 2021, Jason Merrill wrote: > On 6/2/21 4:56 PM, Patrick Palka wrote: > > On Wed, 2 Jun 2021, Patrick Palka wrote: > > > > > On Wed, 2 Jun 2021, Jason Merrill wrote: > > > > > > > On 6/2/21 2:39 PM, Patrick Palka wrote: > > > > > Here, the dependent template name in the return type

Re: [PATCH] rtl: constm64_rtx..const64_rtx

2021-06-02 Thread Segher Boessenkool
Hi! On Wed, Jun 02, 2021 at 06:07:28PM +0100, Richard Sandiford wrote: > Segher Boessenkool writes: > > Since times immemorial there has been const_int_rtx for all values from > > -64 to 64, but only constm1_rtx..const2_rtx have been available for > > convenient use. Change this, so that we can

[Patch] Fortran/OpenMP: Add omp loop [PR99928]

2021-06-02 Thread Tobias Burnus
This patch adds support for 'omp loop' to gfortran including the combined constructs. It also fixes some splitting issues with clauses in combined constructs. It does not attempt to clean up all remaining Fortran issues with clauses in combined constructs (cf. below + PR). * * * Since

RE: [backport gcc10, gcc9] Requet to backport PR97969

2021-06-02 Thread Przemyslaw Wirkus via Gcc-patches
Hi, > -Original Message- > From: Vladimir Makarov > Sent: 31 May 2021 16:52 > To: Przemyslaw Wirkus ; Richard Biener > > Cc: gcc-patches@gcc.gnu.org; ja...@redhat.com; ni...@redhat.com; > Richard Earnshaw ; Ramana Radhakrishnan > ; Kyrylo Tkachov > > Subject: Re: [backport gcc10, gcc9]

Re: [PATCH] rs6000: Support doubleword swaps removal in rot64 load store [PR100085]

2021-06-02 Thread Segher Boessenkool
On Wed, Jun 02, 2021 at 03:19:32AM -0500, Xionghu Luo wrote: > On P8LE, extra rot64+rot64 load or store instructions are generated > in float128 to vector __int128 conversion. > > This patch teaches pass swaps to also handle such pattens to remove > extra swap instructions. Did you check if this

[PATCH 2/2] rs6000: Add test for _mm_minpos_epu16

2021-06-02 Thread Paul A. Clarke via Gcc-patches
Copy the test for _mm_minpos_epu16 from gcc/testsuite/gcc.target/i386/sse4_1-phminposuw.c, with a few adjustments: - Adjust the dejagnu directives for powerpc platform. - Make the data not be monotonically increasing, such that some of the returned values are not always the first value (index

[PATCH 1/2] rs6000: Add support for _mm_minpos_epu16

2021-06-02 Thread Paul A. Clarke via Gcc-patches
Add a naive implementation of the subject x86 intrinsic to ease porting. 2021-06-02 Paul A. Clarke gcc/ChangeLog: * config/rs6000/smmintrin.h (_mm_minpos_epu16): New. --- gcc/config/rs6000/smmintrin.h | 27 +++ 1 file changed, 27 insertions(+) diff --git

[PATCH 0/2] rs6000: Add support for _mm_minpos_epu16

2021-06-02 Thread Paul A. Clarke via Gcc-patches
Added compatible implementation of _mm_minpos_epu16 for powerpc. Copied, improved, and fixed testcase from i386. Tested on BE, LE (32 and 64bit). Paul A. Clarke (2): rs6000: Add support for _mm_minpos_epu16 rs6000: Add test for _mm_minpos_epu16 gcc/config/rs6000/smmintrin.h

Re: [PATCH] teach compute_objsize about placement new (PR 100876)

2021-06-02 Thread Marek Polacek via Gcc-patches
On Wed, Jun 02, 2021 at 03:40:49PM -0600, Martin Sebor via Gcc-patches wrote: > + if (!gimple_call_builtin_p (stmt, BUILT_IN_NORMAL)) > +{ > + /* See if this is a call to placement new. */ > + if (!fn > + || !DECL_IS_OPERATOR_NEW_P (fn) > + ||

[PATCH] teach compute_objsize about placement new (PR 100876)

2021-06-02 Thread Martin Sebor via Gcc-patches
The two forms of placement operator new defined in return their pointer argument and may not be displaced by user-defined functions. But because they are ordinary (not built-in) functions this property isn't reflected in their declarations alone, and there's no user- level attribute to annotate

Re: [PATCH] c++: cv-qualified dependent name of alias tmpl [PR100592]

2021-06-02 Thread Jason Merrill via Gcc-patches
On 6/2/21 4:56 PM, Patrick Palka wrote: On Wed, 2 Jun 2021, Patrick Palka wrote: On Wed, 2 Jun 2021, Jason Merrill wrote: On 6/2/21 2:39 PM, Patrick Palka wrote: Here, the dependent template name in the return type of f() resolves to an alias of int& after substitution, and we end up

[PATCH][RFC] Sparse on entry cache for Ranger.

2021-06-02 Thread Andrew MacLeod via Gcc-patches
As mentioned earlier, I abstracted the on-entry cache at the beginning of stage1. This was to make it easier to port future changes back to GCC11 so we could provide alternate representations to deal with memory issues, or what have you. This patch introduces a sparse representation of the

Re: [PATCH v2] REE: PR rtl-optimization/100264: Handle more PARALLEL SET expressions

2021-06-02 Thread Jim Wilson
On Mon, May 10, 2021 at 5:39 AM Christoph Muellner wrote: > gcc/ChangeLog: > PR rtl-optimization/100264 > * ree.c (get_sub_rtx): Ignore SET expressions without register > destinations and remove assertion, as it is not valid anymore > with this new behaviour. >

Re: [PATCH] c++: cv-qualified dependent name of alias tmpl [PR100592]

2021-06-02 Thread Patrick Palka via Gcc-patches
On Wed, 2 Jun 2021, Patrick Palka wrote: > On Wed, 2 Jun 2021, Jason Merrill wrote: > > > On 6/2/21 2:39 PM, Patrick Palka wrote: > > > Here, the dependent template name in the return type of f() resolves to > > > an alias of int& after substitution, and we end up complaining about > > >

Re: [EXTERNAL] Re: [PATCH] tree-optimization: Optimize division followed by multiply [PR95176]

2021-06-02 Thread Victor Tong via Gcc-patches
Hi Richard, Thanks for reviewing my patch. I did a search online and you're right -- there isn't a vector modulo instruction. I'll remove the X * (Y / X) --> Y - (Y % X) pattern and the existing X - (X / Y) * Y --> X % Y from triggering on vector types. I looked into why the following pattern

Re: [PATCH] c++: cv-qualified dependent name of alias tmpl [PR100592]

2021-06-02 Thread Patrick Palka via Gcc-patches
On Wed, 2 Jun 2021, Jason Merrill wrote: > On 6/2/21 2:39 PM, Patrick Palka wrote: > > Here, the dependent template name in the return type of f() resolves to > > an alias of int& after substitution, and we end up complaining about > > qualifying this reference type with 'const' from

Re: [PATCH] Canonicalize (vec_duplicate (not A)) to (not (vec_duplicate A)).

2021-06-02 Thread Segher Boessenkool
Hi! On Wed, Jun 02, 2021 at 09:07:35AM +0200, Richard Biener wrote: > On Wed, Jun 2, 2021 at 7:41 AM liuhongt via Gcc-patches > wrote: > > For i386, it will enable below opt > > > > from > > notl%edi > > vpbroadcastd%edi, %xmm0 > > vpand %xmm1, %xmm0, %xmm0 > >

Re: GCC documentation: porting to Sphinx

2021-06-02 Thread Martin Sebor via Gcc-patches
On 5/31/21 7:25 AM, Martin Liška wrote: Hello. I've made quite some progress with the porting of the documentation and I would like to present it to the community now: https://splichal.eu/scripts/sphinx/ Just a few issues I noticed in the warnings section: The headings of some warnings

Re: [PATCH] c++: cv-qualified dependent name of alias tmpl [PR100592]

2021-06-02 Thread Jason Merrill via Gcc-patches
On 6/2/21 2:39 PM, Patrick Palka wrote: Here, the dependent template name in the return type of f() resolves to an alias of int& after substitution, and we end up complaining about qualifying this reference type with 'const' from cp_build_qualified_type rather than just silently dropping the

Re: [PATCH] c++: using-enum and access specifiers [PR100862]

2021-06-02 Thread Jason Merrill via Gcc-patches
On 6/2/21 2:39 PM, Patrick Palka wrote: When copying the enumerators imported by a class-scope using-enum declaration, we need to override current_access_specifier so that finish_member_declaration gives them the same access as the using-enum decl. The processing of a using-enum is performed

[PATCH] wwwdocs: readings: Add PRU documents

2021-06-02 Thread Dimitar Dimitrov
With TI official wiki gone, let's put stable links to their proprietary toolchain documents, which happen to describe ABI and instruction set. Signed-off-by: Dimitar Dimitrov --- htdocs/readings.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/readings.html

Re: [PATCH] Simplify option handling for -fsanitize-coverage

2021-06-02 Thread Jeff Law via Gcc-patches
On 5/31/2021 4:46 AM, Martin Liška wrote: PING^1 On 5/20/21 12:43 PM, Martin Liška wrote: The simplification patch improves option completion and handling of the option. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin

[pushed] c++: missing dtor with -fno-elide-constructors [PR100838]

2021-06-02 Thread Jason Merrill via Gcc-patches
tf_no_cleanup only applies to the outermost TARGET_EXPR, and we already clear it for nested calls in build_over_call, but in this case both constructor calls came from convert_like, so we need to clear it in the recursive call as well. This revealed that we were adding an extra ck_rvalue in

[PATCH] c++: cv-qualified dependent name of alias tmpl [PR100592]

2021-06-02 Thread Patrick Palka via Gcc-patches
Here, the dependent template name in the return type of f() resolves to an alias of int& after substitution, and we end up complaining about qualifying this reference type with 'const' from cp_build_qualified_type rather than just silently dropping the qualification as per [dcl.ref]/1. We already

[PATCH] c++: using-enum and access specifiers [PR100862]

2021-06-02 Thread Patrick Palka via Gcc-patches
When copying the enumerators imported by a class-scope using-enum declaration, we need to override current_access_specifier so that finish_member_declaration gives them the same access as the using-enum decl. The processing of a using-enum is performed after we've seen the entire definition of

Re: [PATCH] arm: Auto-vectorization for MVE: vabs

2021-06-02 Thread Richard Sandiford via Gcc-patches
Christophe Lyon writes: > This patch adds support for auto-vectorization of absolute value > computation using vabs. > > We use a similar pattern to what is used in neon.md and extend the > existing neg2 expander to match both 'neg' and 'abs'. This > implies renaming the existing abs2

Re: [PATCH] xtensa: Fix 2 warnings during xtensa build [PR100841]

2021-06-02 Thread Jeff Law via Gcc-patches
On 6/2/2021 11:09 AM, Jakub Jelinek wrote: Hi! When building gcc targetting xtensa-linux, there are 2 warnings the PR complains about: ../../gcc/dwarf2cfi.c: In function ‘void init_one_dwarf_reg_size(int, machine_mode, rtx, machine_mode, init_one_dwarf_reg_state*)’:

Re: [RFC/PATCH 00/11] Fix up some unexpected empty split conditions

2021-06-02 Thread Jeff Law via Gcc-patches
On 6/2/2021 11:32 AM, Richard Sandiford wrote: Richard Biener writes: On Wed, Jun 2, 2021 at 12:01 PM Kewen.Lin wrote: on 2021/6/2 下午5:13, Richard Sandiford wrote: "Kewen.Lin" writes: Hi Richard, on 2021/6/2 锟斤拷锟斤拷4:11, Richard Sandiford wrote: Kewen Lin writes: Hi all,

Re: [PATCH] arm: Auto-vectorization for MVE and Neon: vhadd/vrhadd

2021-06-02 Thread Richard Sandiford via Gcc-patches
Christophe Lyon writes: > This patch adds support for auto-vectorization of average value > computation using vhadd or vrhadd, for both MVE and Neon. > > The patch adds the needed [u]avg3_[floor|ceil] patterns to > vec-common.md, I'm not sure how to factorize them without introducing > an unspec

Re: [PATCH] ARC: gcc driver default to hs38_linux

2021-06-02 Thread Vineet Gupta via Gcc-patches
On 6/2/21 1:38 AM, Claudiu Zissulescu wrote: > Approved. Thx for the super quick action on this Claudiu. Can this be slated for backports too as it causes issues when building toolchains for modern cores without explicit defaults. -Vineet > > //Claudiu >

Re: [RFC/PATCH 00/11] Fix up some unexpected empty split conditions

2021-06-02 Thread Richard Sandiford via Gcc-patches
Richard Biener writes: > On Wed, Jun 2, 2021 at 12:01 PM Kewen.Lin wrote: >> >> on 2021/6/2 下午5:13, Richard Sandiford wrote: >> > "Kewen.Lin" writes: >> >> Hi Richard, >> >> >> >> on 2021/6/2 锟斤拷锟斤拷4:11, Richard Sandiford wrote: >> >>> Kewen Lin writes: >> Hi all, >> >>

Re: GCC documentation: porting to Sphinx

2021-06-02 Thread Joseph Myers
On Mon, 31 May 2021, Martin Liška wrote: > https://splichal.eu/scripts/sphinx/ Looking at some examples there: https://splichal.eu/scripts/sphinx/gcc/_build/html/c-implementation-defined-behavior/preprocessing-directives.html has some conversion problems: * "See Implementation-defined

Re: [PATCH] predcom: Enabled by loop vect at O2 [PR100794]

2021-06-02 Thread Richard Sandiford via Gcc-patches
"Kewen.Lin via Gcc-patches" writes: > Hi, > > As PR100794 shows, in the current implementation PRE bypasses > some optimization to avoid introducing loop carried dependence > which stops loop vectorizer to vectorize the loop. At -O2, > there is no downstream pass to re-catch this kind of

Re: [PATCH 08/11] mips: Update unexpected empty split condition

2021-06-02 Thread Jeff Law via Gcc-patches
On 6/1/2021 11:04 PM, Kewen Lin via Gcc-patches wrote: gcc/ChangeLog: * config/mips/mips.md (, bswapsi2, bswapdi2): Fix empty split condition. The mips, or1k and sparc changes are fine.  They're all preserving existing behavior. jeff

Re: [PATCH 05/11] h8300: Update unexpected empty split condition

2021-06-02 Thread Jeff Law via Gcc-patches
On 6/1/2021 11:04 PM, Kewen Lin wrote: gcc/ChangeLog: * config/h8300/combiner.md (*andsi3_lshiftrt_n_sb): Fix empty split condition. Hold off on this.  We may need a stronger condition in there and that's something I'm in the process of cleaning up in the H8 port. jeff

[PATCH] xtensa: Fix 2 warnings during xtensa build [PR100841]

2021-06-02 Thread Jakub Jelinek via Gcc-patches
Hi! When building gcc targetting xtensa-linux, there are 2 warnings the PR complains about: ../../gcc/dwarf2cfi.c: In function ‘void init_one_dwarf_reg_size(int, machine_mode, rtx, machine_mode, init_one_dwarf_reg_state*)’: ../../gcc/dwarf2cfi.c:291:12: warning: comparison of integer expressions

Re: [PATCH 07/11] m68k: Update unexpected empty split condition

2021-06-02 Thread Jeff Law via Gcc-patches
On 6/1/2021 11:04 PM, Kewen Lin wrote: gcc/ChangeLog: * config/m68k/m68k.md (*zero_extend_inc, *zero_extend_dec, *zero_extendsidi2): Fix empty split condition. OK.  Thanks. jeff

Re: [PATCH] rtl: constm64_rtx..const64_rtx

2021-06-02 Thread Richard Sandiford via Gcc-patches
Segher Boessenkool writes: > Since times immemorial there has been const_int_rtx for all values from > -64 to 64, but only constm1_rtx..const2_rtx have been available for > convenient use. Change this, so that we can use all values in > {-64,...,64} in RTL easily. This matters, because then we

Re: [PATCH] AArch64: Improve address rematerialization costs

2021-06-02 Thread Wilco Dijkstra via Gcc-patches
Hi Richard, > No.  It's never correct to completely wipe out the existing cost - you > don't know the context where this is being used. > > The most you can do is not add any additional cost. Remember that aarch64_rtx_costs starts like this: /* By default, assume that everything has

Re: GCC documentation: porting to Sphinx

2021-06-02 Thread Joseph Myers
On Wed, 2 Jun 2021, Joel Sherrill wrote: > For RTEMS, we switched from texinfo to Sphinx and the dependency > on Python3 for Sphinx has caused a bit of hassle. Is this going to be > an issue for GCC? What Sphinx (and, thus, Python) versions does the GCC manual build work with? Can it work with

Re: [PATCH] MAINTAINERS: create DCO section; add myself to it

2021-06-02 Thread Koning, Paul via Gcc-patches
> On Jun 2, 2021, at 11:03 AM, Jason Merrill via Gcc-patches > wrote: > > On 6/1/21 3:22 PM, Richard Biener via Gcc wrote: >> On June 1, 2021 7:30:54 PM GMT+02:00, David Malcolm via Gcc >> wrote: ... >>> >>> The MAINTAINERS file doesn't seem to have such a "DCO list" >>> yet; does

Re: [wwwdocs] lists: Fix thinko

2021-06-02 Thread Segher Boessenkool
On Wed, Jun 02, 2021 at 10:25:34AM +0200, Andreas Schwab wrote: > On Jun 01 2021, Segher Boessenkool wrote: > > -* ^List-Id: .*<.*@gcc.gnu.org>$ > > +* ^List-Id: .*<.*.gcc.gnu.org>$ > > Shouldn't the < and > be mangled as and ? "It works fine for me!" You are right of course. Segher

Re: [wwwdocs] lists: Fix thinko

2021-06-02 Thread Segher Boessenkool
On Wed, Jun 02, 2021 at 09:17:20AM +0200, Gerald Pfeifer wrote: > On Tue, 1 Jun 2021, Segher Boessenkool wrote: > > Brown paper bag time. The List-Id: should look like a hostname, not > > like an email address. Somehow I put in an at-sign when changing my > > gcc-patches example to the match-all

Re: [PATCH] inline-asm: Fix ICE with bitfields in "m" operands [PR100785]

2021-06-02 Thread Jason Merrill via Gcc-patches
On 6/2/21 11:25 AM, Jakub Jelinek wrote: On Wed, Jun 02, 2021 at 11:09:45AM -0400, Jason Merrill wrote: On 6/2/21 3:59 AM, Jakub Jelinek wrote: if (!allows_reg && !cxx_mark_addressable (*op)) operand = error_mark_node; + else if (!allows_reg &&

Re: GCC documentation: porting to Sphinx

2021-06-02 Thread Joel Sherrill
For RTEMS, we switched from texinfo to Sphinx and the dependency on Python3 for Sphinx has caused a bit of hassle. Is this going to be an issue for GCC? Also we rely on TexLive for PDF output and that's a bit of a pain to install. Tex was incorrectly packaged on some RHEL/CentOS versions. This

Re: [PATCH] define auto_vec copy ctor and assignment (PR 90904)

2021-06-02 Thread Martin Sebor via Gcc-patches
On 6/2/21 12:55 AM, Richard Biener wrote: On Tue, Jun 1, 2021 at 9:56 PM Martin Sebor wrote: On 5/27/21 2:53 PM, Jason Merrill wrote: On 4/27/21 11:52 AM, Martin Sebor via Gcc-patches wrote: On 4/27/21 8:04 AM, Richard Biener wrote: On Tue, Apr 27, 2021 at 3:59 PM Martin Sebor wrote: On

Re: [PATCH] AArch64: Improve address rematerialization costs

2021-06-02 Thread Richard Earnshaw via Gcc-patches
On 02/06/2021 11:21, Wilco Dijkstra via Gcc-patches wrote: Hi, Given the large improvements from better register allocation of GOT accesses, I decided to generalize it to get large gains for normal addressing too: Improve rematerialization costs of addresses. The current costs are set too

Re: [GCC][Patch] arm: Fix the mve multilib for the broken cmse support (pr99939).

2021-06-02 Thread Richard Earnshaw via Gcc-patches
On 01/06/2021 18:16, Srinath Parvathaneni via Gcc-patches wrote: Hi Richard, -Original Message- From: Richard Earnshaw Sent: 13 April 2021 14:55 To: Srinath Parvathaneni ; gcc- patc...@gcc.gnu.org Cc: Richard Earnshaw Subject: Re: [GCC][Patch] arm: Fix the mve multilib for the

Re: [PATCH] inline-asm: Fix ICE with bitfields in "m" operands [PR100785]

2021-06-02 Thread Jakub Jelinek via Gcc-patches
On Wed, Jun 02, 2021 at 11:09:45AM -0400, Jason Merrill wrote: > On 6/2/21 3:59 AM, Jakub Jelinek wrote: > > if (!allows_reg && !cxx_mark_addressable (*op)) > > operand = error_mark_node; > > + else if (!allows_reg && bitfield_p (*op)) > > + { > > +

Re: [PATCH] inline-asm: Fix ICE with bitfields in "m" operands [PR100785]

2021-06-02 Thread Jason Merrill via Gcc-patches
On 6/2/21 3:59 AM, Jakub Jelinek wrote: if (!allows_reg && !cxx_mark_addressable (*op)) operand = error_mark_node; + else if (!allows_reg && bitfield_p (*op)) + { + error_at (loc, "attempt to take address of bit-field");

Re: [PATCH] MAINTAINERS: create DCO section; add myself to it

2021-06-02 Thread Jason Merrill via Gcc-patches
On 6/1/21 3:22 PM, Richard Biener via Gcc wrote: On June 1, 2021 7:30:54 PM GMT+02:00, David Malcolm via Gcc wrote: On Tue, 2021-06-01 at 10:00 -0400, David Edelsohn via Gcc wrote: GCC was created as part of the GNU Project but has grown to operate asan autonomous project. The GCC Steering

Re: [PATCH, rs6000] Fix alias set of link reg save MEM

2021-06-02 Thread Pat Haugen via Gcc-patches
On 6/2/21 9:19 AM, Segher Boessenkool wrote: > On Wed, Jun 02, 2021 at 08:23:48AM -0500, Pat Haugen wrote: >> On 6/2/21 7:01 AM, Richard Biener wrote: >>> So did you check the RTL (and alias-sets) produced by >>> __builtin_return_address? Test coverage might >>> be low here and w/o scheduling

Re: [RFC/PATCH] updating global ranges and their effect on __builtin_unreachable code

2021-06-02 Thread Aldy Hernandez via Gcc-patches
On 6/2/21 1:52 PM, Richard Biener wrote: On Wed, Jun 2, 2021 at 12:34 PM Aldy Hernandez via Gcc-patches wrote: But the whole point of all this singing and dancing is not to make warnings but to be able to implement assert (); or assume (); that will result in no code but optimization

Re: [wwwdocs] lists: Correct procmail recipe

2021-06-02 Thread Segher Boessenkool
On Wed, Jun 02, 2021 at 10:44:34AM +0200, Gerald Pfeifer wrote: > On Tue, 1 Jun 2021, Segher Boessenkool wrote: > > We haven't had Sender: for a while now. > > "a while now" was about four(?) hours when you sent that yesterday. :-) Ah, I thought it was since we moved to the new mailing list

Re: [PATCH, rs6000] Fix alias set of link reg save MEM

2021-06-02 Thread Segher Boessenkool
On Wed, Jun 02, 2021 at 08:23:48AM -0500, Pat Haugen wrote: > On 6/2/21 7:01 AM, Richard Biener wrote: > > So did you check the RTL (and alias-sets) produced by > > __builtin_return_address? Test coverage might > > be low here and w/o scheduling opportunities to break things. > >

Re: [GCC][PATCH] arm: Fix multilib mapping for CDE extensions.

2021-06-02 Thread Richard Earnshaw via Gcc-patches
On 01/06/2021 18:08, Srinath Parvathaneni via Gcc-patches wrote: Hi All, On passing +cdecp[0-7] extension to the -march string in command line options, multilib linking is failing as mentioned in PR100856. This patch fixes this issue by generating a separate -march string only for multilib

Re: [PATCH] avr: Add atmega324pb MCU

2021-06-02 Thread Matwey V. Kornilov via Gcc-patches
Ping? вс, 25 окт. 2020 г. в 16:09, Matwey V. Kornilov : > > > Ping? > > чт, 4 июн. 2020 г. в 18:30, Matwey V. Kornilov : >> >> Reference: https://www.microchip.com/wwwproducts/en/ATMEGA324PB >> --- >> gcc/config/avr/avr-mcus.def | 1 + >> gcc/doc/avr-mmcu.texi | 2 +- >> 2 files changed, 2

Re: [PATCH v2] Add vec_const_duplicate optab and TARGET_GEN_MEMSET_SCRATCH_RTX

2021-06-02 Thread H.J. Lu via Gcc-patches
On Wed, Jun 2, 2021 at 12:02 AM Richard Biener wrote: > > On Wed, Jun 2, 2021 at 3:57 AM H.J. Lu via Gcc-patches > wrote: > > > > On Tue, Jun 1, 2021 at 6:17 PM Hongtao Liu wrote: > > > > > > On Wed, Jun 2, 2021 at 7:07 AM H.J. Lu via Gcc-patches > > > wrote: > > > > > > > > On Tue, Jun 1,

RE: [PATCH] ARM: reset arm_fp16_format

2021-06-02 Thread Tamar Christina via Gcc-patches
Hi Martin, Testsuite isn't very happy with it: Before: # of expected passes149743 # of unexpected failures294 # of unexpected successes 2 # of expected failures 947 # of unresolved testcases 56 # of unsupported tests 8248

Re: [PATCH 2/4] [og11] Unify ARRAY_REF/INDIRECT_REF stripping code in extract_base_bit_offset

2021-06-02 Thread Julian Brown
On Wed, 2 Jun 2021 13:59:05 +0200 Richard Biener wrote: > On Wed, Jun 2, 2021 at 12:47 PM Julian Brown > wrote: > > > > For historical reasons, it seems that extract_base_bit_offset > > unnecessarily used two different ways to strip > > ARRAY_REF/INDIRECT_REF nodes from component accesses. I

Re: [PATCH, rs6000] Fix alias set of link reg save MEM

2021-06-02 Thread Pat Haugen via Gcc-patches
On 6/2/21 7:01 AM, Richard Biener wrote: > On Wed, Jun 2, 2021 at 1:15 PM Pat Haugen wrote: >> >> On 6/2/21 1:51 AM, Richard Biener wrote: >>> On Tue, Jun 1, 2021 at 10:37 PM Pat Haugen via Gcc-patches >>> wrote: Make sure link reg save MEM has frame alias set, to match other link reg

Re: [RFC/PATCH] updating global ranges and their effect on __builtin_unreachable code

2021-06-02 Thread Andrew MacLeod via Gcc-patches
On 6/2/21 7:52 AM, Richard Biener wrote: On Wed, Jun 2, 2021 at 12:34 PM Aldy Hernandez via Gcc-patches wrote: We've been having "issues" in our branch when exporting to the global space ranges that take into account previously known ranges (SSA_NAME_RANGE_INFO, etc). For the longest time we

Re: [PATCH 04/11] cris: Update unexpected empty split condition

2021-06-02 Thread Hans-Peter Nilsson via Gcc-patches
> From: Kewen Lin > Date: Wed, 2 Jun 2021 07:04:54 +0200 > gcc/ChangeLog: > > * config/cris/cris.md (*addi_reload): Fix empty split condition. > --- > gcc/config/cris/cris.md | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/config/cris/cris.md

[committed] libstdc++: Value-initialize objects held by EBO helpers [PR 100863]

2021-06-02 Thread Jonathan Wakely via Gcc-patches
The allocator, hash function and equality function should all be value-initialized by the default constructor of an unordered container. Do it in the EBO helper, so we don't have to get it right in multiple places. Signed-off-by: Jonathan Wakely libstdc++-v3/ChangeLog: PR

Re: [PATCH] Hashtable PR96088

2021-06-02 Thread Jonathan Wakely via Gcc-patches
On 01/06/21 19:10 +0100, Jonathan Wakely wrote: On 01/06/21 18:47 +0100, Jonathan Wakely wrote: On 01/06/21 18:45 +0100, Jonathan Wakely wrote: On 22/05/21 18:35 +0200, François Dumont wrote: diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/96088.cc

Re: [patch] Tame fix for PR ipa/99122

2021-06-02 Thread Richard Biener via Gcc-patches
On Wed, Jun 2, 2021 at 2:05 PM Eric Botcazou wrote: > > Hi, > > as explained in the audit trail, the return part has a major performance > impact in Ada where variable-sized types are first-class citizens, but it > turns out that it is not exercized in the testsuite yet. > > Tested on

[patch] Tame fix for PR ipa/99122

2021-06-02 Thread Eric Botcazou
Hi, as explained in the audit trail, the return part has a major performance impact in Ada where variable-sized types are first-class citizens, but it turns out that it is not exercized in the testsuite yet. Tested on x86-64/Linux, OK for mainline and 11 branch? 2021-06-02 Eric Botcazou

Re: [PATCH, rs6000] Fix alias set of link reg save MEM

2021-06-02 Thread Richard Biener via Gcc-patches
On Wed, Jun 2, 2021 at 1:15 PM Pat Haugen wrote: > > On 6/2/21 1:51 AM, Richard Biener wrote: > > On Tue, Jun 1, 2021 at 10:37 PM Pat Haugen via Gcc-patches > > wrote: > >> > >> Make sure link reg save MEM has frame alias set, to match other link reg > >> save/restore code. > >> > >>

Re: [PATCH 2/4] [og11] Unify ARRAY_REF/INDIRECT_REF stripping code in extract_base_bit_offset

2021-06-02 Thread Richard Biener via Gcc-patches
On Wed, Jun 2, 2021 at 12:47 PM Julian Brown wrote: > > For historical reasons, it seems that extract_base_bit_offset > unnecessarily used two different ways to strip ARRAY_REF/INDIRECT_REF > nodes from component accesses. I verified that the two ways of performing > the operation gave the same

Re: [RFC/PATCH] updating global ranges and their effect on __builtin_unreachable code

2021-06-02 Thread Richard Biener via Gcc-patches
On Wed, Jun 2, 2021 at 12:34 PM Aldy Hernandez via Gcc-patches wrote: > > We've been having "issues" in our branch when exporting to the global > space ranges that take into account previously known ranges > (SSA_NAME_RANGE_INFO, etc). For the longest time we had the export > feature turned off

[committed] libstdc++: Improve punctuation in implementation status docs

2021-06-02 Thread Jonathan Wakely via Gcc-patches
Signed-off-by: Jonathan Wakely libstdc++-v3/ChangeLog: * doc/xml/manual/status_cxxis29124.xml: Improve punctuation. * doc/xml/manual/status_cxxtr1.xml: Likewise. * doc/xml/manual/status_cxxtr24733.xml: Likewise. * doc/html/*: Regenerate. Committed to trunk.

Re: [PATCH, rs6000] Fix alias set of link reg save MEM

2021-06-02 Thread Pat Haugen via Gcc-patches
On 6/2/21 1:51 AM, Richard Biener wrote: > On Tue, Jun 1, 2021 at 10:37 PM Pat Haugen via Gcc-patches > wrote: >> >> Make sure link reg save MEM has frame alias set, to match other link reg >> save/restore code. >> >> Bootstrap/regtest on powerpc64/powerpc64le with no new regressions. Ok for >>

[PATCH 4/4] [og11] Rework indirect struct handling for OpenACC in gimplify.c

2021-06-02 Thread Julian Brown
This patch reworks indirect struct handling in gimplify.c (i.e. for struct components mapped with "mystruct->a[0:n]", "mystruct->b", etc.), for OpenACC. The key observation leading to these changes was that component mappings of references-to-structures is already implemented and working, and

[PATCH 3/4] [og11] Refactor struct lowering for OpenACC/OpenMP in gimplify.c

2021-06-02 Thread Julian Brown
This patch is a second attempt at refactoring struct component mapping handling for OpenACC/OpenMP during gimplification, after the patch I posted here: https://gcc.gnu.org/pipermail/gcc-patches/2018-November/510503.html And improved here, post-review:

[PATCH 2/4] [og11] Unify ARRAY_REF/INDIRECT_REF stripping code in extract_base_bit_offset

2021-06-02 Thread Julian Brown
For historical reasons, it seems that extract_base_bit_offset unnecessarily used two different ways to strip ARRAY_REF/INDIRECT_REF nodes from component accesses. I verified that the two ways of performing the operation gave the same results across the whole testsuite (and several additional

[PATCH 1/4] [og11] Rewrite GOMP_MAP_ATTACH_DETACH mappings unconditionally

2021-06-02 Thread Julian Brown
It never makes sense for a GOMP_MAP_ATTACH_DETACH mapping to survive beyond gimplify.c, so this patch rewrites such mappings to GOMP_MAP_ATTACH or GOMP_MAP_DETACH unconditionally (rather than checking for a list of types of OpenACC or OpenMP constructs), in cases where it hasn't otherwise been

[PATCH 0/4] [og11] OpenACC: Rework struct component handling

2021-06-02 Thread Julian Brown
This is a merge to the og11 branch of the patch series posted for mainline here: https://gcc.gnu.org/pipermail/gcc-patches/2021-May/570396.html and for the og10 branch here: https://gcc.gnu.org/pipermail/gcc-patches/2021-May/570810.html Re-tested with offloading to NVPTX. I will push to

[RFC/PATCH] updating global ranges and their effect on __builtin_unreachable code

2021-06-02 Thread Aldy Hernandez via Gcc-patches
We've been having "issues" in our branch when exporting to the global space ranges that take into account previously known ranges (SSA_NAME_RANGE_INFO, etc). For the longest time we had the export feature turned off because it had the potential of removing __builtin_unreachable code early in

[PATCH] AArch64: Improve address rematerialization costs

2021-06-02 Thread Wilco Dijkstra via Gcc-patches
Hi, Given the large improvements from better register allocation of GOT accesses, I decided to generalize it to get large gains for normal addressing too: Improve rematerialization costs of addresses. The current costs are set too high which results in extra register pressure and spilling.

Re: [RFC/PATCH 00/11] Fix up some unexpected empty split conditions

2021-06-02 Thread Richard Biener via Gcc-patches
On Wed, Jun 2, 2021 at 12:01 PM Kewen.Lin wrote: > > on 2021/6/2 下午5:13, Richard Sandiford wrote: > > "Kewen.Lin" writes: > >> Hi Richard, > >> > >> on 2021/6/2 锟斤拷锟斤拷4:11, Richard Sandiford wrote: > >>> Kewen Lin writes: > Hi all, > > define_insn_and_split should avoid to use

Re: [RFC/PATCH 00/11] Fix up some unexpected empty split conditions

2021-06-02 Thread Kewen.Lin via Gcc-patches
on 2021/6/2 下午5:13, Richard Sandiford wrote: > "Kewen.Lin" writes: >> Hi Richard, >> >> on 2021/6/2 锟斤拷锟斤拷4:11, Richard Sandiford wrote: >>> Kewen Lin writes: Hi all, define_insn_and_split should avoid to use empty split condition if the condition for define_insn isn't empty,

RE: [PATCH][AArch32]: Correct sdot RTL on aarch32

2021-06-02 Thread Kyrylo Tkachov via Gcc-patches
> -Original Message- > From: Tamar Christina > Sent: 02 June 2021 10:34 > To: Tamar Christina > Cc: Richard Earnshaw ; nd ; > Ramana Radhakrishnan ; Kyrylo > Tkachov > Subject: RE: [PATCH][AArch32]: Correct sdot RTL on aarch32 > > ping > > > -Original Message- > > From:

Re: [PATCH] Replace conditional_replacement with match and simplify

2021-06-02 Thread Andrew Pinski via Gcc-patches
On Wed, Jun 2, 2021 at 2:12 AM Andrew Pinski wrote: > > On Wed, Jun 2, 2021 at 1:37 AM Christophe Lyon via Gcc-patches > wrote: > > > > On Tue, 1 Jun 2021 at 08:06, apinski--- via Gcc-patches > > wrote: > > > > > > From: Andrew Pinski > > > > > > This is the first of series of patches to

[PATCH] predcom: Enabled by loop vect at O2 [PR100794]

2021-06-02 Thread Kewen.Lin via Gcc-patches
Hi, As PR100794 shows, in the current implementation PRE bypasses some optimization to avoid introducing loop carried dependence which stops loop vectorizer to vectorize the loop. At -O2, there is no downstream pass to re-catch this kind of opportunity if loop vectorizer fails to vectorize that

[PATCH] predcom: Adjust some unnecessary update_ssa calls

2021-06-02 Thread Kewen.Lin via Gcc-patches
Hi, As Richi suggested in PR100794, this patch is to remove some unnecessary update_ssa calls with flag TODO_update_ssa_only_virtuals, also do some refactoring. Bootstrapped/regtested on powerpc64le-linux-gnu P9, x86_64-redhat-linux and aarch64-linux-gnu, built well on Power9 ppc64le with

  1   2   >