Hi, let's help out your readers

2020-08-11 Thread Andrea Goh
Hello, I’m Andrea, a freelance content writer for personal finance. I wanted to talk to you about contributing an article to your site lemire.me You’ve written about personal finance topics, and it tends to provoke a positive response in your audience. I was thinking I could write another post,

[Committed] IBM Z: Fix PR96308

2020-08-11 Thread Andreas Krebbel via Gcc-patches
For the testcase a symbol with a TLS reloc and an unary minus is being generated. The backend didn't handle this correctly. In s390_cannot_force_const_mem an unary minus on a symbolic constant is rejected now since gas would not allow this. legitimize_tls_address now makes the NEG rtx the outerm

[Committed] IBM Z: Fix PR96456

2020-08-11 Thread Andreas Krebbel via Gcc-patches
The testcase failed because our backend refuses to generate vector compare instructions for signaling operators with -fno-trapping-math -fno-finite-math-only. Bootstrapped and regression tested on s390x. Committed to mainline. gcc/ChangeLog: PR target/96456 * config/s390/s390.h

Re: [RS6000] PR96493, powerpc local call linkage failure

2020-08-11 Thread Alan Modra via Gcc-patches
On Tue, Aug 11, 2020 at 01:30:36PM -0500, Segher Boessenkool wrote: > Either always running or what this patch does will work. But please add > comments what the test case wants to test, That's already in the testcase. /* Test local calls between pcrel and non-pcrel code. The comment go

Re: [PATCH 2/2] PowerPC: Add power10 IEEE 128-bit min/max/cmove.

