Re: [PATCH 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Paul Eggert
On 10/2/20 4:44 PM, Alejandro Colomar wrote: I know, they aren't perfect. But they are still very useful, and don't see a good reason to not document them. "aren't perfect" is an understatement More important, lots of things in GNU C are useful but shouldn't be documented in the man

Re: [PATCH 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Paul, On 2020-10-02 22:19, Paul Eggert wrote: > On 10/2/20 1:03 PM, Alejandro Colomar wrote: >> I know it's not in stdint, >> but I mean that it behaves as any other stdint type. With caveats, of course. > > It doesn't. There's no portable way to use scanf and printf on it. I didn't need

[r11-3633 Regression] FAIL: c-c++-common/spellcheck-reserved.c -std=gnu++98 (test for excess errors) on Linux/x86_64 (-m64 -march=cascadelake)

2020-10-02 Thread sunil.k.pandey via Gcc-patches
On Linux/x86_64, 7ee1c0413e251ff0b6a6d526209ef038b9835320 is the first bad commit commit 7ee1c0413e251ff0b6a6d526209ef038b9835320 Author: Nathan Sidwell Date: Fri Oct 2 11:13:26 2020 -0700 c++: Hash table iteration for namespace-member spelling suggestions caused FAIL:

Re: [patch] Rework CPP_BUILTINS_SPEC for powerpc-vxworks

2020-10-02 Thread Segher Boessenkool
Hi Olivier, On Thu, Oct 01, 2020 at 11:30:55AM +0200, Olivier Hainque wrote: > This change reworks CPP_BUILTINS_SPEC for powerpc-vxworks to > prepare for the upcoming addition of 32 and 64 bit ports for > VxWorks 7r2. Cool, looking forward to it! Your attachment is not quotable (it is

Re: [PATCH] libgccjit: add some reflection functions in the jit C api [PR96889]

2020-10-02 Thread Antoni Boucher via Gcc-patches
Hi. Thanks for the review. I attached the updated patch file. I don't have a copyright assignment, but I'll look at that. On Fri, Oct 02, 2020 at 04:24:26PM -0400, David Malcolm wrote: On Fri, 2020-10-02 at 16:17 -0400, David Malcolm wrote: On Tue, 2020-09-01 at 21:01 -0400, Antoni Boucher via

Re: [PATCH] libstdc++: Diagnose visitors with different return types [PR95904]

2020-10-02 Thread Jonathan Wakely via Gcc-patches
On 29/09/20 19:35 +0300, Ville Voutilainen via Libstdc++ wrote: On Tue, 29 Sep 2020 at 14:20, Jonathan Wakely wrote: I think this is what we want: template constexpr inline __same_types = (is_same_v<_Tp, _Types> && ...); is_same_v is very cheap, it uses the built-in directly, so you

Re: This is my patch for fstream to fix the performance issue on Windows.

2020-10-02 Thread Jonathan Wakely via Gcc-patches
On 01/10/20 03:29 +, sotrdg sotrdg via Libstdc++ wrote: From fb8d644a4c315058af141a3e84fcc083d665c8b9 Mon Sep 17 00:00:00 2001 From: ejsvifq_mabmip Date: Wed, 30 Sep 2020 23:26:47 -0400 Subject: [PATCH] Fix a long term performance issue of fstream on Windows since MSVCRT defines BUFSIZ as

[committed] libstdc++: Change test to work without 64-bit atomics

2020-10-02 Thread Jonathan Wakely via Gcc-patches
This fixes a linker error for older ARM cores without 64-bit atomics. I think the { dg-add-options libatomic } is no longer needed, but it's harmless to keep it there. libstdc++-v3/ChangeLog: * testsuite/29_atomics/atomic_float/value_init.cc: Use float instead of double so that

Re: [committed] libstdc++: Use __libc_single_threaded to optimise atomics [PR 96817]

2020-10-02 Thread Jonathan Wakely via Gcc-patches
On 26/09/20 20:42 +0100, Jonathan Wakely wrote: Glibc 2.32 adds a global variable that says whether the process is single-threaded. We can use this to decide whether to elide atomic operations, as a more precise and reliable indicator than __gthread_active_p. This means that guard variables for

Re: [PATCH] c++: Fix printing of C++20 template parameter object [PR97014]

2020-10-02 Thread Jason Merrill via Gcc-patches
On 10/1/20 5:49 PM, Marek Polacek wrote: No one is interested in the mangled name of the C++20 template parameter object for a class NTTP. So instead of printing required for the satisfaction of ‘positive’ [with T = X<::_ZTAXtl5ratioLin1ELi2EEE>] let's print required for the

[PATCH] PR fortran/97272 - Wrong answer from MAXLOC with character arg

2020-10-02 Thread Harald Anlauf
The generation of the library call for the MINLOC/MAXLOC intrinsic mishandled the optional KIND argument and resulted in a bad argument list passed to the library function. The fix is obvious. Regtested on x86_64-pc-linux-gnu. OK for master? As it technically wrong code, OK for backports?

Re: [PATCH v4 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Paul, On 2020-10-02 22:14, Paul Eggert wrote: > On 10/2/20 11:38 AM, Alejandro Colomar wrote: > >> .I void * >> >> renders with a space in between. > > That's odd, as "man(7)" says "All of the arguments will be printed next > to each other without intervening spaces". I'd play it safe and

Re: [PATCH] libgccjit: add some reflection functions in the jit C api

2020-10-02 Thread David Malcolm via Gcc-patches
On Fri, 2020-10-02 at 16:17 -0400, David Malcolm wrote: > On Tue, 2020-09-01 at 21:01 -0400, Antoni Boucher via Jit wrote: > > Hello. > > This WIP patch implements new reflection functions in the C API as > > mentioned in bug 96889. > > I'm looking forward for feedbacks on this patch. > > It's

Re: [PATCH 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Paul Eggert
On 10/2/20 1:03 PM, Alejandro Colomar wrote: I know it's not in stdint, but I mean that it behaves as any other stdint type. It doesn't. There's no portable way to use scanf and printf on it. You can't reliably convert it to intmax_t. It doesn't have the associated _MIN and _MAX macros that

Re: [PATCH] libgccjit: add some reflection functions in the jit C api

2020-10-02 Thread David Malcolm via Gcc-patches
On Tue, 2020-09-01 at 21:01 -0400, Antoni Boucher via Jit wrote: > Hello. > This WIP patch implements new reflection functions in the C API as > mentioned in bug 96889. > I'm looking forward for feedbacks on this patch. > It's WIP because I'll probably add a few more reflection functions. >

Re: [PATCH v4 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Paul Eggert
On 10/2/20 11:38 AM, Alejandro Colomar wrote: .I void * renders with a space in between. That's odd, as "man(7)" says "All of the arguments will be printed next to each other without intervening spaces". I'd play it safe and quote the arg anyway. > %p works with any object pointer type

Re: [PATCH 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Paul, On 2020-10-02 21:54, Paul Eggert wrote: > On 10/2/20 12:01 PM, Alejandro Colomar wrote: >> If you propose not to document the stdint types either, > > This is not a stdint.h issue. __int128 is not in stdint.h and is not a > system data type in any real sense; it's purely a compiler

Re: [PATCH 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Paul Eggert
On 10/2/20 12:01 PM, Alejandro Colomar wrote: If you propose not to document the stdint types either, This is not a stdint.h issue. __int128 is not in stdint.h and is not a system data type in any real sense; it's purely a compiler issue. Besides, do we start repeating the GCC manual too,

[PATCH v5 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about generic function parameters and return value Reported-by: Paul Eggert Reported-by: David Laight Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about pointer artihmetic Reported-by: Paul

[PATCH v5 2/2] void.3: New link to system_data_types(7)

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man3/void.3 | 1 + 1 file changed, 1 insertion(+) create mode 100644 man3/void.3 diff --git a/man3/void.3 b/man3/void.3 new file mode 100644 index 0..db50c0f09 --- /dev/null +++ b/man3/void.3 @@ -0,0 +1 @@ +.so man7/system_data_types.7 -- 2.28.0

[PATCH v5 0/2] Document 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Michael, Here I added a wfix fixing some wording issues and a few typos spotted by Paul and Jonathan in the (many) threads. As previously, it is squashed into a single commit. Thanks again for those who reviewed the patch! BTW, for those who don't have a local repo of the man-pages, below

c++: Kill DECL_ANTICIPATED

2020-10-02 Thread Nathan Sidwell
Here's the patch to remove DECL_ANTICIPATED, and with it hiddenness is managed entirely in the symbol table. Sadly I couldn't get rid of the actual field without more investigation -- it's repurposed for OMP_PRIVATIZED_MEMBER. It looks like a the VAR-related flags in lang_decl_base are not

Re: [PATCH 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Paul, On 2020-10-02 19:52, Paul Eggert wrote: Why describe __int128_t in these man pages at all? __int128_t is not a property of either the kernel or of glibc, so it's out of scope. Well, as I see it, [unsigned] __int128 is as good as [u]int64_t. They are part of the C interface in Linux.

Re: [PATCH] calls.c:can_implement_as_sibling_call_p REG_PARM_STACK_SPACE check

2020-10-02 Thread Segher Boessenkool
Hi! On Fri, Oct 02, 2020 at 04:41:05PM +0930, Alan Modra wrote: > This moves an #ifdef block of code from calls.c to > targetm.function_ok_for_sibcall. Only two targets, x86 and rs6000, > define REG_PARM_STACK_SPACE or OUTGOING_REG_PARM_STACK_SPACE macros > that might vary depending on the

Re: [PATCH v4 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Paul, On 2020-10-02 18:53, Paul Eggert wrote: > On 10/2/20 8:14 AM, Alejandro Colomar wrote: > >> +.I void * > > GNU style is a space between "void" and "*", so this should be '.I > "void\ *"', both here and elsewhere. The backslash prevents a line break. .I void * renders with a space in

c++: Hash table iteration for namespace-member spelling suggestions

2020-10-02 Thread Nathan Sidwell
For 'no such binding' errors, we iterate over binding levels to find a close match. At the namespace level we were using DECL_ANTICIPATED to skip undeclared builtins. But (a) there are other unnameable things there and (b) decl-anticipated is about to go away. This changes the namespace

Re: [rs6000] Avoid useless masking of count operand for rotation

2020-10-02 Thread Segher Boessenkool
Hi Eric, On Fri, Oct 02, 2020 at 10:26:24AM +0200, Eric Botcazou wrote: > > Don't call it "mask" please: *all* of our basic rotate instructions > > already have something called "mask" (that is the "m" in "rlwnm" for > > example; and "rotlw d,a,b" is just an extended mnemonic for > > "rlwnm

Re: [PATCH 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Paul Eggert
Why describe __int128_t in these man pages at all? __int128_t is not a property of either the kernel or of glibc, so it's out of scope.

Re: [Patch] libgomp: Add, if existing, -latomic to libgomp.spec --as-needed (was: Re: [RFC] Offloading and automatic linking of libraries)

2020-10-02 Thread Jakub Jelinek via Gcc-patches
On Fri, Oct 02, 2020 at 05:33:13PM +, Joseph Myers wrote: > On Fri, 2 Oct 2020, Tobias Burnus wrote: > > > However, this flag can be added into the offload-target's libgomp.spec, > > which avoids all kind of issues. That's what this patch now does. > > > > I tested it with x86_64-gnu-linux

Re: [Patch] libgomp: Add, if existing, -latomic to libgomp.spec --as-needed (was: Re: [RFC] Offloading and automatic linking of libraries)

2020-10-02 Thread Joseph Myers
On Fri, 2 Oct 2020, Tobias Burnus wrote: > However, this flag can be added into the offload-target's libgomp.spec, > which avoids all kind of issues. That's what this patch now does. > > I tested it with x86_64-gnu-linux w/o + w/ nvptx-none. Result: > * x86_64-gnu-linux's libgomp.spec: >

Re: [PATCH] Fix build of ppc64 target.

2020-10-02 Thread Segher Boessenkool
On Fri, Oct 02, 2020 at 10:46:12AM +0200, Aldy Hernandez wrote: > On 10/2/20 2:17 AM, David Edelsohn wrote: > >On Thu, Oct 1, 2020 at 8:02 PM Andrew MacLeod wrote: > >Thanks for investigating. And I definitely am not suggesting that you > >delay the great progress on Ranger to flatten and

*PING^2* [PATCH] doc: gcc.c: Update documentation for spec files

2020-10-02 Thread Armin Brauns via Gcc-patches
On 06/09/2020 17.23, Armin Brauns wrote: > There were some differences between the actual code in do_spec_1, its > source comment, and the documentation in doc/invoke.texi. These should > now be resolved. PING: https://gcc.gnu.org/pipermail/gcc-patches/2020-September/553321.html

[PATCH 6/6] Hybrid EVRP

2020-10-02 Thread Andrew MacLeod via Gcc-patches
The patch switches to a hybrid EVRP pass which utilizes both the Ranger and the classic EVRP pass. it introduces a new undocumented option: -fevrp-mode=   which can be one of the following options evrp-only    : This is classic EVRP mode, identical to whats in trunk now. rvrp-only     : This

[PATCH 5/6] gimple-range

2020-10-02 Thread Andrew MacLeod via Gcc-patches
This is the ranger component that pulls all the others bits together. Its API is basically the range_query we've already pushed into the compiler. The main ones a client are likely to use are bool range_of_stmt (irange , gimple *, tree name = NULL) bool range_of_expr (irange , tree name,

[PATCH 4/6] gimple-range-cache

2020-10-02 Thread Andrew MacLeod via Gcc-patches
These are the various caches used by the ranger. - non-null-ref :  Tracks non-null pointer dereferences in blocks so we can properly calculate non-null pointer ranges - on entry cache : Block ranges tracks the calucalted values sof ssa-names on entry to each basic block. - global cache: 

[PATCH 3/6] gimple-range-gori

2020-10-02 Thread Andrew MacLeod via Gcc-patches
This is the true core of the ranger. The GORI (Generates Outgoing Range Information) engine contains all the smarts to utilize the functionality provided via range-ops in order to calculate outgoing ranges on an edge, based on the control flow at the exit. It functions *only* at the basic

[PATCH 2/6] gimple-range-edge

2020-10-02 Thread Andrew MacLeod via Gcc-patches
This file produces constant edge ranges.  It provides a class which can be instantiated and will return the range on any edge. This was originally suppose to be trivial, but switches mucked that up :-) There are 2 basic expressions that can result ina  constant range on an edge: Note there is

[PATCH 1/6] Ranger patches.

2020-10-02 Thread Andrew MacLeod via Gcc-patches
This patch set contains the various components that make up a ranger. Ranger files are prefixed by   "gimple-range". gimple-range-cache.{h,cc} :   Various caches used by the ranger. gimple-range-edge.{h,cc} :    Outgoing edge range calculations, particularly switch edge ranges.

Project Ranger Submission / On Demand VRP

2020-10-02 Thread Andrew MacLeod via Gcc-patches
Where to start?   This is the culmination of numerous years work on the ranger for generating accurate on-demand ranges in GCC. There are 2 patch sets as a part of this submission 1)  The ranger &  Enhancements to EVRP 3)  Other passes converted to Ranger There is still some missing

c++: cleanup ctor_omit_inherited_parms [PR97268]

2020-10-02 Thread Nathan Sidwell
ctor_omit_inherited_parms was being somewhat abused. What I'd missed is that it checks for a base-dtor name, before proceeding with the check. But we ended up passing it that during cloning before we'd completed the cloning. It was also using DECL_ORIGIN to get to the in-charge ctor, but we

Re: [PATCH v4 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Paul Eggert
On 10/2/20 8:14 AM, Alejandro Colomar wrote: +.I void * GNU style is a space between "void" and "*", so this should be '.I "void\ *"', both here and elsewhere. The backslash prevents a line break. +Conversions from and to any other pointer type are done implicitly, +not requiring casts at

Re: [PATCH] optimize permutes in SLP, remove vect_attempt_slp_rearrange_stmts

2020-10-02 Thread Richard Sandiford via Gcc-patches
Richard Biener writes: > This introduces a permute optimization phase for SLP which is > intended to cover the existing permute eliding for SLP reductions > plus handling commonizing the easy cases. > > It currently uses graphds to compute a postorder on the reverse > SLP graph and it handles all

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

2020-10-02 Thread Thomas Rodgers
From: Thomas Rodgers Updated patch incorporating latest feedback (revised). Add support for - * atomic_flag::wait/notify_one/notify_all * atomic::wait/notify_one/notify_all * counting_semaphore * binary_semaphore * latch libstdc++-v3/ChangeLog: * include/Makefile.am

Re: Another issue on RS6000 target. Re: One issue with default implementation of zero_call_used_regs

2020-10-02 Thread Qing Zhao via Gcc-patches
> On Oct 1, 2020, at 11:20 AM, Richard Sandiford > wrote: > > Qing Zhao writes: >> Hi, Richard, >> >> To answer the question, which registers should be included in “ALL”. >> I studied X86 hard register set in more details. And also consulted with >> H.J.Lu, And found: >> >> In the

Re: Another issue on RS6000 target. Re: One issue with default implementation of zero_call_used_regs

2020-10-02 Thread Qing Zhao via Gcc-patches
> On Oct 2, 2020, at 10:15 AM, Richard Sandiford > wrote: > > Qing Zhao writes: >>> >>> Going back to the default hook, I guess one option is: >>> >>> rtx zero = CONST0_RTX (reg_raw_mode[regno]); >>> rtx_insn *insn = emit_insn (gen_rtx_SET (regno_reg_rtx[regno], zero)); >>> if

[PATCH v4 2/2] void.3: New link to system_data_types(7)

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man3/void.3 | 1 + 1 file changed, 1 insertion(+) create mode 100644 man3/void.3 diff --git a/man3/void.3 b/man3/void.3 new file mode 100644 index 0..db50c0f09 --- /dev/null +++ b/man3/void.3 @@ -0,0 +1 @@ +.so man7/system_data_types.7 -- 2.28.0

Re: Another issue on RS6000 target. Re: One issue with default implementation of zero_call_used_regs

2020-10-02 Thread Richard Sandiford via Gcc-patches
Qing Zhao writes: >> >> Going back to the default hook, I guess one option is: >> >> rtx zero = CONST0_RTX (reg_raw_mode[regno]); >> rtx_insn *insn = emit_insn (gen_rtx_SET (regno_reg_rtx[regno], zero)); >> if (!valid_insn_p (insn)) >> sorry (…); > > “Sorry” here will tell the user

[PATCH v4 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about generic function parameters and return value Reported-by: Paul Eggert Reported-by: David Laight Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about pointer artihmetic Reported-by: Paul

[PATCH v4 0/2] Document 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Michael, I'm sorry I forgot to increase the version count. And given there are conversations continuing in old threads, you may mix them easily. I'm a bit lost in the emails too. I'll resend the latest patch (identically) as v4 (there's no v3, but this is the 4th time or so, so let's call it

RE: [PATCH][GCC 10] arm: Add support for Neoverse N2 CPU

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
> -Original Message- > From: Alex Coplan > Sent: 02 October 2020 15:49 > To: gcc-patches@gcc.gnu.org > Cc: ni...@redhat.com; Richard Earnshaw ; > Ramana Radhakrishnan ; Kyrylo > Tkachov > Subject: [PATCH][GCC 10] arm: Add support for Neoverse N2 CPU > > This patch backports the

[PATCH][GCC 8] arm: Add support for Neoverse N2 CPU

2020-10-02 Thread Alex Coplan via Gcc-patches
This patch backports the AArch32 support for Arm's Neoverse N2 CPU to GCC 8. Testing: * Bootstrapped and regtested on arm-none-linux-gnueabihf. OK for GCC 8 branch? Thanks, Alex --- gcc/ChangeLog: * config/arm/arm-cpus.in (neoverse-n2): New. * config/arm/arm-tables.opt:

[PATCH][GCC 9] arm: Add support for Neoverse N2 CPU

2020-10-02 Thread Alex Coplan via Gcc-patches
This patch backports the AArch32 support for Arm's Neoverse N2 CPU to GCC 9. Testing: * Bootstrapped and regtested on arm-none-linux-gnueabihf. OK for GCC 9 branch? Thanks, Alex --- gcc/ChangeLog: * config/arm/arm-cpus.in (neoverse-n2): New. * config/arm/arm-tables.opt:

[PATCH][GCC 10] arm: Add support for Neoverse N2 CPU

2020-10-02 Thread Alex Coplan via Gcc-patches
This patch backports the AArch32 support for Arm's Neoverse N2 CPU to GCC 10. Testing: * Bootstrapped and regtested on arm-none-linux-gnueabihf. OK for GCC 10 branch? Thanks, Alex --- gcc/ChangeLog: * config/arm/arm-cpus.in (neoverse-n2): New. * config/arm/arm-tables.opt:

RE: [PATCH] arm: Add missing part number for Neoverse V1

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
> -Original Message- > From: Alex Coplan > Sent: 02 October 2020 15:41 > To: gcc-patches@gcc.gnu.org > Cc: ni...@redhat.com; Richard Earnshaw ; > Ramana Radhakrishnan ; Kyrylo > Tkachov > Subject: [PATCH] arm: Add missing part number for Neoverse V1 > > This patch adds vendor and part

[PATCH] arm: Add missing part number for Neoverse V1

2020-10-02 Thread Alex Coplan via Gcc-patches
This patch adds vendor and part numbers which were missing from the initial entry for Neoverse V1 in AArch32 GCC. OK for trunk and backports to GCC 10 and 9? I believe GCC 8 handles these differently so that will need fixing separately. Thanks, Alex --- gcc/ChangeLog: *

[PATCH][GCC 8] AArch64: Add Neoverse V1 tuning struct

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
Hi all, This GCC 8 patch duplicates the Cortex-A72 tuning struct that's currently used for Neoverse V1 and AARCH64_EXTRA_TUNE_PREFER_ADVSIMD_AUTOVEC tune flag to prefer Advanced SIMD over SVE autovectorisation. Bootstrapped and tested on GCC 8, pushing to the branch. Thanks, Kyrill gcc/

[PATCH][GCC 9] AArch64: Add Neoverse V1 tuning struct

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
Hi all, This GCC 9 patch duplicates the Neoverse N1 tuning struct that's currently used for Neoverse V1 and AARCH64_EXTRA_TUNE_PREFER_ADVSIMD_AUTOVEC tune flag to prefer Advanced SIMD over SVE autovectorisation. Bootstrapped and tested on GCC 9, pushing to the branch. Thanks, Kyrill gcc/

Re: Another issue on RS6000 target. Re: One issue with default implementation of zero_call_used_regs

2020-10-02 Thread Qing Zhao via Gcc-patches
> > Going back to the default hook, I guess one option is: > > rtx zero = CONST0_RTX (reg_raw_mode[regno]); > rtx_insn *insn = emit_insn (gen_rtx_SET (regno_reg_rtx[regno], zero)); > if (!valid_insn_p (insn)) > sorry (…); “Sorry” here will tell the user that the implementation on

[PATCH] AArch64: Add neoversev1_tunings struct

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
Hi all, This patch adds a Neoverse V1-specific tuning struct that currently is just a deduplication of the N1 struct it was using before and specifying the SVE width. This will allow us to tweak Neoverse V1 things in the future as needed. Bootstrapped and tested on aarch64-none-linux-gnu.

Re: [PATCH] options: Save and restore opts_set for Optimization and Target options

2020-10-02 Thread Stefan Schulze Frielinghaus via Gcc-patches
On Fri, Oct 02, 2020 at 10:46:33AM +0200, Jakub Jelinek wrote: > On Wed, Sep 30, 2020 at 03:24:08PM +0200, Stefan Schulze Frielinghaus via > Gcc-patches wrote: > > On Wed, Sep 30, 2020 at 01:39:11PM +0200, Jakub Jelinek wrote: > > > On Wed, Sep 30, 2020 at 01:21:44PM +0200, Stefan Schulze

Re: [PATCH] Add if-chain to switch conversion pass.

2020-10-02 Thread Andrew MacLeod via Gcc-patches
On 10/2/20 9:26 AM, Martin Liška wrote: Yes, you simply get all sorts of conditions that hold when a condition is true, not just those based on the SSA name you put in.  But it occured to me that the use-case is somewhat different - for switch-conversion you want to know whether the test

RE: [PATCH v2][GCC] arm: Add +nomve and +nomve.fp options to -mcpu=cortex-m55

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
Hi Joe, > -Original Message- > From: Gcc-patches On Behalf Of Joe > Ramsay > Sent: 19 August 2020 17:12 > To: gcc-patches@gcc.gnu.org > Subject: [PATCH v2][GCC] arm: Add +nomve and +nomve.fp options to - > mcpu=cortex-m55 > > From: Joe Ramsay > > Hi all, > > This patch rearranges

RE: [PATCH] arm: Remove coercion from scalar argument to vmin & vmax intrinsics

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
Hi Joe, > -Original Message- > From: Gcc-patches On Behalf Of Joe > Ramsay > Sent: 13 August 2020 14:16 > To: Joe Ramsay ; gcc-patches@gcc.gnu.org > Subject: [PATCH] arm: Remove coercion from scalar argument to vmin & > vmax intrinsics > > From: Joe Ramsay > > Hi, > > This patch

Re: Another issue on RS6000 target. Re: One issue with default implementation of zero_call_used_regs

2020-10-02 Thread Qing Zhao via Gcc-patches
> On Oct 1, 2020, at 11:20 AM, Richard Sandiford > wrote: > > Qing Zhao writes: >> Hi, Richard, >> >> To answer the question, which registers should be included in “ALL”. >> I studied X86 hard register set in more details. And also consulted with >> H.J.Lu, And found: >> >> In the

Re: Track access ranges in ipa-modref

2020-10-02 Thread Richard Biener
On Fri, 2 Oct 2020, Jan Hubicka wrote: > Hi, > this patch implements tracking of access ranges. This is only applied when > base pointer is an arugment. Incrementally i will extend it to also track > TBAA basetype so we can disambiguate ranges for accesses to same basetype > (which makes is

[PATCH] optimize permutes in SLP, remove vect_attempt_slp_rearrange_stmts

2020-10-02 Thread Richard Biener
This introduces a permute optimization phase for SLP which is intended to cover the existing permute eliding for SLP reductions plus handling commonizing the easy cases. It currently uses graphds to compute a postorder on the reverse SLP graph and it handles all cases

Re: Perforate fnspec attribute strings

2020-10-02 Thread Richard Biener
On Fri, 2 Oct 2020, Jan Hubicka wrote: > Hi, > as discussed this patch makes return value and arg specifiers to be 2 > characters long and updates (I hope) all fnspec strings. > I also enabled part of the verification (just accepting the fortran bug > with 'R' and 'W' in return value specifiers)

PING [PATCH] x86: Require MMX for __builtin_ia32_maskmovq

2020-10-02 Thread H.J. Lu via Gcc-patches
On Mon, Sep 21, 2020 at 6:09 AM H.J. Lu wrote: > > On Mon, Sep 21, 2020 at 5:54 AM H.J. Lu wrote: > > > > Since "MASKMOVQ mm1, mm2" is an SSE instruction which requires MMX and > > MMX/SSE ISAs are handled separately, make __builtin_ia32_maskmovq require > > MMX instead of SSE. > > > > gcc/ > >

RE: [PATCH 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread David Laight via Gcc-patches
> > +.I void * > > +.RS > > +According to the C language standard, > > +a pointer to any object type may be converted to a pointer to > > +.I void > > +and back. > > +POSIX further requires that any pointer, > > +including pointers to functions, > > +may be converted to a pointer to > > +.I void >

Re: [PATCH] Add if-chain to switch conversion pass.

2020-10-02 Thread Martin Liška
On 9/29/20 10:46 AM, Richard Biener wrote: On Fri, Sep 25, 2020 at 4:05 PM Martin Liška wrote: On 9/24/20 2:41 PM, Richard Biener wrote: On Wed, Sep 2, 2020 at 1:53 PM Martin Liška wrote: On 9/1/20 4:50 PM, David Malcolm wrote: Hope this is constructive Dave Thank you David. All of

Re: [PATCH] Add if-chain to switch conversion pass.

2020-10-02 Thread Martin Liška
On 9/24/20 2:41 PM, Richard Biener wrote: On Wed, Sep 2, 2020 at 1:53 PM Martin Liška wrote: On 9/1/20 4:50 PM, David Malcolm wrote: Hope this is constructive Dave Thank you David. All of them very very useful! There's updated version of the patch. I noticed several functions without a

Re: PING^3 [PATCH] x86: Inline strncmp only with -minline-all-stringops

2020-10-02 Thread Jan Hubicka
> > > diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md > > > index fb677e17817..f3fbed81c4a 100644 > > > --- a/gcc/config/i386/i386.md > > > +++ b/gcc/config/i386/i386.md > > > @@ -18007,7 +18007,13 @@ (define_expand "cmpstrnsi" > > > { > > >rtx addr1, addr2, countreg, align,

PING^3 [PATCH] x86: Add cmpmemsi for -minline-all-stringops

2020-10-02 Thread H.J. Lu via Gcc-patches
On Wed, Sep 16, 2020 at 10:07 PM H.J. Lu wrote: > > On Wed, Aug 19, 2020 at 6:09 AM H.J. Lu wrote: > > > > On Tue, May 19, 2020 at 5:14 AM H.J. Lu wrote: > > > > > > On Tue, May 19, 2020 at 1:48 AM Uros Bizjak wrote: > > > > > > > > On Sun, May 17, 2020 at 7:06 PM H.J. Lu wrote: > > > > > > >

Perforate fnspec attribute strings

2020-10-02 Thread Jan Hubicka
Hi, as discussed this patch makes return value and arg specifiers to be 2 characters long and updates (I hope) all fnspec strings. I also enabled part of the verification (just accepting the fortran bug with 'R' and 'W' in return value specifiers) to get some evidence that the update is complete.

[PATCH][omp, simt] Handle alternative IV

2020-10-02 Thread Tom de Vries
Hi, Consider the test-case libgomp.c/pr81778.c added in this commit, with this core loop (note: CANARY_SIZE set to 0 for simplicity): ... int s = 1; #pragma omp target simd for (int i = N - 1; i > -1; i -= s) a[i] = 1; ... which, given that N is 32, sets a[0..31] to 1. After

Re: [PATCH 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Jonathan Wakely via Gcc-patches
On Fri, 2 Oct 2020 at 13:17, Alejandro Colomar wrote: > > Signed-off-by: Alejandro Colomar > > system_data_types.7: void *: Add info about generic function parameters and > return value > > Reported-by: Paul Eggert > Reported-by: David Laight > Signed-off-by: Alejandro Colomar > >

PING^3 [PATCH] x86: Inline strncmp only with -minline-all-stringops

2020-10-02 Thread H.J. Lu via Gcc-patches
On Wed, Sep 16, 2020 at 10:07 PM H.J. Lu wrote: > > On Wed, Aug 19, 2020 at 6:25 AM H.J. Lu wrote: > > > > On Wed, Jul 15, 2020 at 10:42:27AM -0700, H.J. Lu wrote: > > > Expand strncmp to "repz cmpsb" only with -minline-all-stringops since > > > "repz cmpsb" can be much slower than strncmp

PING: [PATCH] Use the section flag 'o' for __patchable_function_entries

2020-10-02 Thread H.J. Lu via Gcc-patches
On Thu, Feb 6, 2020 at 6:57 PM H.J. Lu wrote: > > This commit in GNU binutils 2.35: > > https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=b7d072167715829eed0622616f6ae0182900de3e > > added the section flag 'o' to .section directive: > > .section

PING: [PATCH] x86: Add

2020-10-02 Thread H.J. Lu via Gcc-patches
On Wed, Sep 23, 2020 at 10:58 AM H.J. Lu wrote: > > For sources which can't use any vector instructions, and > cannot be included for compiler intrinsics: > > $ echo "#include " | gcc -S -O2 -mno-sse -mno-mmx -x c - > In file included from /usr/include/stdlib.h:1013, > from >

Re: [PATCH 4/6] ipa: Multiple predicates for loop properties, with frequencies

2020-10-02 Thread Martin Jambor
Hi, On Wed, Sep 30 2020, Jan Hubicka wrote: >> This patch enhances the ability of IPA to reason under what conditions >> loops in a function have known iteration counts or strides because it >> replaces single predicates which currently hold conjunction of >> predicates for all loops with vectors

[PATCH v2 2/4] __int128.3: New link to system_data_types(7)

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man3/__int128.3 | 1 + 1 file changed, 1 insertion(+) create mode 100644 man3/__int128.3 diff --git a/man3/__int128.3 b/man3/__int128.3 new file mode 100644 index 0..db50c0f09 --- /dev/null +++ b/man3/__int128.3 @@ -0,0 +1 @@ +.so

[PATCH v2 4/4] unsigned-__int128.3: New link to system_data_types(7)

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man3/unsigned-__int128.3 | 1 + 1 file changed, 1 insertion(+) create mode 100644 man3/unsigned-__int128.3 diff --git a/man3/unsigned-__int128.3 b/man3/unsigned-__int128.3 new file mode 100644 index 0..db50c0f09 --- /dev/null +++

[PATCH v2 3/4] system_data_types.7: Add 'unsigned __int128'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man7/system_data_types.7 | 35 +++ 1 file changed, 35 insertions(+) diff --git a/man7/system_data_types.7 b/man7/system_data_types.7 index 5f9aa648f..3cf3f0ec9 100644 --- a/man7/system_data_types.7 +++

[PATCH v2 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man7/system_data_types.7 | 40 1 file changed, 40 insertions(+) diff --git a/man7/system_data_types.7 b/man7/system_data_types.7 index e545aa1a0..5f9aa648f 100644 --- a/man7/system_data_types.7 +++

[PATCH v2 0/4] Document 128-bit types

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Michael, I fixed the stray '"' noticed by Florian. Cheers, Alex Alejandro Colomar (4): system_data_types.7: Add '__int128' __int128.3: New link to system_data_types(7) system_data_types.7: Add 'unsigned __int128' unsigned-__int128.3: New link to system_data_types(7)

[PATCH 2/2] void.3: New link to system_data_types(7)

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar --- man3/void.3 | 1 + 1 file changed, 1 insertion(+) create mode 100644 man3/void.3 diff --git a/man3/void.3 b/man3/void.3 new file mode 100644 index 0..db50c0f09 --- /dev/null +++ b/man3/void.3 @@ -0,0 +1 @@ +.so man7/system_data_types.7 -- 2.28.0

[PATCH 1/2] system_data_types.7: Add 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about generic function parameters and return value Reported-by: Paul Eggert Reported-by: David Laight Signed-off-by: Alejandro Colomar system_data_types.7: void *: Add info about pointer artihmetic Reported-by: Paul

[PATCH 0/2] Document 'void *'

2020-10-02 Thread Alejandro Colomar via Gcc-patches
Hi Michael, As you asked, I squashed. And added the POSIX.1-2008 note too. Thanks for that! Cheers, Alex Alejandro Colomar (2): system_data_types.7: Add 'void *' void.3: New link to system_data_types(7) man3/void.3 | 1 + man7/system_data_types.7 | 80

c++: Simplify __FUNCTION__ creation

2020-10-02 Thread Nathan Sidwell
I had reason to wander into cp_make_fname, and noticed it's the only caller of cp_fname_init. Folding it in makes the code simpler. gcc/cp/ * cp-tree.h (cp_fname_init): Delete declaration. * decl.c (cp_fname_init): Merge into only caller ... (cp_make_fname): ...

Re: [PATCH 1/6] ipa: Bundle vectors describing argument values

2020-10-02 Thread Jan Hubicka
> 2020-09-01 Martin Jambor > > * ipa-prop.h (ipa_auto_call_arg_values): New type. > (class ipa_call_arg_values): Likewise. > (ipa_get_indirect_edge_target): Replaced vector arguments with > ipa_call_arg_values in declaration. Added an overload for >

Re: [PATCH 1/4] system_data_types.7: Add '__int128'

2020-10-02 Thread Florian Weimer via Gcc-patches
* Alejandro Colomar via Libc-alpha: > +the compiler is able to generate efficient code for 128-bit arithmetic". Stray "? > +.PP > +See also the > +.IR intmax_t , > +.IR int N _t I think it's surprising that intmax_t can be smaller than __int128 (and usually is, I think), so that's probably

Re: GCC 10 backports

2020-10-02 Thread Martin Liška
On 10/1/20 9:18 PM, Martin Liška wrote: I'm going to install the following 3 tested backports. Martin ... and one more. Martin >From f97ef0b2dfdad07db3d564b932c7b7373654b7d4 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Fri, 25 Sep 2020 10:53:26 +0200 Subject: [PATCH] GCOV: do not

Re: GCC 9 backports

2020-10-02 Thread Martin Liška
On 10/2/20 12:05 PM, Martin Liška wrote: There are 2 more I've just tested. Martin and one more. Martin >From e204fd5113a4ae92713442555ab4258abd84942a Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Fri, 25 Sep 2020 10:53:26 +0200 Subject: [PATCH] GCOV: do not mangle .gcno files.

[Patch] libgomp: Add, if existing, -latomic to libgomp.spec --as-needed (was: Re: [RFC] Offloading and automatic linking of libraries)

2020-10-02 Thread Tobias Burnus
On 10/2/20 12:55 AM, Joseph Myers wrote: As discussed in bug 81358, I think --as-needed -latomic --no-as-needed should be used by the driver by default (when the compiler is configured with libatomic supported). I make a thinko initially by believing that the '-latomic' has to be specified by

[committed] aarch64: Remove aarch64_sve_pred_dominates_p

2020-10-02 Thread Richard Sandiford via Gcc-patches
In r11-2922, Przemek fixed a post-RA instruction match failure caused by the SVE FP subtraction patterns. This patch applies the same fix to the other patterns. To recap, the issue is around the handling of predication. We want to do two things: - Optimise cases in which a predicate is known to

[PATCH] testsuite: Fix FAIL for older ARM cores

2020-10-02 Thread Jonathan Wakely via Gcc-patches
Since hard-float is not implemented for cores that only support thumb1 (and not thumb2) this test fails for configurations using hard float but older -mcpu settings. gcc/testsuite/ChangeLog: * g++.dg/inherit/thunk10.C: Skip test for arm_hf_eabi if -mthumb doesn't generate thumb2

RE: [PATCH] arm: Make more use of the new mode macros

2020-10-02 Thread Kyrylo Tkachov via Gcc-patches
> -Original Message- > From: Richard Sandiford > Sent: 02 October 2020 11:39 > To: Christophe Lyon > Cc: Kyrylo Tkachov ; Richard Earnshaw > ; Dennis Zhang ; > gcc-patches@gcc.gnu.org; Ramana Radhakrishnan > > Subject: [PATCH] arm: Make more use of the new mode macros > > Christophe

[PATCH] arm: Make more use of the new mode macros

2020-10-02 Thread Richard Sandiford via Gcc-patches
Christophe Lyon writes: > On Tue, 29 Sep 2020 at 12:38, Kyrylo Tkachov wrote: >> >> >> >> > -Original Message- >> > From: Richard Sandiford >> > Sent: 29 September 2020 11:27 >> > To: Kyrylo Tkachov >> > Cc: gcc-patches@gcc.gnu.org; ni...@redhat.com; Richard Earnshaw >> > ; Ramana

Re: [PATCH] libstdc++: Add missing P0896 changes to

2020-10-02 Thread Jonathan Wakely via Gcc-patches
On 01/10/20 10:35 -0400, Patrick Palka via Libstdc++ wrote: I noticed that the following changes from this paper were not yet implemented. Oops, thanks. OK to commit after testing on x86_64-pc-linux-gnu finishes successfully? libstdc++-v3/ChangeLog: * include/bits/stl_iterator.h

[Patch,committed] Re-generate libgomp's Makefile.in with automake 1.15.1

2020-10-02 Thread Tobias Burnus
libgomp's Makefile.in were last re-generated by automake 1.16.1; result: --enable-maintainer-mode now tries to find and use automake-16 when generating that file. Committed as obvious in commit r11-3613-g2fe5a545e09edb4001bbfb74c571c806ebc7cb25 Tobias commit

  1   2   >