RE: [PATCH PR95696] regrename creates overlapping register allocations for vliw

2020-08-03 Thread Yangfei (Felix)
Hi Richard, Thanks for reviewing this fix and the detailed suggestions : -) Looks like my colleague Yunde was having some issue setting up his local repo. I have prepared one for him. Attached please find the patch. Bootstrapped and tested on aarch64-linux-gnu. Please help insta

RE: [PATCH] x86_64: Integer min/max improvements.

2020-08-03 Thread Roger Sayle
Hi Richard, As requested here are some additional test cases for this patch, derived from the examples in my post. For minmax-8 and minmax-9, the tests are run at -Os, to avoid limiting code generation options (for speed) on future architectures, i.e. CSE may or may not always be a win for perfo

[PATCH] fix a typo in tm.texi

2020-08-03 Thread Wei Wentao
This patch fix a typo in tm.texi. Regards! weiwt --- gcc/doc/tm.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 6e7d9dc54a9..9b780f757fe 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -11277,7 +11277,7 @@ this macro. @end d

Re: [PATCH] libgccjit: Add new gcc_jit_context_new_blob entry point

2020-08-03 Thread Andrea Corallo
David Malcolm writes: > On Fri, 2020-07-24 at 18:05 -0400, David Malcolm via Gcc-patches wrote: > > [...] > >> I haven't thought this through in detail, and I'm not sure exactly >> how >> it would work for arbitrary types, but I thought it worth sharing. >> (For example I can think of nasty issu

Re: [PATCH] Amend match.pd syntax with force-simplified results

2020-08-03 Thread Richard Biener
On Fri, 31 Jul 2020, Marc Glisse wrote: > On Fri, 31 Jul 2020, Richard Biener wrote: > > > Or we simply automatically disable those patterns for GENERIC > > (though that would probably be unexpected). > > Since the definition is not clear, whatever we do will be unexpected at least > in some cas

[Patch, committed] libgfortran/caf/single.c: Fix typo.

2020-08-03 Thread Tobias Burnus
Committed as obvious. - Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter commit 58cfec3a6e756b534b33787e51c52f5fc63b53ab Author: Tobias Burnus Date: Mon Aug 3 09:

RE: [PATCH][GCC][aarch64] Generation of adjusted ldp/stp for vector types

2020-08-03 Thread Przemyslaw Wirkus
Commited cd91a084877dabcc53aec57ab70ca4fc32f3d985 > -Original Message- > From: Przemyslaw Wirkus > Sent: 22 July 2020 09:49 > To: Richard Sandiford > Cc: gcc-patches@gcc.gnu.org > Subject: RE: [PATCH][GCC][aarch64] Generation of adjusted ldp/stp for vector > types > > [snip...] > > > Pr

Re: Simplify X * C1 == C2 with undefined overflow

2020-08-03 Thread Richard Biener via Gcc-patches
On Sat, Aug 1, 2020 at 9:29 AM Marc Glisse wrote: > > Hello, > > this transformation is quite straightforward, without overflow, 3*X==15 is > the same as X==5 and 3*X==5 cannot happen. Adding a single_use restriction > for the first case didn't seem necessary, although of course it can > slightly

Re: [PATCH] genmatch: Avoid unused parameter warnings in generated code.

2020-08-03 Thread Richard Biener via Gcc-patches
On Sat, Aug 1, 2020 at 8:46 PM Roger Sayle wrote: > > > This patch silences a number of unused parameter warnings whilst > compiling both generic-match.c and gimple-match.c. The problem is > that multiple (polymorphic) functions are generated for generic_simplify > and gimple_simplify, each handl

Re: [PATCH] PR rtl-optimization 61494: Preserve x-0.0 with HONOR_SNANS.

2020-08-03 Thread Richard Biener via Gcc-patches
On Sun, Aug 2, 2020 at 12:02 PM Roger Sayle wrote: > > > The following patch avoids simplifying x-0.0 to x when -fsignaling-nans is > specified, > which resolves PR rtl-optimization 61494. Indeed, running the test program > attached > to that PR now reports no failures. Alas reducing that valida

Re: [testsuite] Test case for PR rtl-optimization/60473

2020-08-03 Thread Richard Biener via Gcc-patches
On Sun, Aug 2, 2020 at 6:31 PM Roger Sayle wrote: > > > > PR rtl-optimization/60473 was a code quality regression that has > > been cured by improvements to register allocation. For the function > > in the test case, GCC 4.4, 4.5 and 4.6 generated very poor code > > requiring two mov instructions

Re: [testsuite] Test case for PR rtl-optimization/60473

2020-08-03 Thread Uros Bizjak via Gcc-patches
>> Since GCC 4.9 (including current mainline), it generates optimal >> >> code with no mov instructions, matching what used to be generated >> >> in GCC 4.1. >> >> >> >> foo:rdtsc >> >> sal rdx, 32 >> >> or rax, rdx >> >> ret >> >> >> >> This test case, which ha

[committed] d: Fix ICE using non-local variable: internal compiler error: Segmentation fault

2020-08-03 Thread Iain Buclaw via Gcc-patches
Hi, This patch moves no frame access error to own function, adding use of it for both when get_framedecl() cannot find a path to the outer function frame, and guarding get_decl_tree() from recursively calling itself. Bootstrapped and regression tested on x86_64-linux-gnu with multilib configurati

Re: [PATCH] SLP: support entire BB.

2020-08-03 Thread Richard Biener via Gcc-patches
On Fri, Jul 31, 2020 at 12:30 PM Martin Liška wrote: > > Hey. > > Motivation of the patch is to allow vectorization of an entire BB. > So far we bail out a sub-BB region when we reach a stmt for which > vect_find_stmt_data_reference returns false. That's replaced with > recoding of groups of the d

Re: [PATCH] x86_64: Integer min/max improvements.

2020-08-03 Thread Uros Bizjak via Gcc-patches
On Thu, Jul 30, 2020 at 1:23 PM Roger Sayle wrote: > > > This patch tweaks the way that min and max are expanded, so that the > semantics of these operations are visible to the early RTL optimization > passes, until split into explicit comparison and conditional move > instructions. The good news

Re: [PATCH 2/2] rs6000: Define define_insn_and_split to split unspec sldi+or to rldimi

2020-08-03 Thread Andreas Schwab
On Jul 09 2020, Xiong Hu Luo via Gcc-patches wrote: > diff --git a/gcc/testsuite/gcc.target/powerpc/vector_float.c > b/gcc/testsuite/gcc.target/powerpc/vector_float.c > new file mode 100644 > index 000..414824ad264 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/powerpc/vector_float.c >

Re: [PATCH] c: Fix bogus vector initialisation error [PR96377]

2020-08-03 Thread Andreas Schwab
On Jul 31 2020, Richard Sandiford wrote: > * gcc.dg/pr96377-1.c: New test. > * gcc.dg/pr96377-2.c: Likewise. Excess errors: /daten/gcc/gcc-20200801/gcc/testsuite/gcc.dg/pr96377-2.c:11:1: warning: GCC vector passed by reference: non-standard ABI extension with no compatibility guaran

Re: [testsuite] Test case for PR rtl-optimization/60473

2020-08-03 Thread H.J. Lu via Gcc-patches
On Mon, Aug 3, 2020 at 2:20 AM Richard Biener via Gcc-patches wrote: > > On Sun, Aug 2, 2020 at 6:31 PM Roger Sayle wrote: > > > > > > > > PR rtl-optimization/60473 was a code quality regression that has > > > > been cured by improvements to register allocation. For the function > > > > in the t

Re: [PATCH] c: Fix bogus vector initialisation error [PR96377]

2020-08-03 Thread Jakub Jelinek via Gcc-patches
On Mon, Aug 03, 2020 at 01:26:34PM +0200, Andreas Schwab wrote: > On Jul 31 2020, Richard Sandiford wrote: > > > * gcc.dg/pr96377-1.c: New test. > > * gcc.dg/pr96377-2.c: Likewise. > > Excess errors: > /daten/gcc/gcc-20200801/gcc/testsuite/gcc.dg/pr96377-2.c:11:1: warning: GCC > vector p

[PATCH PR96366][AARCH64] Add support for unpacked vector sub

2020-08-03 Thread bule
Hi, The test case bb-slp-20.c in the gcc testsuit will cause an ICE in the expand pass due to the lack of a pattern for subtraction of the VNx2SI mode. I think the problem has been fully discussed on PR 96366. The attached file is the patch to solve this problem. Bootstrapped and tested on aa

[committed] tree-optimization: Fix typos in comments

2020-08-03 Thread Jonathan Wakely via Gcc-patches
The only two changes which aren't obvious are s/dirified/specified/ and s/edirially/especially/ which appear to be caused by a s/spec/dir/ edit that went too far. gcc/ChangeLog: * gimple-ssa-sprintf.c: Fix typos in comments. Committed as obvious. commit d2ae6d5c053315c94143103eeae1d3cba

Re: [committed] libstdc++: Add std::from_chars for floating-point types

2020-08-03 Thread Florian Weimer via Gcc-patches
* Jonathan Wakely: >>What seems to be missing is a function that takes an explicit buffer >>length. A static reference to the C locale object would be helpful as >>well, I assume. > > How expensive is it to do newlocale("C", nullptr), uselocale, and > freelocale? freelocale does nothing in this

Re: Ellipsis in varadic macro definitions

2020-08-03 Thread Jonathan Wakely via Gcc-patches
On Mon, 3 Aug 2020 at 11:28, Florian Weimer wrote: > > * Jonathan Wakely via Gcc: > > > On Sun, 2 Aug 2020 at 15:49, Philip R Brenan via Gcc > > wrote: > >> > >> Hi *GCC*: > >> > >> On page: > >> > >> https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html#Variadic-Macros > >> > >> you say: > >>

Re: [committed] libstdc++: Add std::from_chars for floating-point types

2020-08-03 Thread Jonathan Wakely via Gcc-patches
On 03/08/20 13:47 +0200, Florian Weimer wrote: * Jonathan Wakely: What seems to be missing is a function that takes an explicit buffer length. A static reference to the C locale object would be helpful as well, I assume. How expensive is it to do newlocale("C", nullptr), uselocale, and freel

[PATCH] c++: cxx_eval_vec_init after zero initialization [PR96282]

2020-08-03 Thread Patrick Palka via Gcc-patches
In the first testcase below, expand_aggr_init_1 sets up t's default constructor such that the ctor first zero-initializes the entire base b, followed by calling b's default constructor, the latter of which just default-initializes the array member b::m via a VEC_INIT_EXPR. So upon constexpr evalua

Re: [PATCH] c++: cxx_eval_vec_init after zero initialization [PR96282]

2020-08-03 Thread Patrick Palka via Gcc-patches
On Mon, 3 Aug 2020, Patrick Palka wrote: > In the first testcase below, expand_aggr_init_1 sets up t's default > constructor such that the ctor first zero-initializes the entire base b, > followed by calling b's default constructor, the latter of which just > default-initializes the array member b

[PATCH] lto/96385 - avoid unused global UNDEFs in debug objects

2020-08-03 Thread Richard Biener
Unused global UNDEFs can have side-effects in some circumstances so the following patch avoids them by treating them the same as other to be discarded DEFs - make them local. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed to trunk. 2020-08-03 Richard Biener PR lto/96385

Re: [committed] libstdc++: Constrain reverse_iterator and move_iterator conversions [LWG 3435]

2020-08-03 Thread Jonathan Wakely via Gcc-patches
On 01/08/20 00:49 +0200, Martin Jambor wrote: Hi Jonathan, On Wed, Jul 22 2020, Jonathan Wakely via Gcc-patches wrote: libstdc++-v3/ChangeLog: * include/bits/stl_iterator.h (reverse_iterator): Constrain converting constructor and converting assignment operator. Access s

Re: [PATCH] aarch64: Add A64FX machine model

2020-08-03 Thread Richard Sandiford
Qian Jianhua writes: > This patch add support for Fujitsu A64FX, as the first step of adding > A64FX machine model. > > A64FX is used in FUJITSU Supercomputer PRIMEHPC FX1000, > PRIMEHPC FX700, and supercomputer Fugaku. > The official microarchitecture information of A64FX can be read at > https:/

[committed] doc: Add missing comma after octeontx2f95mm

2020-08-03 Thread Richard Sandiford
Applied to trunk and GCC 10 (which was the first release to support octeontx2f95mm). Richard gcc/ * doc/invoke.texi: Add missing comma after octeontx2f95mm entry. --- gcc/doc/invoke.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/in

Re: [PATCH] fix a typo in tm.texi

2020-08-03 Thread Richard Sandiford
Wei Wentao writes: > This patch fix a typo in tm.texi. Thanks, applied as below. tm.texi is generated from tm.texi.in, so both files need the fix. Richard >From 5e97638b0adfb822d3b156c07da27d41091ce137 Mon Sep 17 00:00:00 2001 From: Wei Wentao Date: Mon, 3 Aug 2020 14:01:42 +0100 Subject: [PA

Re: [PATCH] Use exact=false for vec_safe_grow{,_cleared} functions.

2020-08-03 Thread Richard Biener via Gcc-patches
On Thu, Jul 30, 2020 at 3:22 PM Martin Liška wrote: > > On 7/29/20 3:47 PM, Richard Biener wrote: > > On Tue, Jul 28, 2020 at 12:23 PM Martin Liška wrote: > >> > >> On 7/27/20 1:31 PM, Richard Biener wrote: > >>> No, add gro*_exact variants and replace existing ones with this, then > >>> switch

Re: Ellipsis in varadic macro definitions

2020-08-03 Thread Richard Sandiford
Jonathan Wakely via Gcc writes: > On Mon, 3 Aug 2020 at 11:28, Florian Weimer wrote: >> >> * Jonathan Wakely via Gcc: >> >> > On Sun, 2 Aug 2020 at 15:49, Philip R Brenan via Gcc >> > wrote: >> >> >> >> Hi *GCC*: >> >> >> >> On page: >> >> >> >> https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros

Re: [PATCH PR94442] [AArch64] Redundant ldp/stp instructions emitted at -O3

2020-08-03 Thread Richard Sandiford
xiezhiheng writes: >> -Original Message- >> From: Richard Sandiford [mailto:richard.sandif...@arm.com] >> Sent: Friday, July 31, 2020 5:03 PM >> To: xiezhiheng >> Cc: Richard Biener ; gcc-patches@gcc.gnu.org >> Subject: Re: [PATCH PR94442] [AArch64] Redundant ldp/stp instructions >> emitt

Re: [PATCH v5] dse: Remove partial load after full store for high part access[PR71309]

2020-08-03 Thread Richard Sandiford
luoxhu writes: > Thanks, the v5 update as comments: > 1. Move const_rhs shift out of loop; > 2. Iterate from int size for read_mode. > > > This patch could optimize(works for char/short/int/void*): > > 6: r119:TI=[r118:DI+0x10] > 7: [r118:DI]=r119:TI > 8: r121:DI=[r118:DI+0x8] > > => > > 6: r119

Re: [PATCH PR95696] regrename creates overlapping register allocations for vliw

2020-08-03 Thread Richard Sandiford
"Yangfei (Felix)" writes: > Hi Richard, > > Thanks for reviewing this fix and the detailed suggestions : -) > Looks like my colleague Yunde was having some issue setting up his local > repo. > I have prepared one for him. Attached please find the patch. > Bootstrapped and tested

Re: [PATCH] Add C++2a synchronization support

2020-08-03 Thread Jonathan Wakely via Gcc-patches
On 05/06/20 17:29 -0700, Thomas Rodgers wrote: diff --git a/libstdc++-v3/include/bits/semaphore_base.h b/libstdc++-v3/include/bits/semaphore_base.h new file mode 100644 index 000..f0c4235d91c --- /dev/null +++ b/libstdc++-v3/include/bits/semaphore_base.h @@ -0,0 +1,272 @@ +// -*- C++ -*-

[PATCH] c++: Member initializer list diagnostic locations [PR94024]

2020-08-03 Thread Patrick Palka via Gcc-patches
This patch preserves the source locations of each node in a member initializer list so that during processing of the list we can set input_location appropriately for generally more accurate diagnostic locations. Since TREE_LIST nodes are tcc_exceptional, they can't have source locations, so we ins

RE: [PATCH] driver: Fix several memory leaks

2020-08-03 Thread Alex Coplan
Ping. > -Original Message- > From: Jit On Behalf Of Alex Coplan > Sent: 14 July 2020 10:08 > To: gcc-patches@gcc.gnu.org; j...@gcc.gnu.org > Subject: [PATCH] driver: Fix several memory leaks > > Updating the subject since this is really just a driver change (and > therefore needs a revie

[committed] MSP430: Don't pass redundant -md option to the assembler

2020-08-03 Thread Jozef Lawrynowicz
The MSP430 GAS option "-md" is supposed to indicate that the CRT startup code should copy data from ROM to RAM at startup. However, this option has no effect; GAS handles the related behaviour automatically. Lightly regtested on trunk by running dg.exp with and without -mlarge. Committed as obvio

Re: [PATCH] c++: Member initializer list diagnostic locations [PR94024]

2020-08-03 Thread Jason Merrill via Gcc-patches
On 8/3/20 10:14 AM, Patrick Palka wrote: This patch preserves the source locations of each node in a member initializer list so that during processing of the list we can set input_location appropriately for generally more accurate diagnostic locations. Since TREE_LIST nodes are tcc_exceptional,

Re: [PATCH] c++: cxx_eval_vec_init after zero initialization [PR96282]

2020-08-03 Thread Jason Merrill via Gcc-patches
On 8/3/20 8:53 AM, Patrick Palka wrote: On Mon, 3 Aug 2020, Patrick Palka wrote: In the first testcase below, expand_aggr_init_1 sets up t's default constructor such that the ctor first zero-initializes the entire base b, followed by calling b's default constructor, the latter of which just def

Re: [PATCH] c: Fix bogus vector initialisation error [PR96377]

2020-08-03 Thread Richard Sandiford
Jakub Jelinek writes: > On Mon, Aug 03, 2020 at 01:26:34PM +0200, Andreas Schwab wrote: >> On Jul 31 2020, Richard Sandiford wrote: >> >> >* gcc.dg/pr96377-1.c: New test. >> >* gcc.dg/pr96377-2.c: Likewise. >> >> Excess errors: >> /daten/gcc/gcc-20200801/gcc/testsuite/gcc.dg/pr96377-2.c:

[Patch] OpenMP: Handle cpp_implicit_alias in declare-target discovery (PR96390)

2020-08-03 Thread Tobias Burnus
It turned out that the omp_discover_declare_target_tgt_fn_r discovered all nodes – but as it tagged the C++ alias nodes and not the streamed-out nodes, no device function was created and one got link errors if offloading devices were configured. (Only with -O0 as otherwise inlining happened.) (Te

Re: [PATCH PR96366][AARCH64] Add support for unpacked vector sub

2020-08-03 Thread Richard Sandiford
bule writes: > Hi, > > The test case bb-slp-20.c in the gcc testsuit will cause an ICE in the expand > pass due to the lack of a pattern for subtraction of the VNx2SI mode. I think > the problem has been fully discussed on PR 96366. > > The attached file is the patch to solve this problem. Boot

Re: PING [Patch][Middle-end]Add -fzero-call-used-regs=[skip|used-gpr|all-gpr|used|all]

2020-08-03 Thread Qing Zhao via Gcc-patches
Hi, Uros, Thanks a lot for your review on X86 parts. Hi, Richard, Could you please take a look at the middle-end part to see whether the rewritten addressed your previous concern? Thanks a lot. Qing > On Jul 31, 2020, at 12:57 PM, Uros Bizjak wrote: > > > 22:05, tor., 28. jul. 2020 je os

*PING* – Re: [Patch] OpenMP: Fix tmp-var handling with tree-nested.c [PR93553]

2020-08-03 Thread Tobias Burnus
On 7/20/20 11:20 PM, Tobias Burnus wrote: On 7/20/20 9:12 PM, Jakub Jelinek wrote: I don't like this global variable. Can you please instead stick it into struct nesting_info and make sure it is cleared where it is allocated? Done. The existing code uses struct nesting_info *info = XCNEW (s

[pushed] PR tree-optimization/96430: Avoid shifting by amounts larger than target int in irange self-tests.

2020-08-03 Thread Aldy Hernandez via Gcc-patches
Fixes PR. Pushed. commit 6c4763fa5b55f6e883ed7077b67c6175c2da63d1 Author: Aldy Hernandez Date: Mon Aug 3 18:30:30 2020 +0200 Avoid shifting by amounts larger than target int in irange self-tests. gcc/ChangeLog: PR tree-optimization/96430 * range-op.cc

Re: [PATCH wwwdocs] Explicitly list powerpc64le-unknown-linux-gnu as a primary platform

2020-08-03 Thread David Edelsohn via Gcc-patches
On Mon, Jul 13, 2020 at 8:06 AM Florian Weimer wrote: > > The intent was that this was implied by powerpc64-unknown-linux-gnu, > but this not very obvious because of the ELFv1 vs ELFv2 ABI > differences. It's okay to _add_ PPC64LE without removing PPC64. This is okay. I'm not certain why it's u

Re: libgo patch committed: Update to go1.15rc1

2020-08-03 Thread Ian Lance Taylor via Gcc-patches
On Sun, Aug 2, 2020 at 12:50 AM Andreas Schwab wrote: > > This breaks ia64-linux. According to > arch/ia64/kernel/syscalls/syscall.tbl, the getrandom syscall is 315 and > copy_file_range is 323. > > ../../../libgo/go/internal/syscall/unix/copy_file_range_linux.go:13:42: > error: reference to und

Re: libgo patch committed: Update to go1.15rc1

2020-08-03 Thread Andreas Schwab
On Aug 03 2020, Ian Lance Taylor wrote: > On Sun, Aug 2, 2020 at 12:50 AM Andreas Schwab wrote: >> >> This breaks ia64-linux. According to >> arch/ia64/kernel/syscalls/syscall.tbl, the getrandom syscall is 315 and >> copy_file_range is 323. >> >> ../../../libgo/go/internal/syscall/unix/copy_file

Re: *PING* – Re: [Patch] OpenMP: Fix tmp-var handling with tree-nested.c [PR93553]

2020-08-03 Thread Jakub Jelinek via Gcc-patches
On Mon, Aug 03, 2020 at 06:01:40PM +0200, Tobias Burnus wrote: > On 7/20/20 11:20 PM, Tobias Burnus wrote: > > On 7/20/20 9:12 PM, Jakub Jelinek wrote: > > > I don't like this global variable. > > > Can you please instead stick it into struct nesting_info and make > > > sure it is > > > cleared whe

Re: libgo patch committed: Update to go1.15rc1

2020-08-03 Thread Ian Lance Taylor via Gcc-patches
On Mon, Aug 3, 2020 at 10:28 AM Andreas Schwab wrote: > > On Aug 03 2020, Ian Lance Taylor wrote: > > > On Sun, Aug 2, 2020 at 12:50 AM Andreas Schwab > > wrote: > >> > >> This breaks ia64-linux. According to > >> arch/ia64/kernel/syscalls/syscall.tbl, the getrandom syscall is 315 and > >> copy

Re: [PATCH] c++: cxx_eval_vec_init after zero initialization [PR96282]

2020-08-03 Thread Patrick Palka via Gcc-patches
On Mon, 3 Aug 2020, Jason Merrill wrote: > On 8/3/20 8:53 AM, Patrick Palka wrote: > > On Mon, 3 Aug 2020, Patrick Palka wrote: > > > > > In the first testcase below, expand_aggr_init_1 sets up t's default > > > constructor such that the ctor first zero-initializes the entire base b, > > > follow

Re: [PATCH] c++: Member initializer list diagnostic locations [PR94024]

2020-08-03 Thread Patrick Palka via Gcc-patches
On Mon, 3 Aug 2020, Jason Merrill wrote: > On 8/3/20 10:14 AM, Patrick Palka wrote: > > This patch preserves the source locations of each node in a member > > initializer list so that during processing of the list we can set > > input_location appropriately for generally more accurate diagnostic >

Re: [PATCH] Treat { 0 } specially for structs with the designated_init attribute.

2020-08-03 Thread Asher Gordon via Gcc-patches
Hello, Asher Gordon writes: > My copyright assignment finally got finished, so you should be able to > apply my patches now. Is there any reason my patches haven't been applied yet? Is there anything else I need to do? Thanks, Asher -- eek, not another one... Seems ever developer and their

[pushed] Darwin: Handle poly_int machine modes.

2020-08-03 Thread Iain Sandoe
Hi I’ve started looking at the changes to the Darwin port that will be needed to support the AArch64 version of the OS. One of those is that it will be necessary to support poly-int machine modes where the number of coeffs > 1. @richard, as discussed on irc, this removes the ‘IN_TARGET_CODE’ cha

Re: [PATCH] c++: Variable template and template parameter pack [PR96218]

2020-08-03 Thread Marek Polacek via Gcc-patches
On Wed, Jul 29, 2020 at 05:56:56PM -0400, Jason Merrill via Gcc-patches wrote: > On 7/16/20 11:06 AM, Marek Polacek wrote: > > This is DR 2032 which says that the restrictions regarding template > > parameter packs and default arguments apply to variable templates as > > well, but we weren't detect

[pushed] Darwin: Guard two macros in darwin.h.

2020-08-03 Thread Iain Sandoe
Hi Work on the Arm64 port shows that these two macros can be declared ahead of the version in darwin.h which needs to override (for X86 and PPC this wasn't needed). tested across the Darwin range currently supported. pushed to master. thanks Iain gcc/ChangeLog: * config/darwin.h (ASM_DE

Re: [PATCH] c++: cxx_eval_vec_init after zero initialization [PR96282]

2020-08-03 Thread Jason Merrill via Gcc-patches
On 8/3/20 2:45 PM, Patrick Palka wrote: On Mon, 3 Aug 2020, Jason Merrill wrote: On 8/3/20 8:53 AM, Patrick Palka wrote: On Mon, 3 Aug 2020, Patrick Palka wrote: In the first testcase below, expand_aggr_init_1 sets up t's default constructor such that the ctor first zero-initializes the enti

Re: [PATCH] c++: Variable template and template parameter pack [PR96218]

2020-08-03 Thread Jason Merrill via Gcc-patches
On 8/3/20 2:58 PM, Marek Polacek wrote: On Wed, Jul 29, 2020 at 05:56:56PM -0400, Jason Merrill via Gcc-patches wrote: On 7/16/20 11:06 AM, Marek Polacek wrote: This is DR 2032 which says that the restrictions regarding template parameter packs and default arguments apply to variable templates

Re: [PATCH] CSKY: Add -mfloat-abi= option.

2020-08-03 Thread Joseph Myers
My glibc bot is showing the build of libgcc for csky-linux-gnuabiv2 (configured --with-float=hard --disable-multilib) has recently broken, likely from this change. https://sourceware.org/pipermail/libc-testresults/2020q3/006566.html The errors are of the form: /tmp/cc7H0Zu7.s: Assembler messag

docs: refer to c++20

2020-08-03 Thread Nathan Sidwell
I noticed a bunch of references to c++2a. fixed thusly gcc/ * doc/invoke.texi: Refer to c++20 nathan -- Nathan Sidwell diff --git i/gcc/doc/invoke.texi w/gcc/doc/invoke.texi index eb73f306051..4aa492452ae 100644 --- i/gcc/doc/invoke.texi +++ w/gcc/doc/invoke.texi @@ -283

Re: [PATCH] c++: Member initializer list diagnostic locations [PR94024]

2020-08-03 Thread Jason Merrill via Gcc-patches
On 8/3/20 2:49 PM, Patrick Palka wrote: On Mon, 3 Aug 2020, Jason Merrill wrote: On 8/3/20 10:14 AM, Patrick Palka wrote: This patch preserves the source locations of each node in a member initializer list so that during processing of the list we can set input_location appropriately for genera

Re: [PATCH] Treat { 0 } specially for structs with the designated_init attribute.

2020-08-03 Thread Joseph Myers
On Mon, 3 Aug 2020, Asher Gordon via Gcc-patches wrote: > Hello, > > Asher Gordon writes: > > > My copyright assignment finally got finished, so you should be able to > > apply my patches now. > > Is there any reason my patches haven't been applied yet? Is there > anything else I need to do?

Re: [PATCH] Add C++2a synchronization support

2020-08-03 Thread Jonathan Wakely via Gcc-patches
On 03/08/20 15:09 +0100, Jonathan Wakely wrote: On 05/06/20 17:29 -0700, Thomas Rodgers wrote: diff --git a/libstdc++-v3/include/bits/semaphore_base.h b/libstdc++-v3/include/bits/semaphore_base.h new file mode 100644 index 000..f0c4235d91c --- /dev/null +++ b/libstdc++-v3/include/bits/s

Re: Ellipsis in varadic macro definitions

2020-08-03 Thread Jonathan Wakely via Gcc-patches
On Mon, 3 Aug 2020 at 14:53, Richard Sandiford wrote: > > Jonathan Wakely via Gcc writes: > > On Mon, 3 Aug 2020 at 11:28, Florian Weimer wrote: > >> > >> * Jonathan Wakely via Gcc: > >> > >> > On Sun, 2 Aug 2020 at 15:49, Philip R Brenan via Gcc > >> > wrote: > >> >> > >> >> Hi *GCC*: > >> >>

[committed] aarch64: Fix up __aarch64_cas16_acq_rel fallback [PR96402]

2020-08-03 Thread Jakub Jelinek via Gcc-patches
Hi! As mentioned in the PR, the fallback path when LSE is unavailable writes incorrect registers to the memory if the previous content compares equal to x0, x1 - it writes copy of x0, x1 from the start of function, but it should write x2, x3. Fixed thusly, bootstrapped/regtested on aarch64-linux

Re: [PATCH] c++: cxx_eval_vec_init after zero initialization [PR96282]

2020-08-03 Thread Patrick Palka via Gcc-patches
On Mon, 3 Aug 2020, Jason Merrill wrote: > On 8/3/20 2:45 PM, Patrick Palka wrote: > > On Mon, 3 Aug 2020, Jason Merrill wrote: > > > > > On 8/3/20 8:53 AM, Patrick Palka wrote: > > > > On Mon, 3 Aug 2020, Patrick Palka wrote: > > > > > > > > > In the first testcase below, expand_aggr_init_1 set

Re: [PATCH] Treat { 0 } specially for structs with the designated_init attribute.

2020-08-03 Thread Asher Gordon via Gcc-patches
Joseph Myers writes: > These patches are on my list for review as and when I get time, if no-one > else gets to them first. I don't believe there is anything else you need > to do at present. Ah, that's fine. I just wanted to make sure you haven't forgotten about it. :-) Thanks, Asher -- R

Re: [PATCH 2/2] rs6000: Define define_insn_and_split to split unspec sldi+or to rldimi

2020-08-03 Thread Segher Boessenkool
On Mon, Aug 03, 2020 at 01:21:21PM +0200, Andreas Schwab wrote: > On Jul 09 2020, Xiong Hu Luo via Gcc-patches wrote: > > > diff --git a/gcc/testsuite/gcc.target/powerpc/vector_float.c > > b/gcc/testsuite/gcc.target/powerpc/vector_float.c > > new file mode 100644 > > index 000..414824ad26

libgcc patch committed: Increase x86_64 split-stack backoff size

2020-08-03 Thread Ian Lance Taylor via Gcc-patches
With the ever increasing number of vector registers, and the use of the xsavec instruction in the dynamic linker trampolines in newer glibc, we need to ensure a lot more space on the stack when using -fsplit-stack. This patch adds 2048 additional bytes to the required stack space with -fsplit-stac

Re: [PATCH v5] dse: Remove partial load after full store for high part access[PR71309]

2020-08-03 Thread Segher Boessenkool
Hi Xiong Hu, Very sorry I notice this only just now... On Mon, Aug 03, 2020 at 02:58:45PM +0800, luoxhu wrote: > --- /dev/null > +++ b/gcc/testsuite/gcc.target/powerpc/pr71309.c > @@ -0,0 +1,33 @@ > +/* { dg-do compile } */ > +/* { dg-require-effective-target powerpc_p9vector_ok } */ This needs

[committed] c++: Remove unused declaration.

2020-08-03 Thread Marek Polacek via Gcc-patches
gcc/cp/ChangeLog: * cp-tree.h (after_nsdmi_defaulted_late_checks): Remove. --- gcc/cp/cp-tree.h | 1 - 1 file changed, 1 deletion(-) diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 1e583efd61d..fc54e6bb9bd 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -6809,7 +6809,6 @@

Re : [PATCH PR96366][AARCH64] Add support for unpacked vector sub

2020-08-03 Thread bule
Thanks for the review and Commit. Regards, Bruce -邮件原件- 发件人: Richard Sandiford [mailto:richard.sandif...@arm.com] 发送时间: 2020年8月3日 23:40 收件人: bule 抄送: gcc-patches@gcc.gnu.org 主题: Re: [PATCH PR96366][AARCH64] Add support for unpacked vector sub bule writes: > Hi, > > The test case bb-s

Re: [PATCH v5] dse: Remove partial load after full store for high part access[PR71309]

2020-08-03 Thread luoxhu via Gcc-patches
On 2020/8/3 22:01, Richard Sandiford wrote: /* Try a wider mode if truncating the store mode to NEW_MODE requires a real instruction. */ if (maybe_lt (GET_MODE_SIZE (new_mode), GET_MODE_SIZE (store_mode)) @@ -1779,6 +1780,25 @@ find_shift_sequence (poly_int64 access_s

[PATCH 0/6] Backport power10 prefixed instruction tests to GCC 10

2020-08-03 Thread Michael Meissner via Gcc-patches
The following 6 patches backport the tests on the master branch that were added to test the new prefixed instructions being added to the Power10 processor. These patches include changes made by David Edelsohn to make the patches work on AIX. I have tested them on a GCC 10 compiler on a little endi

[PATCH 1/6] Backport Power10 paddi/pli tests

2020-08-03 Thread Michael Meissner via Gcc-patches
Backport Power10 paddi/pli tests This backport patch adds test for the PADDI instruction (and the PLI variant) to add or load up 34 bit constants. It has been in the master branch since June, and no changes were needed for GCC 10. Can I check this into the GCC 10 branch? gcc/testsuite/ 2020-08-

[PATCH 2/6] Backport Power10 prefix test for DS/DQ.

2020-08-03 Thread Michael Meissner via Gcc-patches
Backport Power10 prefix test for DS/DQ. This patch adds a test to make sure offsets that are not legal for non-prefixed DS/DQ instructions are legal for a prefixed instruction. This test has been in the master branch since June, and no changes were needed to backport it to GCC 10. Can I check th

[PATCH 3/6] Backport Power10 prefix tests with large offsets.

2020-08-03 Thread Michael Meissner via Gcc-patches
Backport Power10 prefix tests with large offsets. These tests test whether a prefixed instruction is generated if the offset is larger than the 16-bits used by the traditional instructions, but smaller than the 34-bit limit of the prefixed instructions. These tests have been on the master branch

[PATCH 4/6] Backport Power10 PC-relative tests.

2020-08-03 Thread Michael Meissner via Gcc-patches
Backport Power10 PC-relative tests. These tests whether the power10 PC-relative load/store instructions are generated. These tests have been on the master branch since June. No changes were needed to backport them to the GCC 10 branch. Can I check these into the GCC 10 branch? gcc/testsuite/ 2

[PATCH 5/6] Backport power10 prefix no-update test.

2020-08-03 Thread Michael Meissner via Gcc-patches
Backport power10 prefix no-update test. This test insures that we do not try to generate an update format instruction for prefixed load/store instructions. This test has been on the master branch since June, and no changes were needed to backport it to GCC 10. Can I check this patch into the GCC

[PATCH 6/6] Backport power10 prefix stack protect test.

2020-08-03 Thread Michael Meissner via Gcc-patches
Backport power10 prefix stack protect test. This test makes sure whether large stack frames can be handled if the -fstack-protector-stron option was used. This bug was noticed when we tried to build GLIBC for the power10. This test has been on the master branch since June, and not changes were n

Re: [PATCH] [AVX512] [PR87767] Optimize memory broadcast for constant vector under AVX512

2020-08-03 Thread Hongtao Liu via Gcc-patches
Update patch. There are a lot of avx512 define_insns which lack corresponding memory broadcast version, i only add *avx512f_mul3_bcst and *avx512dq_mul3_bcst in this patch. On Fri, Jul 24, 2020 at 10:37 AM Hongtao Liu wrote: > > On Thu, Jul 23, 2020 at 9:53 PM Hongtao Liu wrote: > > > > On Thu,

[PUSHED 0/8] irange API adjustments for various files

2020-08-03 Thread Aldy Hernandez via Gcc-patches
The following patchset adjusts various files for adherence to the irange API. There are no functional changes. The changes are mostly obvious and will be pushed pending tests. No effort was made to improve the existing code. That is, I didn't bend over backwards to convert the code to multi-ran

[PUSHED 2/8] Adjust expr_not_equal_to to use irange API.

2020-08-03 Thread Aldy Hernandez via Gcc-patches
gcc/ChangeLog: * fold-const.c (expr_not_equal_to): Adjust for irange API. --- gcc/fold-const.c | 17 - 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 1324a194995..5d27927f6bf 100644 --- a/gcc/fold-const.c +++ b/gcc/

[PUSHED 1/8] Remove ad-hoc range canonicalization from determine_block_size.

2020-08-03 Thread Aldy Hernandez via Gcc-patches
Anti ranges of ~[MIN,X] are automatically canonicalized to [X+1,MAX], at creation time. There is no need to handle them specially. Tested by adding a gcc_unreachable and bootstrapping/testing. gcc/ChangeLog: * builtins.c (determine_block_size): Remove ad-hoc range canonicalization. ---

[PUSHED 4/8] Adjust op_with_boolean_value_range_p for irange API.

2020-08-03 Thread Aldy Hernandez via Gcc-patches
It seems to me that we should also check for [0,0] and [1,1] in the range, but I am leaving things as is to avoid functional changes. gcc/ChangeLog: * vr-values.c (simplify_using_ranges::op_with_boolean_value_range_p): Adjust for irange API. --- gcc/vr-values.c | 7 --- 1 fi

[PUSHED 3/8] Adjust get_range_info to use the base irange class.

2020-08-03 Thread Aldy Hernandez via Gcc-patches
gcc/ChangeLog: * tree-ssanames.c (get_range_info): Use irange instead of value_range. * tree-ssanames.h (get_range_info): Same. --- gcc/tree-ssanames.c | 2 +- gcc/tree-ssanames.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/tree-ssanames.c b/gcc/tree

[PUSHED 5/8] Adjust vrp_evaluate_conditional for irange API.

2020-08-03 Thread Aldy Hernandez via Gcc-patches
VR_RANGE of [-INF,+INF] is canonicalized to VARYING at creation. That is why the test now becomes varying_p(). gcc/ChangeLog: * vr-values.c (simplify_using_ranges::vrp_evaluate_conditional): Adjust for irange API. --- gcc/vr-values.c | 6 +- 1 file changed, 1 insertion(+), 5

[PUSHED 6/8] Use irange API in test_for_singularity.

2020-08-03 Thread Aldy Hernandez via Gcc-patches
gcc/ChangeLog: * vr-values.c (test_for_singularity): Use irange API. (simplify_using_ranges::simplify_cond_using_ranges_1): Do not special case VR_RANGE. --- gcc/vr-values.c | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gcc/vr-values.c b

[PUSHED 7/8] Adjust simplify_conversion_using_ranges for irange API.

2020-08-03 Thread Aldy Hernandez via Gcc-patches
gcc/ChangeLog: * vr-values.c (simplify_conversion_using_ranges): Convert to irange API. --- gcc/vr-values.c | 11 +++ 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gcc/vr-values.c b/gcc/vr-values.c index e78b25596b0..38c9a657dad 100644 --- a/gcc/vr-values.c +++ b/g

[PUSHED 8/8] Adjust two_valued_val_range_p for irange API.

2020-08-03 Thread Aldy Hernandez via Gcc-patches
gcc/ChangeLog: * vr-values.c (simplify_using_ranges::two_valued_val_range_p): Use irange API. --- gcc/vr-values.c | 31 +-- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/gcc/vr-values.c b/gcc/vr-values.c index 38c9a657dad..2fd4956a2e4 1

Re: [PUSHED 2/8] Adjust expr_not_equal_to to use irange API.

2020-08-03 Thread Richard Biener via Gcc-patches
On Tue, Aug 4, 2020 at 8:37 AM Aldy Hernandez via Gcc-patches wrote: > > gcc/ChangeLog: > > * fold-const.c (expr_not_equal_to): Adjust for irange API. > --- > gcc/fold-const.c | 17 - > 1 file changed, 4 insertions(+), 13 deletions(-) > > diff --git a/gcc/fold-const.c b/gc

Re: [PUSHED 4/8] Adjust op_with_boolean_value_range_p for irange API.

2020-08-03 Thread Richard Biener via Gcc-patches
On Tue, Aug 4, 2020 at 8:39 AM Aldy Hernandez via Gcc-patches wrote: > > It seems to me that we should also check for [0,0] and [1,1] in the > range, but I am leaving things as is to avoid functional changes. > > gcc/ChangeLog: > > * vr-values.c (simplify_using_ranges::op_with_boolean_valu

Re: [PUSHED 5/8] Adjust vrp_evaluate_conditional for irange API.

2020-08-03 Thread Richard Biener via Gcc-patches
On Tue, Aug 4, 2020 at 8:40 AM Aldy Hernandez via Gcc-patches wrote: > > VR_RANGE of [-INF,+INF] is canonicalized to VARYING at creation. > That is why the test now becomes varying_p(). > > gcc/ChangeLog: > > * vr-values.c (simplify_using_ranges::vrp_evaluate_conditional): > Adjust >

Re: [PUSHED 6/8] Use irange API in test_for_singularity.

2020-08-03 Thread Richard Biener via Gcc-patches
On Tue, Aug 4, 2020 at 8:40 AM Aldy Hernandez via Gcc-patches wrote: > > gcc/ChangeLog: > > * vr-values.c (test_for_singularity): Use irange API. > (simplify_using_ranges::simplify_cond_using_ranges_1): Do not > special case VR_RANGE. > --- > gcc/vr-values.c | 13 -