2020-08-11 Thread Michael Meissner via Gcc-patches
On Tue, Aug 11, 2020 at 08:01:50PM -0500, Segher Boessenkool wrote: > Hi! > > On Tue, Aug 11, 2020 at 12:23:07PM -0400, Michael Meissner wrote: > > + /* See if we can use the ISA 3.1 min/max/compare instructions for IEEE > > + 128-bit floating point. At present, don't worry about doing > >

PING: [PATCH] AArch64: Add if condition in aarch64_function_value [PR96479]

2020-08-11 Thread qiaopeixin
PING this issue. -邮件原件- 发件人: qiaopeixin 发送时间: 2020年8月6日 21:01 收件人: 'gcc-patches@gcc.gnu.org' 抄送: 'richard.sandif...@arm.com' 主题: [PATCH] AArch64: Add if condition in aarch64_function_value [PR96479] Hi, The test case vector-subscript-2.c in the gcc testsuit will report an ICE in the

Re: [PATCH] rs6000: ICE when using an MMA type as a function param

2020-08-11 Thread Segher Boessenkool
On Tue, Aug 11, 2020 at 09:07:40PM -0500, Peter Bergner wrote: > >> + static struct function *fn = NULL; > >> + > >> + /* We do not allow MMA types being used as return values. Only report > >> + the invalid return value usage the first time we encounter it. */ > >> + if (for_return > >> +

Re: [PATCH] rs6000: ICE when using an MMA type as a function param

2020-08-11 Thread Peter Bergner via Gcc-patches
On 8/11/20 9:00 PM, Segher Boessenkool wrote: > Not just params, but return values as well. "Error on MMA types in > function prototype"? Yes, it started out as a function param issue and then while working on this, I decided I better look at what happens when they're used as return values. I'll

Re: [PATCH] rs6000: ICE when using an MMA type as a function param

2020-08-11 Thread Segher Boessenkool
Hi! Not just params, but return values as well. "Error on MMA types in function prototype"? On Sun, Aug 09, 2020 at 10:03:35PM -0500, Peter Bergner wrote: > --- a/gcc/config/rs6000/rs6000-call.c > +++ b/gcc/config/rs6000/rs6000-call.c > @@ -6444,8 +6444,23 @@ machine_mode > rs6000_promote_funct

Re: [PATCH 2/2] PowerPC: Add power10 IEEE 128-bit min/max/cmove.

2020-08-11 Thread Segher Boessenkool
Hi! On Tue, Aug 11, 2020 at 12:23:07PM -0400, Michael Meissner wrote: > + /* See if we can use the ISA 3.1 min/max/compare instructions for IEEE > + 128-bit floating point. At present, don't worry about doing conditional > + moves with different types for the comparison and movement (unl

Re: [PATCH] rs6000: Update powerpc test cases to use -mdejagnu-cpu=.

2020-08-11 Thread Segher Boessenkool
Hi! On Tue, Aug 11, 2020 at 08:22:47AM -0500, Peter Bergner wrote: > I was looking through some POWER10 test cases and noticed that we used > -mcpu=power10 rather than the preferred -mdejagnu-cpu=power10. It is not just *preferred*; things work incorrectly on many systems without it. If all syst

[PATCH] c++: Fixing the wording of () aggregate-init [PR92812]

2020-08-11 Thread Marek Polacek via Gcc-patches
P1975R0 tweaks the static_cast wording: it says that "An expression e can be explicitly converted to a type T if [...] T is an aggregate type having a first element x and there is an implicit conversion sequence from e to the type of x." This already works for classes, e.g.: struct Aggr { int x

Re: [PATCH] emit-rtl.c: Allow splitting of RTX_FRAME_RELATED_P insns?

2020-08-11 Thread Segher Boessenkool
On Tue, Aug 11, 2020 at 07:59:44AM +0100, Richard Sandiford wrote: > >> I agree there's no obvious reason why splitting to a single insn > >> should be rejected but a peephole2 to a single instruction should be OK. > >> And reusing the existing, tried-and-tested code is the way to go. > > > > The o

Re: [PATCH V3] Practical Improvement to libgcc Complex Divide

2020-08-11 Thread Patrick McGehearty via Gcc-patches
2nd ping. Any estimate on when a reviewer might get to this improvement in the accuracy of Complex Divide? I'm happy to supply more info on what testing I've done and details about design decisions. I'd prefer to do that sooner than later as who knows when corporate priority decisions might prev

Re: [PATCH] c++: Improve RANGE_EXPR optimization in cxx_eval_vec_init

2020-08-11 Thread Patrick Palka via Gcc-patches
On Tue, 11 Aug 2020, Jason Merrill wrote: > On 8/10/20 9:21 AM, Patrick Palka wrote: > > On Fri, 7 Aug 2020, Jason Merrill wrote: > > > > > On 8/6/20 1:50 PM, Patrick Palka wrote: > > > > This patch eliminates an exponential dependence in cxx_eval_vec_init on > > > > the array dimension of a VEC_

libgo patch committed: Fix system call numbers for ppc

2020-08-11 Thread Ian Lance Taylor via Gcc-patches
The libgo update to the Go1.15rc1 release accidentally broke the system call numbers used for 32-bit PPC. This patch fixes the problem. This fixes GCC PR 96567. Bootstrapped and ran Go tests on x86_64-pc-linux-gnu. Committed to mainline. Ian 2dda65380ae0b038884ed0e8b30c624486a516c2 diff --git

[Patch 1/5] rs6000, Add 128-bit sign extension support

2020-08-11 Thread Carl Love via Gcc-patches
Segher, Will: Patch 1, adds the sign extension instruction support and corresponding builtins. Carl Love - RS6000 Add 128-bit sign extension support gcc/ChangeLog 2020-08-10 Carl Love * config/rs6000/al

[Patch 5/5] rs6000, Conversions between 128-bit integer and floating point values.

2020-08-11 Thread Carl Love via Gcc-patches
Segher, Will: Patch 5 adds the 128-bit integer to/from 128-floating point conversions. This patch has to invoke the routines to use the 128-bit hardware instructions if on Power 10 or use software routines if running on a pre Power 10 system via the resolve function.

[Patch 2/5] rs6000, 128-bit multiply, divide, modulo, shift, compare

2020-08-11 Thread Carl Love via Gcc-patches
Segher, Will: Patch 2, adds support for divide, modulo, shift, compare of 128-bit integers. The support adds the instruction and builtin support. Carl Love --- rs6000, 128-bit multiply, divide, shift, compare gcc/ChangeLog 2020

[Patch 4/5] rs6000, Test 128-bit shifts for just the int128 type.

2020-08-11 Thread Carl Love via Gcc-patches
Segher, Will: Patch 4 adds 128-bit integer shift instruction support. Carl Love - Test 128-bit shifts for just the int128 type. gcc/ChangeLog 2020-08-10 Carl Love * config/rs6000/altivec.md (altivec_vslq, altiv

[Patch 3/5] rs6000, Add TI to TD (128-bit DFP) and TD to TI support

2020-08-11 Thread Carl Love via Gcc-patches
Segher, Will: Path 3 adds support for converting to/from 128-bit integers and 128-bit decimal floating point formats. Carl Love Add TI to TD (128-bit DFP) and TD to TI support gcc/ChangeLog 2020-08-10 Carl

[Patch 0/5] rs6000, 128-bit Binary Integer Operations

2020-08-11 Thread Carl Love via Gcc-patches
Segher: The following is a five patch series for the 128-bit Binary Integer Operations (RFC 2608). The last patch does the 128-bit integer to 128-bit float to/from conversions. The patch has been reviewed by Michael Meissner to make sure the Floating point 128-mode handling is correct. The patc

Re: [PATCH] c++: Improve RANGE_EXPR optimization in cxx_eval_vec_init

2020-08-11 Thread Jason Merrill via Gcc-patches
On 8/10/20 9:21 AM, Patrick Palka wrote: On Fri, 7 Aug 2020, Jason Merrill wrote: On 8/6/20 1:50 PM, Patrick Palka wrote: This patch eliminates an exponential dependence in cxx_eval_vec_init on the array dimension of a VEC_INIT_EXPR when the RANGE_EXPR optimization applies. This is achieved b

[PR96519] Re: [PATCH][testsuite] Add gcc.dg/ia64-sync-5.c

2020-08-11 Thread Kwok Cheung Yeung
Hello On 06/08/2020 1:23 pm, Tom de Vries wrote: > +static char AC[4]; > +static char init_qi[4] = { -30,-30,-50,-50 }; > +static char test_qi[4] = { -115,-115,25,25 }; > + > +static void > +do_qi (void) > +{ > + if (__sync_val_compare_and_swap(AC+0, -30, -115) != -30) > +abort (); If 'char

Re: [RS6000] PR96493, powerpc local call linkage failure

2020-08-11 Thread Segher Boessenkool
On Tue, Aug 11, 2020 at 12:36:28PM -0500, Peter Bergner wrote: > On 8/11/20 11:35 AM, Segher Boessenkool wrote: > > Hi Alan, > > > > On Tue, Aug 11, 2020 at 06:38:53PM +0930, Alan Modra wrote: > >> This fixes a fail when power10 isn't supported by binutils, and > >> ensures the test isn't run with

[wwwdocs] Update C++ DR table

2020-08-11 Thread Marek Polacek via Gcc-patches
Three new DRs. Pushed. commit 0f4de13033aff42c43e1bbde9a3f7a5a31f33559 Author: Marek Polacek Date: Tue Aug 11 14:17:15 2020 -0400 Update C++ DR table. diff --git a/htdocs/projects/cxx-dr-status.html b/htdocs/projects/cxx-dr-status.html index 5ee13d6d..7c0b9f3e 100644 --- a/htdocs/projec

Re: [PATCH 1/2] PowerPC: Rename min/max/cmove functions.

2020-08-11 Thread Segher Boessenkool
Hi! On Tue, Aug 11, 2020 at 12:22:06PM -0400, Michael Meissner wrote: > (rs6000_emit_p9_fp_minmax,generate_fp_min_max): Rename. Space after comma. "Rename." is never useful (and you should show what is renamed to what). The patch does *not* do the same or similar to the two names inside t

Re: [RS6000] PR96493, powerpc local call linkage failure

2020-08-11 Thread Peter Bergner via Gcc-patches
On 8/11/20 11:35 AM, Segher Boessenkool wrote: > Hi Alan, > > On Tue, Aug 11, 2020 at 06:38:53PM +0930, Alan Modra wrote: >> This fixes a fail when power10 isn't supported by binutils, and >> ensures the test isn't run without power10 hardware or simulation on >> the off chance that power10 insns

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

2020-08-11 Thread Qing Zhao via Gcc-patches
Hi, Alexandre, CC’ing Richard for his comments on this. > On Aug 10, 2020, at 9:39 PM, Alexandre Oliva wrote: >> I think that moving how to zeroing the registers part to each target >> will be a better solution since each target has >> Better idea on how to use the most efficient insns to do th

Re: [PATCH] arm: Clear canary value after stack_protect_test [PR96191]

2020-08-11 Thread Richard Sandiford
Christophe Lyon writes: > On Mon, 10 Aug 2020 at 17:27, Richard Sandiford > wrote: >> >> Christophe Lyon writes: >> > On Wed, 5 Aug 2020 at 16:33, Richard Sandiford >> > wrote: >> >> >> >> The stack_protect_test patterns were leaving the canary value in the >> >> temporary register, meaning tha

Re: [PATCH] testsuite: Fix gcc.target/arm/multilib.exp use of gcc_opts

2020-08-11 Thread Richard Sandiford
Christophe Lyon via Gcc-patches writes: > This patch fixes an incorrect parameter passing for $gcc_opts, which > produces a DejaGnu error: (DejaGnu) proc "gcc_opts" does not exist. Huh, wonder how that went unnoticed for so long… > 2020-08-11 Christophe Lyon > > gcc/testsuite/ >

Re: [RS6000] PR96493, powerpc local call linkage failure

2020-08-11 Thread Segher Boessenkool
Hi Alan, On Tue, Aug 11, 2020 at 06:38:53PM +0930, Alan Modra wrote: > This fixes a fail when power10 isn't supported by binutils, and > ensures the test isn't run without power10 hardware or simulation on > the off chance that power10 insns are emitted in the future for this > testcase. The test

[committed][testsuite] Add missing require-effective-target directives in gcc.dg

2020-08-11 Thread Tom de Vries
Hi, Add some missing require-effect-targets directives (alloca, indirect_jumps, label_values and nonlocal_goto). Tested on nvptx. Committed to trunk. Thanks, - Tom [testsuite] Add missing require-effective-target directives in gcc.dg gcc/testsuite/ChangeLog: * gcc.dg/Warray-bounds-46

[PATCH 2/2] PowerPC: Add power10 IEEE 128-bit min/max/cmove.

2020-08-11 Thread Michael Meissner via Gcc-patches
PowerPC: Add power10 IEEE 128-bit min/max/cmove. This patch adds support for the new ISA 3.1 (power10) xscmp{eq,gt,ge}qp, xsmincqp, and xsmaxcqp instructions for IEEE 128-bit conditional move, minimum, and maximum. gcc/ 2020-08-07 Michael Meissner * config/rs6000/rs6000.c (rs6000_emit

[PATCH 1/2] PowerPC: Rename min/max/cmove functions.

2020-08-11 Thread Michael Meissner via Gcc-patches
PowerPC: Rename min/max/cmove functions. This patch renames some of the functions in rs6000.c that are used to generate floating point scalar minimum, maximum, and conditional move sequences to use a more generic name then _p9. gcc/ 2020-08-07 Michael Meissner * config/rs6000/rs6000.c

[PATCH, 0 of 2] Add support for power10 IEEE 128-bit min, max, and compare

2020-08-11 Thread Michael Meissner via Gcc-patches
These two patches are a reworking of similar patches that I submitted in July. The change in these patches are to rename the functions that generate the minimum, maximum, and compare IEEE 128-bit to produce a mask to use better names, and to rework the comments. In addition, I have changed the tar

[PATCH] correct handling of indices into arrays with elements larger than 1 (PR c++/96511)

2020-08-11 Thread Martin Sebor via Gcc-patches
-Wplacement-new handles array indices and pointer offsets the same: by adjusting them by the size of the element. That's correct for the latter but wrong for the former, causing false positives when the element size is greater than one. In addition, the warning doesn't even attempt to handle arr

Re: [committed] libstdc++: Make Networking TS work without gthreads [PR 89760]

2020-08-11 Thread Jonathan Wakely via Gcc-patches
On 11/08/20 16:38 +0100, Jonathan Wakely wrote: Make the experimental Networking TS code work without std::mutex and std::condition_variable. libstdc++-v3/ChangeLog: PR libstdc++/89760 * include/experimental/executor [!_GLIBCXX_HAS_GTHREADS]: (execution_context::mutex_ty

[committed] libstdc++: Fix failing tests for AIX

2020-08-11 Thread Jonathan Wakely via Gcc-patches
These two tests fail on AIX because defines struct thread in the global namespace (despite it not being a reserved name). That means the using-declaration that adds it to the global namespace causes a redeclaration error. libstdc++-v3/ChangeLog: * testsuite/30_threads/thread/cons/84535.c

[committed] libstdc++: Make net::system_context tag type constructor explicit

2020-08-11 Thread Jonathan Wakely via Gcc-patches
libstdc++-v3/ChangeLog: * include/experimental/executor (system_context::a__tag): Make default constructor explicit. Tested powerpc64le-linux. Committed to trunk. commit 2a6918e4fa57edbe0dc326d5f142350b1dd4afd7 Author: Jonathan Wakely Date: Tue Aug 11 16:16:21 2020 libstd

Re: [PATCH] libstdc++: Implement integer-class types as defined in [iterator.concept.winc]

2020-08-11 Thread Patrick Palka via Gcc-patches
On Thu, 7 May 2020, Patrick Palka wrote: > On Mon, 2 Mar 2020, Patrick Palka wrote: > > > On Mon, 24 Feb 2020, Patrick Palka wrote: > > > > > On Mon, 24 Feb 2020, Patrick Palka wrote: > > > > > > > This implements signed and unsigned integer-class types, whose width is > > > > one bit > > > >

[committed] libstdc++: Make Networking TS work without gthreads [PR 89760]

2020-08-11 Thread Jonathan Wakely via Gcc-patches
Make the experimental Networking TS code work without std::mutex and std::condition_variable. libstdc++-v3/ChangeLog: PR libstdc++/89760 * include/experimental/executor [!_GLIBCXX_HAS_GTHREADS]: (execution_context::mutex_type): Define dummy mutex type. (system_cont

[committed] libstdc++: Fix net::system_context stop condition

2020-08-11 Thread Jonathan Wakely via Gcc-patches
libstdc++-v3/ChangeLog: * include/experimental/executor (system_context::_M_run()): Fix predicate. * testsuite/experimental/net/system_context/1.cc: New test. Tested powerpc64le-linux and powerpc-aix, with both --enable-threads and --disable threads. Committed to trunk.

[committed] libstdc++: Fix to compile without gthreads

2020-08-11 Thread Jonathan Wakely via Gcc-patches
libstdc++-v3/ChangeLog: * include/std/stop_token: Check _GLIBCXX_HAS_GTHREADS using #ifdef instead of #if. (stop_token::_S_yield()): Check _GLIBCXX_HAS_GTHREADS before using __gthread_yield. Tested powerpc64le-linux and powerpc-aix, with both --enable-threads and

[committed] libstdc++: Make std::this_thread functions work without gthreads

2020-08-11 Thread Jonathan Wakely via Gcc-patches
The only function in namespace std::this_thread that actually depends on thread support being present is this_thread::get_id(). The other functions (yield, sleep_for and sleep_until) can be defined for targets without gthreads. A small change is needed in std::this_thread::sleep_for which currentl

Re: [PATCH 1/3] vec: add exact argument for various grow functions.

2020-08-11 Thread Martin Sebor via Gcc-patches
On 8/11/20 5:36 AM, Martin Liška wrote: Hello. All right, I did it in 3 steps: 1) - new exact argument is added (no default value) - I tested the on x86_64-linux-gnu and I build all cross targets. 2) set default value of exact = false 3) change places which calculate its own growth to use the

[PATCH] diagnostics: Add new option -fdiagnostics-plain-output

2020-08-11 Thread Lewis Hyatt via Gcc-patches
Hello- Attached is the patch I mentioned in another discussion here: https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551442.html This adds a new option -fdiagnostics-plain-output that currently means the same thing as: -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -

Re: [PATCH] c-family: Fix ICE in get_atomic_generic_size [PR96545]

2020-08-11 Thread Marek Polacek via Gcc-patches
On Tue, Aug 11, 2020 at 10:50:28AM +0200, Jakub Jelinek via Gcc-patches wrote: > Hi! > > As the testcase shows, we would ICE if the type of the first argument of > various atomic builtins was pointer to (non-void) incomplete type, we would > assume that TYPE_SIZE_UNIT must be non-NULL. This patch

[PATCH] rs6000: Update powerpc test cases to use -mdejagnu-cpu=.

2020-08-11 Thread Peter Bergner via Gcc-patches
I was looking through some POWER10 test cases and noticed that we used -mcpu=power10 rather than the preferred -mdejagnu-cpu=power10. I went looking for more tests that were not converted over and came up with the following patch. Ok for trunk? Peter gcc/testsuite/ * g++.dg/ext/spe1.C

[PATCH] testsuite: Fix gcc.target/arm/multilib.exp use of gcc_opts

2020-08-11 Thread Christophe Lyon via Gcc-patches
This patch fixes an incorrect parameter passing for $gcc_opts, which produces a DejaGnu error: (DejaGnu) proc "gcc_opts" does not exist. 2020-08-11 Christophe Lyon gcc/testsuite/ * gcc.target/arm/multilib.exp: Fix parameter passing for gcc_opts. diff --git a/gcc/testsuite/gcc.

Re: [PATCH] arm: Clear canary value after stack_protect_test [PR96191]

2020-08-11 Thread Christophe Lyon via Gcc-patches
On Mon, 10 Aug 2020 at 17:27, Richard Sandiford wrote: > > Christophe Lyon writes: > > On Wed, 5 Aug 2020 at 16:33, Richard Sandiford > > wrote: > >> > >> The stack_protect_test patterns were leaving the canary value in the > >> temporary register, meaning that it was often still in registers on

PING: Fwd: [PATCH] Rewrite get_size_range for irange API.

2020-08-11 Thread Aldy Hernandez via Gcc-patches
-- Forwarded message - From: Aldy Hernandez Date: Thu, Aug 6, 2020, 16:54 Subject: [PATCH] Rewrite get_size_range for irange API. To: Cc: , Aldy Hernandez [Martin, does this sound reasonable to you?] The following patch converts get_size_range to the irange API, thus removing

PING: Fwd: [PATCH] Adjust tree-ssa-strlen.c for irange API.

2020-08-11 Thread Aldy Hernandez via Gcc-patches
-- Forwarded message - From: Aldy Hernandez Date: Tue, Aug 4, 2020, 13:34 Subject: [PATCH] Adjust tree-ssa-strlen.c for irange API. To: Cc: , , Aldy Hernandez This patch adapts the strlen pass to use the irange API. I wasn't able to remove the one annoying use of VR_ANTI_RANGE

PING: Fwd: [PATCH 2/2] Decouple adjust_range_from_scev from vr_values and value_range_equiv.

2020-08-11 Thread Aldy Hernandez via Gcc-patches
-- Forwarded message - From: Aldy Hernandez Date: Tue, Aug 4, 2020, 14:03 Subject: [PATCH 2/2] Decouple adjust_range_from_scev from vr_values and value_range_equiv. To: Cc: , Aldy Hernandez I've abstracted out the parts of the code that had nothing to do with value_range_equiv

PING: Fwd: [PATCH 1/2] Add statement context to get_value_range.

2020-08-11 Thread Aldy Hernandez via Gcc-patches
-- Forwarded message - From: Aldy Hernandez Date: Tue, Aug 4, 2020, 13:55 Subject: [PATCH 1/2] Add statement context to get_value_range. To: Cc: , Aldy Hernandez This is in line with the statement context that we have for get_value() in the substitute_and_fold_engine class. ---

PING: Fwd: [PATCH] Adjust tree-ssa-dom.c for irange API.

2020-08-11 Thread Aldy Hernandez via Gcc-patches
-- Forwarded message - From: Aldy Hernandez Date: Tue, Aug 4, 2020, 13:39 Subject: [PATCH] Adjust tree-ssa-dom.c for irange API. To: Cc: , Aldy Hernandez This patch removes all uses of VR_ANTI_RANGE in DOM. It required minor surgery in the switch handling code. In doing so, I

[PATCH 2/3] vec: default exact = false in grow functions.

2020-08-11 Thread Martin Liška
>From 292532ea9e3d42ca164b9951674c1eccc86a1f11 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 10 Aug 2020 12:01:59 +0200 Subject: [PATCH 2/3] vec: default exect = false in grow functions. gcc/ChangeLog: * vec.h (vec_safe_grow): Change default of exact to false. (vec_safe_grow_cleared

[PATCH 3/3] vec: use inexact growth where possible.

2020-08-11 Thread Martin Liška
>From cc1d41a469d76f2f8e4f44bed788ace77a1c6d62 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 10 Aug 2020 12:09:19 +0200 Subject: [PATCH 3/3] vec: use inexact growth where possible. gcc/ChangeLog: * cfgrtl.c (rtl_create_basic_block): Use default value for growth vector function. * g

[PATCH 1/3] vec: add exact argument for various grow functions.

2020-08-11 Thread Martin Liška
Hello. All right, I did it in 3 steps: 1) - new exact argument is added (no default value) - I tested the on x86_64-linux-gnu and I build all cross targets. 2) set default value of exact = false 3) change places which calculate its own growth to use the default argument I would like to install

Re: [PATCH] expr: Optimize noop copies [PR96539]

2020-08-11 Thread Richard Biener
On August 11, 2020 11:00:14 AM GMT+02:00, Jakub Jelinek wrote: >Hi! > >At GIMPLE e.g. for __builtin_memmove we optimize away (to just the >return >value) noop copies where src == dest, but at the RTL we don't, and as >the >testcase shows, in some cases such copies can appear only at the RTL >leve

Re: [PATCH] tree: Fix up get_narrower [PR96549]

2020-08-11 Thread Richard Biener
On August 11, 2020 10:46:47 AM GMT+02:00, Jakub Jelinek wrote: >Hi! > >My changes to get_narrower to support COMPOUND_EXPRs apparently >used a wrong type for the COMPOUND_EXPRs, while e.g. the rhs >type was unsigned short, the COMPOUND_EXPR got int type as that was the >original type of op. The

Re: [PATCH] x86_64: Use peephole2 to eliminate redundant moves.

2020-08-11 Thread Uros Bizjak via Gcc-patches
On Tue, Aug 11, 2020 at 9:34 AM Roger Sayle wrote: > > > The recent fix for mul_widen_cost revealed an interesting > quirk of ira/reload register allocation on x86_64. As shown in > https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551648.html > for gcc.target/i386/pr71321.c we generate the f

Do not combine PRED_LOOP_GUARD and PRED_LOOP_GUARD_WITH_RECURSION

2020-08-11 Thread Jan Hubicka
Hi, this patch avoids both PRED_LOOP_GUARD and PRED_LOOP_GUARD_WITH_RECURSION to be attached to one edge. We have logic that prevents same predictor to apply to one edge twice, but since we split LOOP_GUARD to two more specialized cases, this no longer fires. Double prediction happens in exchange

Re: [PATCH] [PR target/96350]Force ENDBR immediate into memory to avoid fake ENDBR opcode.

2020-08-11 Thread Uros Bizjak via Gcc-patches
On Tue, Aug 11, 2020 at 11:36 AM Hongtao Liu wrote: > > On Tue, Aug 11, 2020 at 4:38 PM Uros Bizjak wrote: > > > > On Tue, Aug 11, 2020 at 5:30 AM Hongtao Liu wrote: > > > > > > Hi: > > > The issue is described in the bugzilla. > > > Bootstrap is ok, regression test for i386/x86-64 backend i

Re: [PATCH] Add debug counter for IPA bits CP.

2020-08-11 Thread Martin Liška
On 8/11/20 11:04 AM, Jan Hubicka wrote: Looks good to me. Perhaps it would be more systematic to add them to the remaining propagators as well - bugs tends to pop up from time to time related to those. Works for me. @Martin: Can you please add them? Thanks, Martin

Re: [PATCH] [AVX512]For vector compare to mask register, UNSPEC is needed instead of comparison operator [PR96243]

2020-08-11 Thread Hongtao Liu via Gcc-patches
Hi: The issue is described in the bugzilla. Bootstrap is ok, regression test for i386/x86-64 backend is ok. Ok for trunk? ChangeLog gcc/ PR target/96551 * config/i386/sse.md (vec_unpacku_float_hi_v16si): For vector compare to integer mask, don't use gen_rtx_LT , use

Re: [PATCH] [PR target/96350]Force ENDBR immediate into memory to avoid fake ENDBR opcode.

2020-08-11 Thread Hongtao Liu via Gcc-patches
On Tue, Aug 11, 2020 at 4:38 PM Uros Bizjak wrote: > > On Tue, Aug 11, 2020 at 5:30 AM Hongtao Liu wrote: > > > > Hi: > > The issue is described in the bugzilla. > > Bootstrap is ok, regression test for i386/x86-64 backend is ok. > > Ok for trunk? > > > > ChangeLog > > gcc/ > > PR t

Re: [PATCH] PR libstdc++/91620 Implement DR 526 for std::[forward_]list::remove_if/unique

2020-08-11 Thread Jonathan Wakely via Gcc-patches
On 11/08/20 10:11 +0100, Jonathan Wakely wrote: On 27/12/19 11:57 +0100, François Dumont wrote: Here is the patch to extend DR 526 to forward_list and list remove_if and unique. As the adopted pattern is simpler I also applied it to the remove methods.     PR libstdc++/91620     * incl

Re: [PATCH] PR libstdc++/91620 Implement DR 526 for std::[forward_]list::remove_if/unique

2020-08-11 Thread Jonathan Wakely via Gcc-patches
On 27/12/19 11:57 +0100, François Dumont wrote: Here is the patch to extend DR 526 to forward_list and list remove_if and unique. As the adopted pattern is simpler I also applied it to the remove methods.     PR libstdc++/91620     * include/bits/forward_list.tcc (forward_list<>::remove

Re: [RS6000] PR96493, powerpc local call linkage failure

2020-08-11 Thread Alan Modra via Gcc-patches
This fixes a fail when power10 isn't supported by binutils, and ensures the test isn't run without power10 hardware or simulation on the off chance that power10 insns are emitted in the future for this testcase. Bootstrapped etc. OK? PR target/96525 * testsuite/gcc.target/powerpc

Re: [PATCH] Add debug counter for IPA bits CP.

2020-08-11 Thread Jan Hubicka
> Hey. > > I'm debugging PR96482 and it would be handy for me to have a debug counter > for the problematic transformation. > > Ready for master? Looks good to me. Perhaps it would be more systematic to add them to the remaining propagators as well - bugs tends to pop up from time to time relat

[PATCH] expr: Optimize noop copies [PR96539]

2020-08-11 Thread Jakub Jelinek via Gcc-patches
Hi! At GIMPLE e.g. for __builtin_memmove we optimize away (to just the return value) noop copies where src == dest, but at the RTL we don't, and as the testcase shows, in some cases such copies can appear only at the RTL level e.g. from trying to copy an aggregate by value argument to the same loc

[PATCH] c-family: Fix ICE in get_atomic_generic_size [PR96545]

2020-08-11 Thread Jakub Jelinek via Gcc-patches
Hi! As the testcase shows, we would ICE if the type of the first argument of various atomic builtins was pointer to (non-void) incomplete type, we would assume that TYPE_SIZE_UNIT must be non-NULL. This patch diagnoses it instead. And also changes the TREE_CODE != INTEGER_CST check to !tree_fits

[PATCH] tree: Fix up get_narrower [PR96549]

2020-08-11 Thread Jakub Jelinek via Gcc-patches
Hi! My changes to get_narrower to support COMPOUND_EXPRs apparently used a wrong type for the COMPOUND_EXPRs, while e.g. the rhs type was unsigned short, the COMPOUND_EXPR got int type as that was the original type of op. The type of COMPOUND_EXPR should be always the type of the rhs. Fixed thus

Re: [PATCH] [PR target/96350]Force ENDBR immediate into memory to avoid fake ENDBR opcode.

2020-08-11 Thread Uros Bizjak via Gcc-patches
On Tue, Aug 11, 2020 at 5:30 AM Hongtao Liu wrote: > > Hi: > The issue is described in the bugzilla. > Bootstrap is ok, regression test for i386/x86-64 backend is ok. > Ok for trunk? > > ChangeLog > gcc/ > PR target/96350 > * config/i386/i386.c (ix86_legitimate_constant_p): R

[PATCH] x86_64: Use peephole2 to eliminate redundant moves.

2020-08-11 Thread Roger Sayle
The recent fix for mul_widen_cost revealed an interesting quirk of ira/reload register allocation on x86_64. As shown in https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551648.html for gcc.target/i386/pr71321.c we generate the following code that performs unnecessary register shuffling.

[PATCH] Add debug counter for IPA bits CP.

2020-08-11 Thread Martin Liška
Hey. I'm debugging PR96482 and it would be handy for me to have a debug counter for the problematic transformation. Ready for master? Thanks, Martin gcc/ChangeLog: * dbgcnt.def (DEBUG_COUNTER): Add ipa_cp_bits. * ipa-cp.c (ipcp_store_bits_results): Use it when we store known

Re: [PATCH] emit-rtl.c: Allow splitting of RTX_FRAME_RELATED_P insns?

2020-08-11 Thread Richard Sandiford
Segher Boessenkool writes: > On Mon, Aug 10, 2020 at 05:16:15PM +0100, Richard Sandiford wrote: >> Senthil Kumar via Gcc-patches writes: >> > The wiki suggests using post-reload splitters, so that's the >> > direction I took, but I ran into an issue where split_insn >> > bails out early if