Re: The performance data for two different implementation of new security feature -ftrivial-auto-var-init

2021-01-12 Thread Richard Biener
On Tue, 12 Jan 2021, Qing Zhao wrote: > Hi, > > Just check in to see whether you have any comments and suggestions on this: > > FYI, I have been continue with Approach D implementation since last week: > > D. Adding calls to .DEFFERED_INIT during gimplification, expand the > .DEFFERED_INIT

Re: [PATCH] match.pd: Fold (~X | C) ^ D into (X | C) ^ (~D ^ C) if C and D are constants [PR96691]

2021-01-12 Thread Richard Biener
On Wed, 13 Jan 2021, Jakub Jelinek wrote: > Hi! > > These simplifications are only simplifications if the (~D ^ C) or (D ^ C) > expressions fold into constants, but in that case they decrease number of > operations by 1. > > For the first transformation I guess I should add reverse

Re: [PATCH] i386, expand: Optimize also 256-bit and 512-bit permutatations as vpmovzx if possible [PR95905]

2021-01-12 Thread Jakub Jelinek via Gcc-patches
On Wed, Jan 13, 2021 at 08:26:49AM +0100, Richard Biener wrote: > On Wed, 13 Jan 2021, Jakub Jelinek wrote: > > > Hi! > > > > The following patch implements what I've talked about, i.e. to no longer > > force operands of vec_perm_const into registers in the generic code, but let > > each of the

Re: [PATCH] i386, expand: Optimize also 256-bit and 512-bit permutatations as vpmovzx if possible [PR95905]

2021-01-12 Thread Richard Biener
On Wed, 13 Jan 2021, Jakub Jelinek wrote: > Hi! > > The following patch implements what I've talked about, i.e. to no longer > force operands of vec_perm_const into registers in the generic code, but let > each of the (currently 8) targets force it into registers individually, > giving the

[PATCH] match.pd: Fold (~X | C) ^ D into (X | C) ^ (~D ^ C) if C and D are constants [PR96691]

2021-01-12 Thread Jakub Jelinek via Gcc-patches
Hi! These simplifications are only simplifications if the (~D ^ C) or (D ^ C) expressions fold into constants, but in that case they decrease number of operations by 1. For the first transformation I guess I should add reverse simplification when C and D are arbitrary (constants would fold

[PATCH] i386: Add define_insn_and_split patterns for btrl [PR96938]

2021-01-12 Thread Jakub Jelinek via Gcc-patches
Hi! In the following testcase we only optimize f2 and f7 to btrl, although we should optimize that way all of the functions. The problem is the type demotion/narrowing (which is performed solely during the generic folding and not later), without it we see the AND performed in SImode and match it

[PATCH] i386, expand: Optimize also 256-bit and 512-bit permutatations as vpmovzx if possible [PR95905]

2021-01-12 Thread Jakub Jelinek via Gcc-patches
Hi! The following patch implements what I've talked about, i.e. to no longer force operands of vec_perm_const into registers in the generic code, but let each of the (currently 8) targets force it into registers individually, giving the targets better control on if it does that and when and

RE: [COMMITED] MAINTAINERS: Add myself for write after approval

2021-01-12 Thread Qian, Jianhua
> On Wed, Jan 13, 2021 at 02:45:19, Segher Boessenkool wrote: > > Hi! > > On Tue, Jan 12, 2021 at 03:44:22PM +0800, Qian Jianhua wrote: > > ChangeLog: > > > > 2021-01-12 Qian Jianhua > > > > * MAINTAINERS (Write After Approval): Add myself > > Welcome! > > > --- a/MAINTAINERS > > +++

Re: [Ada,FYI] revamp ada.numerics.aux

2021-01-12 Thread Sebastian Huber
Hello Alexandre, On 19/10/2020 13:52, Alexandre Oliva wrote: On Oct 19, 2020, Andreas Schwab wrote: -nostdinc a-nallfl.ads -o a-nallfl.o a-nallfl.ads:48:13: warning: intrinsic binding type mismatch on return value a-nallfl.ads:48:13: warning: intrinsic binding type mismatch on argument 1

Re: Bug fix in ISO_Fortran_binding - unsigned char arrays

2021-01-12 Thread Harris Snyder
Hi everyone, Sorry, my previous email erroneously referred to unsigned chars / uint8_t, when I in fact meant signed chars / int8_t. The actual patch works, but the test case files have ‘unit’ in the file names. I’ll provide a corrected patch tomorrow to fix the file names. Harris

[PATCH] c++: ICE with delayed noexcept and attribute used [PR97966]

2021-01-12 Thread Marek Polacek via Gcc-patches
Another ICE with delayed noexcept parsing, but a bit gnarlier. A function definition marked with __attribute__((used)) ought to be emitted even when it is not referenced in a TU. For a member function template marked with __attribute__((used)) this means that it will be instantiated: in

[PATCH] c++: ICE when late parsing noexcept/NSDMI [PR98333]

2021-01-12 Thread Marek Polacek via Gcc-patches
Since certain members of a class are a complete-class context [class.mem.general]p7, we delay their parsing untile the whole class has been parsed. For instance, NSDMIs and noexcept-specifiers. The order in which we perform this delayed parsing matters; we were first parsing NSDMIs and only they

[PATCH] libstdc++: c++2b, implement WG21 P1679R3

2021-01-12 Thread Paul Fee via Gcc-patches
Add contains member function to basic_string_view and basic_string. The new method is enabled for -std=gnu++20, gnu++2b and c++2b. This allows users to access the method as a GNU extension to C++20. The conditional test may be reduced to "__cplusplus > 202011L" once GCC has a c++2b switch.

Re: [patch] fix -Wformat-diag warnings in rs6000-call.c

2021-01-12 Thread Segher Boessenkool
Hi! On Wed, Jan 13, 2021 at 12:49:42AM +, Joseph Myers wrote: > On Tue, 12 Jan 2021, Segher Boessenkool wrote: > > On Sat, Jan 09, 2021 at 07:44:31PM +0100, Matthias Klose wrote: > > > These warnings, including the suggested fixes are seen on power*-linux > > > builds. > > > > > > warning:

[PATCH] amdgcn: Remove dead code for fixed v0 register

2021-01-12 Thread Julian Brown
This patch removes code to fix the v0 register in gcn_conditional_register_usage that was missed out of the previous patch removing the need for that: https://gcc.gnu.org/pipermail/gcc-patches/2019-November/534284.html Tested with standalone AMD GCN target. I will commit shortly. Julian

[PATCH] amdgcn: Fix exec register live-on-entry to BB in md-reorg

2021-01-12 Thread Julian Brown
This patch fixes a corner case in the AMD GCN md-reorg pass when the EXEC register is live on entry to a BB, and could be clobbered by code inserted by the pass before a use in (e.g.) a different BB. I don't have a standalone test case demonstrating this failure mode, but I did observe it with an

[PATCH] amdgcn: Improve FP division accuracy

2021-01-12 Thread Julian Brown
GCN has a reciprocal-approximation instruction but no hardware divide. This patch adjusts the open-coded reciprocal approximation/Newton-Raphson refinement steps to use fused multiply-add instructions as is necessary to obtain a properly-rounded result, and adds further refinement steps to

[PATCH] amdgcn: Fix subdf3 pattern

2021-01-12 Thread Julian Brown
This patch fixes a typo in the subdf3 pattern that meant it had a non-standard name and thus the compiler would emit a libcall rather than the proper hardware instruction for DFmode subtraction. Tested with standalone AMD GCN target. I will commit shortly. Julian 2021-01-13 Julian Brown

Re: [patch] fix -Wformat-diag warnings in rs6000-call.c

2021-01-12 Thread Joseph Myers
On Tue, 12 Jan 2021, Segher Boessenkool wrote: > On Sat, Jan 09, 2021 at 07:44:31PM +0100, Matthias Klose wrote: > > These warnings, including the suggested fixes are seen on power*-linux > > builds. > > > > warning: misspelled term 'builtin function' in format; use 'bult-in > > function' > >

Re: [PATCH] sh: Remove match_scratch operand test

2021-01-12 Thread Jeff Law via Gcc-patches
On 1/12/21 12:35 PM, Richard Sandiford wrote: > This patch fixes a regression on sh4 introduced by the rtl-ssa stuff. > The port had a pattern: > > (define_insn "movsf_ie" > [(set (match_operand:SF 0 "general_movdst_operand" > "=f,r,f,f,fy, f,m, r,

[PATCH] c++: Always check access during late-parsing of members [PR58993]

2021-01-12 Thread Patrick Palka via Gcc-patches
This patch removes a vestigial use of dk_no_check from cp_parser_late_parsing_for_member, which ideally should have been removed as part of the PR41437 patch that improved access checking inside templates. This allows us to correctly reject f1 and f2 below in the testcase access34.C below

[Patch, RFC] PR fortran/93340 - [8/9/10/11 Regression] fix missed substring simplifications

2021-01-12 Thread Harald Anlauf via Gcc-patches
Dear all, when playing around with the issues exposed by PR93340, particularly visible in the tree dump, I tried to find ways to simplify substrings in those cases where they are eligible as designator, which is required e.g. in DATA statements. Given my limited understanding, I finally arrived

Re: [patch] fix -Wformat-diag warnings in rs6000-call.c

2021-01-12 Thread Segher Boessenkool
Hi! On Sun, Jan 10, 2021 at 02:18:24PM -0700, Martin Sebor wrote: > Symbols/identifiers should be formatted using the appropriate > directives or quoted in %< %>. We do not have a way to mark up the mathematical symbols [], but we do require those to express ranges (which is a bad idea /an

libgo patch committed: Ensure openat uses variadic wrapper

2021-01-12 Thread Ian Lance Taylor via Gcc-patches
This libgo patch by Paul Murphy ensures that openat always uses the variadic libc wrapper. On powerpc64le, not using the wrapper caused a failure in TestUnshareUidGidMapping due to stack corruption which resulted in a bogus execve syscall. This fixes GCC PR 98610. Bootstrapped and ran Go

Re: [patch] fix -Wformat-diag warnings in rs6000-call.c

2021-01-12 Thread Segher Boessenkool
On Sat, Jan 09, 2021 at 07:44:31PM +0100, Matthias Klose wrote: > These warnings, including the suggested fixes are seen on power*-linux builds. > > warning: misspelled term 'builtin function' in format; use 'bult-in function' > instead [-Wformat-diag] This one is wrong. Almost all the

Re: The performance data for two different implementation of new security feature -ftrivial-auto-var-init

2021-01-12 Thread Qing Zhao via Gcc-patches
Hi, Just check in to see whether you have any comments and suggestions on this: FYI, I have been continue with Approach D implementation since last week: D. Adding calls to .DEFFERED_INIT during gimplification, expand the .DEFFERED_INIT during expand to real initialization. Adjusting

[committed] avoid two more ICEs in print_mem_ref (PR c/98597)

2021-01-12 Thread Martin Sebor via Gcc-patches
A recent improvement to MEM_REF formatting introduced a few invalid assumptions that didn't get exposed during testing and ended up causing ICEs in downstream packages and some distress to their maintainers. I have committed the attached patch to remove two of these assumptions and unblock the

Re: [PATCH] libstdc++: implement locale support for AIX

2021-01-12 Thread Rainer Orth
Hi David, >> >> Presumably it could also be tested on GNU/Linux and Solaris, since >> >> they implement the POSIX 2008 APIs needed. >> > >> > I'll give the patch a whirl on Solaris. However, we will need to >> > distinguish between 11.3 (which is XPG6 only) and 11.4 (which support >> > XPG7). >>

[PATCH] sh: Remove match_scratch operand test

2021-01-12 Thread Richard Sandiford via Gcc-patches
This patch fixes a regression on sh4 introduced by the rtl-ssa stuff. The port had a pattern: (define_insn "movsf_ie" [(set (match_operand:SF 0 "general_movdst_operand" "=f,r,f,f,fy, f,m, r, r,m,f,y,y,rf,r,y,<,y,y") (match_operand:SF 1

[PATCH, Fortran] Bug fix in ISO_Fortran_binding - unsigned char arrays

2021-01-12 Thread Harris Snyder
Hi everyone, In a previous email thread (subject: Possible bug re: ISO_Fortran_binding.h) it was determined that there was a bug in ISO_Fortran_binding.c. When attempting to use the ISO Fortran binding from C to create an array of type uint8_t or signed char, a crash would result unless the

Re: [COMMITED] MAINTAINERS: Add myself for write after approval

2021-01-12 Thread Segher Boessenkool
Hi! On Tue, Jan 12, 2021 at 03:44:22PM +0800, Qian Jianhua wrote: > ChangeLog: > > 2021-01-12 Qian Jianhua > > * MAINTAINERS (Write After Approval): Add myself Welcome! > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -451,6 +451,7 @@ Daniel Jacobowitz > Andreas

[PATCH] MAINTAINERS: Fix spacing

2021-01-12 Thread Segher Boessenkool
We indent with tabs, not spaces. This fixes it. Committed. 2021-01-12 Segher Boessenkool * MAINTAINERS: Fix spacing. --- MAINTAINERS | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index e88808f..6ec346c 100644 ---

Re: [PATCH] libstdc++: implement locale support for AIX

2021-01-12 Thread David Edelsohn via Gcc-patches
On Tue, Jan 12, 2021 at 12:41 PM Rainer Orth wrote: > > Hi Jonathan, > > >> On 12/01/21 15:14 +, CHIGOT, CLEMENT wrote: > >>>Hi everyone, > >>> > >>>I've reworked the patch to merged dragonfly and AIX > >>>models into the new one named "ieee_1003.1-2008". > >>>It seems okay on the AIX part

Re: [PATCH] libstdc++: implement locale support for AIX

2021-01-12 Thread Rainer Orth
Hi Jonathan, >> On 12/01/21 15:14 +, CHIGOT, CLEMENT wrote: >>>Hi everyone,  >>> >>>I've reworked the patch to merged dragonfly and AIX >>>models into the new one named "ieee_1003.1-2008".  >>>It seems okay on the AIX part but if someone can test >>>on Dragonfly and Freebsd I would be

Re: [PATCH] libstdc++: implement locale support for AIX

2021-01-12 Thread Jonathan Wakely via Gcc-patches
On 12/01/21 10:44 -0500, David Edelsohn wrote: On Tue, Jan 12, 2021 at 10:25 AM Jonathan Wakely wrote: On 12/01/21 15:14 +, CHIGOT, CLEMENT wrote: >Hi everyone, > >I've reworked the patch to merged dragonfly and AIX >models into the new one named "ieee_1003.1-2008". >It seems okay on the

Re: [PATCH][pushed] gcov: add more debugging facility

2021-01-12 Thread Martin Liška
On 1/12/21 5:27 PM, H.J. Lu wrote: This breaks build on 32-bit hosts: Sorry for that. Should be fixed with: commit 248feb2fa2c0dfc8950566010b30351879c9d057 Author: Martin Liska Date: Tue Jan 12 18:16:05 2021 +0100 gcov: fix printf format for 32-bit hosts gcc/ChangeLog:

[PATCH] Fix typo in function-abi.h

2021-01-12 Thread Andrea Corallo via Gcc-patches
Hi all, just pushed the following as obvious. Regards Andrea >From 1aff68d54c33ae10fbbb52adb50527baf7b2f627 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Tue, 12 Jan 2021 17:52:52 +0100 Subject: [PATCH] Fix typo in function-abi.h gcc/Changelog 2021-01-12 Andrea Corallo

[committed] LRA: patch to fix PR97969

2021-01-12 Thread Vladimir Makarov via Gcc-patches
The following patch fixes   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97969 The patch was successfully bootstrapped on x86-64. [PR97969] LRA: Transform pattern `plus (plus (hard reg, const), pseudo)` after elimination LRA can loop infinitely on targets without `reg + imm` insns. Register

Re: [PATCH][pushed] gcov: add more debugging facility

2021-01-12 Thread H.J. Lu via Gcc-patches
On Tue, Jan 12, 2021 at 3:55 AM Martin Liška wrote: > > The patch is about an extensive debugging facility that I see > beneficial for GCOV issue. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > I'm going to push it. > > Thanks, > Martin > > gcc/ChangeLog: > >

Re: [PATCH] libstdc++: implement locale support for AIX

2021-01-12 Thread Rainer Orth
Hi Clement, > I've reworked the patch to merged dragonfly and AIX > models into the new one named "ieee_1003.1-2008".  > It seems okay on the AIX part but if someone can test > on Dragonfly and Freebsd I would be glad. Configure > needs to be regenerated, first. > > For now, I've used #ifdef

Re: [PATCH] libstdc++: implement locale support for AIX

2021-01-12 Thread Rainer Orth
Hi Jonathan, > On 12/01/21 15:14 +, CHIGOT, CLEMENT wrote: >>Hi everyone,  >> >>I've reworked the patch to merged dragonfly and AIX >>models into the new one named "ieee_1003.1-2008".  >>It seems okay on the AIX part but if someone can test >>on Dragonfly and Freebsd I would be glad. 

Re: [PATCH] libstdc++: implement locale support for AIX

2021-01-12 Thread David Edelsohn via Gcc-patches
On Tue, Jan 12, 2021 at 10:25 AM Jonathan Wakely wrote: > > On 12/01/21 15:14 +, CHIGOT, CLEMENT wrote: > >Hi everyone, > > > >I've reworked the patch to merged dragonfly and AIX > >models into the new one named "ieee_1003.1-2008". > >It seems okay on the AIX part but if someone can test >

Re: [PATCH] libstdc++: implement locale support for AIX

2021-01-12 Thread CHIGOT, CLEMENT via Gcc-patches
> >Hi everyone,  > > > >I've reworked the patch to merged dragonfly and AIX > >models into the new one named "ieee_1003.1-2008".  > >It seems okay on the AIX part but if someone can test > >on Dragonfly and Freebsd I would be glad. Configure > >needs to be regenerated, first. > > Presumably it

Re: [PATCH] libstdc++: implement locale support for AIX

2021-01-12 Thread CHIGOT, CLEMENT via Gcc-patches
> And I don't know for the Changelog/Patch, how renamed > files must be handled ? I've retrieved my git commit with > "git format-patch --no-renames" and thus the Changelog > is made of "Removed" and "New File". Is it okay or is there > anything special to add ? I didn't find the answer

Re: [PATCH] libstdc++: implement locale support for AIX

2021-01-12 Thread Jonathan Wakely via Gcc-patches
On 12/01/21 15:14 +, CHIGOT, CLEMENT wrote: Hi everyone,  I've reworked the patch to merged dragonfly and AIX models into the new one named "ieee_1003.1-2008".  It seems okay on the AIX part but if someone can test on Dragonfly and Freebsd I would be glad. Configure needs to be

Re: [PATCH] libstdc++: implement locale support for AIX

2021-01-12 Thread CHIGOT, CLEMENT via Gcc-patches
Hi everyone,  I've reworked the patch to merged dragonfly and AIX models into the new one named "ieee_1003.1-2008".  It seems okay on the AIX part but if someone can test on Dragonfly and Freebsd I would be glad. Configure needs to be regenerated, first. For now, I've used #ifdef inside the

Re: [PATCH] aarch64 : Mark rotate immediates with '#' as per DDI0487iFc.

2021-01-12 Thread Richard Sandiford via Gcc-patches
Iain Sandoe writes: > Hi Richard, > > Richard Sandiford wrote: > >> Iain Sandoe writes: > >>> The armv8_arm manual [C6.2.226, ROR (immediate)] uses a # in front >>> of the immediate rotation quantity. >>> >>> Although, it seems, GAS is able to infer the # (or is leninent about >>> its absence)

Re: [PATCH] if-to-switch: fix also virtual phis

2021-01-12 Thread Richard Biener via Gcc-patches
) On Tue, Jan 12, 2021 at 3:50 PM Martin Liška wrote: > > Hello. > > As seen in the PR, we need to fix also virtual PHIs, otherwise > TODO_cfg will skip edges for a missing PHI argument. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? OK -

Re: [PATCH] aarch64 : Mark rotate immediates with '#' as per DDI0487iFc.

2021-01-12 Thread Iain Sandoe
Hi Richard, Richard Sandiford wrote: Iain Sandoe writes: The armv8_arm manual [C6.2.226, ROR (immediate)] uses a # in front of the immediate rotation quantity. Although, it seems, GAS is able to infer the # (or is leninent about its absence) assemblers based on the LLVM back end expect

Re: [PATCH] libphobos: Allow building libphobos using Solaris/x86 assembler

2021-01-12 Thread Rainer Orth
Hi Iain, > Having a look, actually I can just use the presence of TEST_OUTPUT to be > a gate for whether to prune all output or not. that's quite nice indeed. > Maybe this can be improved later to extract the contents of TEST_OUTPUT, > but for now, it has caught a few hidden bugs in the tests

[PATCH] if-to-switch: fix also virtual phis

2021-01-12 Thread Martin Liška
Hello. As seen in the PR, we need to fix also virtual PHIs, otherwise TODO_cfg will skip edges for a missing PHI argument. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog: PR tree-optimization/98455 *

Re: make FOR_EACH_IMM_USE_STMT safe for early exits

2021-01-12 Thread Andrew MacLeod via Gcc-patches
On 1/9/21 3:33 PM, Alexandre Oliva wrote: On Jan 7, 2021, Richard Biener wrote: On Wed, Jan 6, 2021 at 12:34 PM Alexandre Oliva wrote: On Jan 4, 2021, Richard Biener wrote: Thus, please remove uses of BREAK_FROM_IMM_USE_STMT together with this patch. And RETURN_FROM_IMM_USE_STMT, I

Re: [PATCH] aarch64 : Mark rotate immediates with '#' as per DDI0487iFc.

2021-01-12 Thread Richard Sandiford via Gcc-patches
Iain Sandoe writes: > Hi, > > The armv8_arm manual [C6.2.226, ROR (immediate)] uses a # in front > of the immediate rotation quantity. > > Although, it seems, GAS is able to infer the # (or is leninent about > its absence) assemblers based on the LLVM back end expect it and error out. > > tested

[PATCH] tree-optimization/98550 - fix BB vect unrolling check

2021-01-12 Thread Richard Biener
This fixes the check that disqualifies BB vectorization because of required unrolling to match up with the later exact_div we do. To not disable the ability to split groups that do not match up exactly with a choosen vector type this also introduces a soft-fail mechanism to vect_build_slp_tree_1

Re: [PATCH] i386, v2: Optimize _mm_unpacklo_epi8 of 0 vector as second argument or similar VEC_PERM_EXPRs into pmovzx [PR95905]

2021-01-12 Thread Uros Bizjak via Gcc-patches
On Tue, Jan 12, 2021 at 2:40 PM Jakub Jelinek wrote: > > On Tue, Jan 12, 2021 at 11:42:44AM +0100, Uros Bizjak via Gcc-patches wrote: > > You can use post-reload define_insn_and_split here. This way, > > gen_lowpart on all arguments, including output, can be used. So, > > instead of generating an

[PATCH] i386, v2: Optimize _mm_unpacklo_epi8 of 0 vector as second argument or similar VEC_PERM_EXPRs into pmovzx [PR95905]

2021-01-12 Thread Jakub Jelinek via Gcc-patches
On Tue, Jan 12, 2021 at 11:42:44AM +0100, Uros Bizjak via Gcc-patches wrote: > You can use post-reload define_insn_and_split here. This way, > gen_lowpart on all arguments, including output, can be used. So, > instead of generating an insn template, the patterns you introduced > should split to

[PATCH][pushed] options: properly compare string arguments

2021-01-12 Thread Martin Liška
Similarly to 7f967bd2a7ba156ede3fbb147e66dea5fb7137a6, we need to compare string with strcmp. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. I'm going to push it as it's the same as what I did in 7f967bd2a7ba156ede3fbb147e66dea5fb7137a6. Martin gcc/ChangeLog:

Re: [PATCH] i386: Optimize _mm_unpacklo_epi8 of 0 vector as second argument or similar VEC_PERM_EXPRs into pmovzx [PR95905]

2021-01-12 Thread Jakub Jelinek via Gcc-patches
On Tue, Jan 12, 2021 at 11:47:48AM +0100, Jakub Jelinek via Gcc-patches wrote: > > OTOH, perhaps some of the new testcases can be handled in x86 > > target_fold_builtin? In the long term, maybe target_fold_shuffle can > > be introduced to map __builtin_shufle to various target builtins, so > > the

[PATCH][pushed] gcov: add more debugging facility

2021-01-12 Thread Martin Liška
The patch is about an extensive debugging facility that I see beneficial for GCOV issue. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. I'm going to push it. Thanks, Martin gcc/ChangeLog: * gcov.c (source_info::debug): New. (print_usage): Add --debug

Re: [PATCH, OpenMP 5.0] Basic support of release/delete clauses on target/target-data directives

2021-01-12 Thread Chung-Lin Tang
On 2021/1/11 6:28 PM, Jakub Jelinek wrote: On Wed, Dec 16, 2020 at 11:06:10PM +0800, Chung-Lin Tang wrote: we have some other sollve_vv tests for OpenMP 5.0, which tests the occurrence of 'delete' map kind on the target directive. That is strange. In OpenMP 5.0, I certainly see the target

[PATCH] alias: Fix offset checks involving section anchors [PR92294]

2021-01-12 Thread Richard Sandiford via Gcc-patches
This is a repost of: https://gcc.gnu.org/pipermail/gcc-patches/2020-February/539763.html which was initially posted during stage 4. (And yeah, I only just missed stage 4 again.) IMO it would be better to fix the bug directly (as the patch tries to do) instead of wait for a more thorough

Re: [PATCH] i386: Optimize _mm_unpacklo_epi8 of 0 vector as second argument or similar VEC_PERM_EXPRs into pmovzx [PR95905]

2021-01-12 Thread Jakub Jelinek via Gcc-patches
On Tue, Jan 12, 2021 at 11:42:44AM +0100, Uros Bizjak wrote: > > The following patch adds patterns (in the end I went with define_insn rather > > than combiner define_split + define_insn_and_split I initially hoped or > > define_insn_and_split) to represent (so far 128-bit only) permutations > >

Re: [PATCH] i386: Optimize _mm_unpacklo_epi8 of 0 vector as second argument or similar VEC_PERM_EXPRs into pmovzx [PR95905]

2021-01-12 Thread Uros Bizjak via Gcc-patches
On Tue, Jan 12, 2021 at 10:33 AM Jakub Jelinek wrote: > > Hi! > > The following patch adds patterns (in the end I went with define_insn rather > than combiner define_split + define_insn_and_split I initially hoped or > define_insn_and_split) to represent (so far 128-bit only) permutations > like

Re: [PATCH] widening_mul: Fix up ICE caused by my signed multiplication overflow pattern recognition changes [PR98629]

2021-01-12 Thread Richard Biener
On Tue, 12 Jan 2021, Jakub Jelinek wrote: > Hi! > > As the testcase shows, my latest changes caused ICE on that testcase. > The problem is that arith_overflow_check_p now can change the use_stmt > argument (has a reference), so that if it succeeds (returns non-zero), > it points it to the

Re: [PATCH] configure, make: Fix up --enable-link-serialization

2021-01-12 Thread Richard Biener
On Tue, 12 Jan 2021, Jakub Jelinek wrote: > Hi! > > As reported by Matthias, --enable-link-serialization=1 can currently start > two concurrent links first (e.g. gnat1 and cc1). > The problem is that make var = value values seem to work differently between > dependencies and actual rules (where

Re: [PATCH] reassoc: Optimize in reassoc x < 0 && y < 0 to (x | y) < 0 etc. [PR95731]

2021-01-12 Thread Richard Biener
On Tue, 12 Jan 2021, Jakub Jelinek wrote: > Hi! > > We already had x != 0 && y != 0 to (x | y) != 0 and > x != -1 && y != -1 to (x & y) != -1 and > x < 32U && y < 32U to (x | y) < 32U, this patch adds signed > x < 0 && y < 0 to (x | y) < 0. In that case, the low/high seem to be > always the

[PATCH] widening_mul: Fix up ICE caused by my signed multiplication overflow pattern recognition changes [PR98629]

2021-01-12 Thread Jakub Jelinek via Gcc-patches
Hi! As the testcase shows, my latest changes caused ICE on that testcase. The problem is that arith_overflow_check_p now can change the use_stmt argument (has a reference), so that if it succeeds (returns non-zero), it points it to the GIMPLE_COND or EQ/NE or COND_EXPR assignment from the

[PATCH] i386: Optimize _mm_unpacklo_epi8 of 0 vector as second argument or similar VEC_PERM_EXPRs into pmovzx [PR95905]

2021-01-12 Thread Jakub Jelinek via Gcc-patches
Hi! The following patch adds patterns (in the end I went with define_insn rather than combiner define_split + define_insn_and_split I initially hoped or define_insn_and_split) to represent (so far 128-bit only) permutations like { 0 16 1 17 2 18 3 19 4 20 5 21 6 22 7 23 } where the second operand

[PATCH] configure, make: Fix up --enable-link-serialization

2021-01-12 Thread Jakub Jelinek via Gcc-patches
Hi! As reported by Matthias, --enable-link-serialization=1 can currently start two concurrent links first (e.g. gnat1 and cc1). The problem is that make var = value values seem to work differently between dependencies and actual rules (where it was tested). As the language make fragments can be

[PATCH] reassoc: Optimize in reassoc x < 0 && y < 0 to (x | y) < 0 etc. [PR95731]

2021-01-12 Thread Jakub Jelinek via Gcc-patches
Hi! We already had x != 0 && y != 0 to (x | y) != 0 and x != -1 && y != -1 to (x & y) != -1 and x < 32U && y < 32U to (x | y) < 32U, this patch adds signed x < 0 && y < 0 to (x | y) < 0. In that case, the low/high seem to be always the same and just in_p indices whether it is >= 0 or < 0, also,

Re: [PATCH] match.pd: Add ~(X - Y) -> ~X + Y simplification [PR96685]

2021-01-12 Thread Richard Biener
On Mon, 11 Jan 2021, Jeff Law wrote: On 1/9/21 5:43 PM, Maciej W. Rozycki wrote: On Mon, 21 Dec 2020, Jakub Jelinek wrote: This patch adds the ~(X - Y) -> ~X + Y simplification requested in the PR (plus also ~(X + C) -> ~X + (-C) for constants C that can be safely negated. This

RE: [PATCH v2] aarch64: Add cpu cost tables for A64FX

2021-01-12 Thread Qian, Jianhua
Hi Richard > >> > ChangeLog: > >> > 2021-01-08 Qian jianhua > >> > > >> > gcc/ > >> > * config/aarch64/aarch64-cost-tables.h (a64fx_extra_costs): New. > >> > * config/aarch64/aarch64.c (a64fx_addrcost_table): New. > >> > (a64fx_regmove_cost, a64fx_vector_cost): New. > >> > (a64fx_tunings):