Re: [PATCH] c-family: Improve MEM_REF printing for diagnostics [PR98597]

2021-01-13 Thread Richard Biener
On Wed, 13 Jan 2021, Jakub Jelinek wrote: > Hi! > > The following patch doesn't actually fix the print_mem_ref bugs, I've kept > it for now as broken as it was, but at least improves the cases where > we can unambiguously map back MEM[ + off] into some particular > reference (e.g.

Re: [PATCH] gimple UIDs, LTO and -fanalyzer [PR98599]

2021-01-13 Thread Richard Biener via Gcc-patches
On Wed, Jan 13, 2021 at 11:04 PM David Malcolm via Gcc-patches wrote: > > gimple.h has this comment for gimple's uid field: > > /* UID of this statement. This is used by passes that want to > assign IDs to statements. It must be assigned and used by each > pass. By default it

Re: [PATCH, Fortran] PR fortran/93524 - ISO_Fortran_binding signed char arrays

2021-01-13 Thread Jerry DeLisle via Gcc-patches
Looks good and I have tested. I will commit after one more double check for regressions with the test case in the testsuite I have been following Harris on this one for several days and tested the patch before submitted here. Thanks for patch Harris, much appreciated. Regards, Jerry On

PING^7 [PATCH 1/4] unroll: Add middle-end unroll factor estimation

2021-01-13 Thread Kewen.Lin via Gcc-patches
Hi, Gentle ping^7 for: https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546698.html BR, Kewen on 2020/12/17 上午10:58, Kewen.Lin via Gcc-patches wrote: > Hi, > > Gentle ping^6 for: > > https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546698.html > > BR, > Kewen > > on 2020/11/19 下午1:50,

PING^1 [PATCH] rs6000: Use rldimi for vec init instead of shift + ior

2021-01-13 Thread Kewen.Lin via Gcc-patches
Hi, I'd like to gentle ping this: https://gcc.gnu.org/pipermail/gcc-patches/2020-December/562407.html BR, Kewen on 2020/12/22 下午4:08, Kewen.Lin via Gcc-patches wrote: > Hi, > > This patch is to make unsigned int vector init go with > rldimi to merge two integers instead of shift and ior. >

PING^1 [PATCH/RFC] combine: Tweak the condition of last_set invalidation

2021-01-13 Thread Kewen.Lin via Gcc-patches
Hi, I'd like to gentle ping this: https://gcc.gnu.org/pipermail/gcc-patches/2020-December/562015.html BR, Kewen on 2020/12/16 下午4:49, Kewen.Lin via Gcc-patches wrote: > Hi, > > When I was investigating unsigned int vec_init issue on Power, > I happened to find there seems something we can

PING^1 [PATCH] combine: zeroing cost for new copies

2021-01-13 Thread Kewen.Lin via Gcc-patches
Hi, I'd like to gentle ping this: https://gcc.gnu.org/pipermail/gcc-patches/2020-December/561413.html BR, Kewen on 2020/12/9 下午5:49, Kewen.Lin via Gcc-patches wrote: > Hi, > > This patch is to treat those new pseudo-to-pseudo copies > after hard-reg-to-pseudo-copy as zero costs. The >

[PATCH] lra: clear lra_insn_recog_data after simplifying a mem subreg

2021-01-13 Thread Ilya Leoshkevich via Gcc-patches
Hello, I ran into this problem when writing new patterns for s390. I'm not 100% sure this fix is correct, but it resolves my issue and survives bootstrap and regtest on x86_64-redhat-linux, ppc64le-redhat-linux and s390x-redhat-linux. Could you please take a look? Best regards, Ilya

[PATCH v2 5/5] or1k: Fixup exception header data encodings

2021-01-13 Thread Stafford Horne via Gcc-patches
While running glibc tests several *-textrel tests failed showing that relocations remained against read only sections. It turned out this was related to exception headers data encoding being wrong. By default pointer encoding will always use the DW_EH_PE_absptr format. This patch uses format

[PATCH v2 4/5] or1k: Add note to indicate execstack

2021-01-13 Thread Stafford Horne via Gcc-patches
Define TARGET_ASM_FILE_END as file_end_indicate_exec_stack to allow generation of the ".note.GNU-stack" section note. This allows binutils to properly set PT_GNU_STACK in the program header. This fixes a glibc execstack testsuite test failure found while working on the OpenRISC glibc port.

[PATCH v2 3/5] or1k: Support for softfloat to emulate hw exceptions

2021-01-13 Thread Stafford Horne via Gcc-patches
This allows the openrisc softfloat implementation to set exceptions. This also sets the correct tininess after rounding value to be consistent with hardware and simulator implementations. libgcc/ChangeLog: * config/or1k/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,

[PATCH v2 2/5] or1k: Add builtin define to detect hard float

2021-01-13 Thread Stafford Horne via Gcc-patches
This is used in libgcc and now glibc to detect when hardware floating point operations are supported by the target. gcc/ChangeLog: * config/or1k/or1k.h (TARGET_CPU_CPP_BUILTINS): Add builtin define for __or1k_hard_float__. --- gcc/config/or1k/or1k.h | 2 ++ 1 file changed, 2

[PATCH v2 1/5] or1k: Implement profile hook calling _mcount

2021-01-13 Thread Stafford Horne via Gcc-patches
Defining this to not abort as found when working on running tests in the glibc test suite. We implement this with a call to _mcount with no arguments. The required return address's will be pulled from the stack. Passing the LR (r9) as an argument had problems as sometimes r9 is clobbered by the

[RESEND PATCH 0/5] OpenRISC GCC Fixes for Glibc Support

2021-01-13 Thread Stafford Horne via Gcc-patches
Hello, Changes since v1: - Rebase This just a resend of v1 with no changes from when I sent it last year. I hadn't committed it because I had not completed all testing in glibc. Now that I have done that and it all seems to work I will commit it. I am currently working on the glibc port for

[PATCH] [og10] openacc: Adjust loop lowering for AMD GCN

2021-01-13 Thread Julian Brown
This patch adjusts OpenACC loop lowering in the AMD GCN target compiler in such a way that the autovectorizer can vectorize the "vector" dimension of those loops in more cases. Rather than generating "SIMT" code that executes a scalar instruction stream for each lane of a vector in lockstep, for

[PATCH] [og10] vect: Add target hook to prefer gather/scatter instructions

2021-01-13 Thread Julian Brown
For AMD GCN, the instructions available for loading/storing vectors are always scatter/gather operations (i.e. there are separate addresses for each vector lane), so the current heuristic to avoid gather/scatter operations with too many elements in get_group_load_store_type is counterproductive.

[PATCH] c++: ICE when mangling operator name [PR98545]

2021-01-13 Thread Marek Polacek via Gcc-patches
r11-6301 added some asserts in mangle.c, and now we trip over one of them. In particular, it's the one asserting that we didn't get IDENTIFIER_ANY_OP_P when mangling an expression with a dependent name. As this testcase shows, it's possible to get that, so turn the assert into an if and write

[PATCH v5] rs6000, vector integer multiply/divide/modulo instructions

2021-01-13 Thread Carl Love via Gcc-patches
Will: I have addressed the various typos you mentioned in the messages to the maintainers. Per your comment I have also tested the updated patch on Power 8 BE. The patch was compiled and tested on: powerpc64le-unknown-linux-gnu (Power 8 BE) powerpc64le-unknown-linux-gnu (Power 9 LE)

Re: [PATCH] c++: Failure to lookup using-decl name [PR98231]

2021-01-13 Thread Nathan Sidwell
On 1/13/21 1:38 PM, Marek Polacek wrote: In r11-4690 we removed the call to finish_nonmember_using_decl in tsubst_expr/DECL_EXPR in the USING_DECL block. This was done not to perform name lookup twice for a non-dependent using-decl, which sounds sensible. However, finish_nonmember_using_decl

[PATCH] gimple UIDs, LTO and -fanalyzer [PR98599]

2021-01-13 Thread David Malcolm via Gcc-patches
gimple.h has this comment for gimple's uid field: /* UID of this statement. This is used by passes that want to assign IDs to statements. It must be assigned and used by each pass. By default it should be assumed to contain garbage. */ unsigned uid; and gimple_set_uid has:

Re: use sigjmp_buf for analyzer sigsetjmp tests

2021-01-13 Thread David Malcolm via Gcc-patches
On Fri, 2020-12-25 at 03:21 -0300, Alexandre Oliva wrote: > The sigsetjmp analyzer tests use jmp_buf in sigsetjmp and siglongjmp > calls. Not every system that supports sigsetjmp uses the same data > structure for setjmp and sigsetjmp, which results in type mismatches. > > This patch changes the

Re: declare getpass in analyzer/sensitive-1.c test

2021-01-13 Thread David Malcolm via Gcc-patches
On Fri, 2020-12-25 at 03:21 -0300, Alexandre Oliva wrote: > The getpass function is not available on all systems; and not > necessarily declared in unistd.h, as expected by the sensitive-1 > analyzer test. > > Since this is a compile-only test, it doesn't really matter if the > function is

[PATCH] PR fortran/98661 - valgrind issues with error recovery

2021-01-13 Thread Harald Anlauf via Gcc-patches
Dear all, the former Fortran testcase charlen_03.f90, which some time ago used to ICE, could still display issues during error recovery. As Dominique pointed out, this required either an instrumented compiler, or valgrind. The issue turned out to not have anything to do with CHARACTER, but with

[PATCH] c-family: Improve MEM_REF printing for diagnostics [PR98597]

2021-01-13 Thread Jakub Jelinek via Gcc-patches
Hi! The following patch doesn't actually fix the print_mem_ref bugs, I've kept it for now as broken as it was, but at least improves the cases where we can unambiguously map back MEM[ + off] into some particular reference (e.g. something.foo[1].bar etc.). In the distant past I think we were

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

2021-01-13 Thread Alexandre Oliva
On Jan 13, 2021, Sebastian Huber wrote: > This is probably not RTEMS-specific. I guess it is a general riscv issue. You're right, but the riscv*-linux-gnu configuration already has the fix. >> Would you like to take a stab at it yourself, or should I? > I can try to figure out a patch, but I

[PATCH] c++: Crash when deducing template arguments [PR98659]

2021-01-13 Thread Marek Polacek via Gcc-patches
maybe_instantiate_noexcept doesn't expect to see error_mark_node, so the new callsite I introduced in r11-6476 needs to be properly guarded. Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk? gcc/cp/ChangeLog: PR c++/98659 * pt.c (resolve_overloaded_unification): Don't

[PATCH] c++: Failure to lookup using-decl name [PR98231]

2021-01-13 Thread Marek Polacek via Gcc-patches
In r11-4690 we removed the call to finish_nonmember_using_decl in tsubst_expr/DECL_EXPR in the USING_DECL block. This was done not to perform name lookup twice for a non-dependent using-decl, which sounds sensible. However, finish_nonmember_using_decl also pushes the decl's bindings which we

Re: use -mfpu=neon for arm/simd/vmmla_1.c

2021-01-13 Thread Alexandre Oliva
On Jan 5, 2021, Alexandre Oliva wrote: > So this patch adds -mfpu=auto to the test, overriding any implicit > flags with the fpu implied by the arch. > * gcc.target/arm/simd/vmmla_1.c: Pass -mfpu=auto. Ping? https://gcc.gnu.org/pipermail/gcc-patches/2021-January/562798.html (The

Re: declare getpass in analyzer/sensitive-1.c test

2021-01-13 Thread Alexandre Oliva
Hello, David, Long time no see! I hope you've had a good time during the holidays. I'd appreciate your review of this and a couple of other analyzer testsuite patches we've submitted in the past few weeks. > * gcc.dg/analyzer/sensitive-1.c: Declare getpass.

Re: Add dg-require-wchars to libstdc++ testsuite

2021-01-13 Thread Alexandre Oliva
On Dec 28, 2020, François Dumont wrote: > On 22/12/20 10:12 pm, Alexandre Oliva wrote: >> Some tests uses structures from the libstdc++ that are present only if >> the target has a wchar.h header. However, those tests do not check >> that the target supports those constructs before executing

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

2021-01-13 Thread Sebastian Huber
On 13/01/2021 17:45, Alexandre Oliva wrote: Hello, Sebastian, On Jan 13, 2021, Sebastian Huber wrote: I have a similar issue on riscv-rtems*: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98595 Can this be fixed also with a patch to gcc/ada/Makefile.rtl? Yeah, that's definitely the way to

[PATCH] c++: Fix ICE with non-constant satisfaction [PR98644]

2021-01-13 Thread Patrick Palka via Gcc-patches
In the below testcase, the expression of the atomic constraint after substitution is (int *) NON_LVALUE_EXPR <1> != 0B which is not a C++ constant expression, but its TREE_CONSTANT flag is set (from build2), so satisfy_atom fails to notice that it's non-constant (and we end up tripping over the

Re: calibrate intervals to avoid zero in futures poll test

2021-01-13 Thread Alexandre Oliva
On Jan 5, 2021, Alexandre Oliva wrote: > We get occasional failures of 30_threads/future/members/poll.cc > on some platforms whose high resolution clock doesn't have such a high > resolution; wait_for_0 ends up as 0, and then some asserts fail as > intervals measured as longer than zero are

Re: Add conditional include of vxWorks.h for kernel mode

2021-01-13 Thread Alexandre Oliva
On Dec 29, 2020, Mike Stump wrote: > On Dec 22, 2020, at 1:14 PM, Alexandre Oliva wrote: >> >> In kernel mode, an application must include vxWorks.h before any other >> system header, this patch adds exactly that to the test that were >> failing due to a missing declaration that was found in

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

2021-01-13 Thread Alexandre Oliva
Hello, Sebastian, On Jan 13, 2021, Sebastian Huber wrote: > I have a similar issue on riscv-rtems*: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98595 > Can this be fixed also with a patch to gcc/ada/Makefile.rtl? Yeah, that's definitely the way to go. I'm afraid the fix will be a little

[PATCH][pushed] gcc-changelog: Support multiline parentheses wrapping

2021-01-13 Thread Martin Liška
Hello. The patch is about supporting of the following ChangeLog entries: gcc/ChangeLog: * config/i386/i386.md (*fix_trunc_i387_1, *add3_eq, *add3_ne, *add3_eq_0, *add3_ne_0, *add3_eq, *fist2__1, *3_1, *di3_doubleword): Use ix86_pre_reload_split instead of

[PATCH, Fortran] PR fortran/93524 - ISO_Fortran_binding signed char arrays

2021-01-13 Thread Harris Snyder
On Wed, Jan 13, 2021 at 1:34 AM Harris Snyder wrote: > > 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 ‘uint’ in the file names. I’ll provide a

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

2021-01-13 Thread Richard Biener
On Wed, 13 Jan 2021, Qing Zhao wrote: > > > > On Jan 13, 2021, at 9:10 AM, Richard Biener wrote: > > > > On Wed, 13 Jan 2021, Qing Zhao wrote: > > > >> > >> > >>> On Jan 13, 2021, at 1:39 AM, Richard Biener wrote: > >>> > >>> On Tue, 12 Jan 2021, Qing Zhao wrote: > >>> > Hi, >

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

2021-01-13 Thread Qing Zhao via Gcc-patches
> On Jan 13, 2021, at 9:10 AM, Richard Biener wrote: > > On Wed, 13 Jan 2021, Qing Zhao wrote: > >> >> >>> On Jan 13, 2021, at 1:39 AM, Richard Biener wrote: >>> >>> On Tue, 12 Jan 2021, Qing Zhao wrote: >>> Hi, Just check in to see whether you have any comments and

Re: [PATCH, OpenMP 5.0] More implementation of the requires directive

2021-01-13 Thread Jakub Jelinek via Gcc-patches
On Wed, Jan 13, 2021 at 11:07:44PM +0800, Chung-Lin Tang wrote: > 2021-01-13 Chung-Lin Tang ... Looks mostly ok, with some nits. > * parse.c ("tree.h"): Add include. > ("omp-general.h"): Likewise. I think the usual way is to write: * parse.c: Include "tree.h" and

Re: [PATCH, v2, OpenMP 5.0, libgomp] Structure element mapping for OpenMP 5.0

2021-01-13 Thread Chung-Lin Tang
Ping x2. Hi Jakub, would like this part of OpenMP 5.0 to be considered for GCC 11. Thanks, Chung-Lin On 2020/12/14 6:32 PM, Chung-Lin Tang wrote: Ping. On 2020/12/4 10:15 PM, Chung-Lin Tang wrote: Hi Jakub, this is a new version of the structure element mapping patch for OpenMP 5.0

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

2021-01-13 Thread Richard Biener
On Wed, 13 Jan 2021, Qing Zhao wrote: > > > > On Jan 13, 2021, at 1:39 AM, Richard Biener wrote: > > > > 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

[PATCH, OpenMP 5.0] More implementation of the requires directive

2021-01-13 Thread Chung-Lin Tang
Hi Jakub, this patch provides more implementation of the requires directive, basically: (1) The collection of the reverse_offload, unified_address, and unified_shared_memory clauses into a .gnu.gomp_requires section (2) libgomp checking of consistency across the entire .gnu.gomp_requires

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

2021-01-13 Thread Qing Zhao via Gcc-patches
> On Jan 13, 2021, at 1:39 AM, Richard Biener wrote: > > 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

[PATCH v2] Add line debug info for virtual thunks [PR97937]

2021-01-13 Thread Bernd Edlinger
Hi, this is a new improved version of my patch. The previous patch had two defects: It failed with -ffunction-section. Although the line info was emitted, that was not working since the debug_ranges did not contain the thunk. And secondly it failed to address the case of functions without any

Re: [PATCH] Add pytest for a GCOV test-case

2021-01-13 Thread Rainer Orth
Hi David, >> On top of all this, I wonder why you insist on a particular Python >> version here: I tried your single testcase and it PASSes just as >> well >> with Python 2.7!? One reason I'm asking is that Solaris 11.3 >> bundles >> both Python 2.7 and 3.4, but (unlike Linux and Solaris

Re: [PATCH] Add pytest for a GCOV test-case

2021-01-13 Thread David Malcolm via Gcc-patches
On Wed, 2021-01-13 at 14:38 +0100, Rainer Orth wrote: > Hi Martin, > > > On 1/6/21 12:36 AM, Jeff Law wrote: > > > unresolved "could not find python interpreter $testcase" in > > > run-gcov-pytest if you find the right magic in the output of your > > > spawn. > > > > Achieved that with the

Re: [PATCH] Add pytest for a GCOV test-case

2021-01-13 Thread Rainer Orth
Hi Martin, > On 1/6/21 12:36 AM, Jeff Law wrote: >> unresolved "could not find python interpreter $testcase" in >> run-gcov-pytest if you find the right magic in the output of your spawn. > > Achieved that with the updated patch. > > Ready for master? unfortunately, your patch has a large number

[PATCH][pushed] mklog: support define_insn_and_split format

2021-01-13 Thread Martin Liška
contrib/ChangeLog: * mklog.py: Parse also define_insn_and_split and similar directives in .md files. * test_mklog.py: Test. --- contrib/mklog.py | 12 +++- contrib/test_mklog.py | 42 ++ 2 files changed, 53

c++: Fix cp_build_function_call_vec [PR 98626]

2021-01-13 Thread Nathan Sidwell
I misunderstood the cp_build_function_call_vec API, thinking a NULL vector was an acceptable way of passing no arguments. You need to pass a vector of no elements. PR c++/98626 gcc/cp/ * module.cc (module_add_import_initializers): Pass a zero-element argument

[PATCH] tree-optimization/92645 - avoid harmful early BIT_FIELD_REF canonicalization

2021-01-13 Thread Richard Biener
This avoids canonicalizing BIT_FIELD_REF (a, , 0) to (T1)a on integer typed a. This confuses the vectorizer SLP matching. With this delayed to after vector lowering the testcase in PR92645 from Skia is now finally optimized to reasonable assembly. Bootstrapped on x86_64-unknown-linux-gnu,

[pushed] aarch64: Add support for unpacked SVE MLS and MSB

2021-01-13 Thread Richard Sandiford via Gcc-patches
This patch extends the MLS/MSB patterns to support unpacked integer vectors. The type suffix could be either the element size or the container size, but using the element size should be more efficient. Tested on aarch64-linux-gnu and aarch64_be-elf, pushed to trunk. Richard gcc/ *

[pushed] aarch64: Add support for unpacked SVE MLA and MAD

2021-01-13 Thread Richard Sandiford via Gcc-patches
This patch extends the MLA/MAD patterns to support unpacked integer vectors. The type suffix could be either the element size or the container size, but using the element size should be more efficient. Tested on aarch64-linux-gnu and aarch64_be-elf, pushed to trunk. Richard gcc/ *

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

2021-01-13 Thread Rainer Orth
Hi Clement, >> OTOH, I wondered if it wouldn't be better to start from the GNU code >> which is certainly known to work, rather than the DragonflyBSD one which >> may well have bitrotten since most of the BSDs moved to LLVM. Then >> again, it may not: Gerald tests on FreeBSD regularly. Perhaps

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

2021-01-13 Thread CHIGOT, CLEMENT via Gcc-patches
> > However, is the C++ ABI not standard ? I don't have this test failing on > > AIX, AFAIK. Strange. > > Not really: the ABI tests rely on symbol versioning, which is only > available on Solaris and GNU ELF targets. Maybe it's normal then. > OTOH, I wondered if it wouldn't be better to start

Re: [PATCH] match.pd, v2: Fold (~X | C) ^ D into (X | C) ^ (~D ^ C) if (~D ^ C) can be simplified [PR96691]

2021-01-13 Thread Richard Biener
On Wed, 13 Jan 2021, Jakub Jelinek wrote: > On Wed, Jan 13, 2021 at 08:35:01AM +0100, Richard Biener wrote: > > I guess you could use > > > > (bit_xor (bit_ior @0 @1) (bit_xor! (bit_not! @2) @1)) > > I wasn't aware of !. > I had to put it under #if GIMPLE because ! doesn't seem to be

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

2021-01-13 Thread Rainer Orth
Hi Clement, >> This alone makes the patch inacceptable in its present form: breaking >> the libstdc++ ABI is a non-starter. However, I suspect this can be >> avoided somehow. > Thanks for having tried and I agree the patch isn't ready at all. I've just > wanted to see how behave on other systems

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

2021-01-13 Thread CHIGOT, CLEMENT via Gcc-patches
Hi Rainer, > This alone makes the patch inacceptable in its present form: breaking > the libstdc++ ABI is a non-starter. However, I suspect this can be > avoided somehow. Thanks for having tried and I agree the patch isn't ready at all. I've just wanted to see how behave on other systems and it

Re: [committed][nvptx] Set -misa=sm_35 by default

2021-01-13 Thread Thomas Schwinge
Hi Tom! On 2020-10-09T13:56:09+0200, Tom de Vries wrote: > The nvptx-as assembler verifies the ptx code using ptxas, if there's any > in the PATH. > After quite some digression to first add a testsuite to nvptx-tools (see or just

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

2021-01-13 Thread Rainer Orth
Hi David, >> I agree that #ifdef's are not the correct approach, but, if you enable >> the fallbacks for Solaris, does everything then work? Are those >> fallbacks portable and we solely need a better mechanism to enable >> them on platforms that require them? > > it mostly compiles, with two

[pushed] aarch64: Tighten condition on sve/sel* tests

2021-01-13 Thread Richard Sandiford via Gcc-patches
Noticed while testing on a different machine that the sve/sel_*.c tests require .variant_pcs support but don't test for it. .variant_pcs post-dates SVE so there shouldn't be a need to test for both. Tested on aarch64-linux-gnu & pushed. Richard gcc/testsuite/ *

[PATCH] tree-optimization/92645 - improve SLP with existing vectors

2021-01-13 Thread Richard Biener
This improves SLP discovery in the face of existing vectors allowing punning of the vector shape (or even punning from an integer type). For punning from integer types this does not yet handle lane zero extraction being represented as conversion rather than BIT_FIELD_REF. On x86 this for example

[pushed] rtl-ssa: Fix reversed comparisons in accesses.h comment

2021-01-13 Thread Richard Sandiford via Gcc-patches
Noticed while looking at something else that the comment above def_lookup got the description of the comparisons the wrong way round. Tested on aarch64-linux-gnu and pushed as obvious. Richard gcc/ * rtl-ssa/accesses.h (def_lookup): Fix order of comparison results. ---

Re: [PATCH] Hurd: Enable ifunc by default

2021-01-13 Thread Thomas Schwinge
Hi! Thanks (and sorry for the delay), pushed "Hurd: Enable ifunc by default" to master branch in commit e9cb89b936f831a02318d45fc4ddb06f7be55ae4, and cherry-picked into releases/gcc-10 branch in commit 92b131491c22eb4e4b663d226e9d97f1fd693063, releases/gcc-9 branch in commit

Re: [PATCHv2] hurd: libgcc unwinding over signal trampolines with SIGINFO

2021-01-13 Thread Thomas Schwinge
Hi! On 2020-12-21T15:36:30+0100, Samuel Thibault wrote: > When the application sets SA_SIGINFO, the signal trampoline parameters > are different to follow POSIX. Thanks (and sorry for the delay), pushed "hurd: libgcc unwinding over signal trampolines with SIGINFO" to master branch in commit

[PATCH][pushed] gcc-changelog: Allow modifications to old ChangeLogs without entry

2021-01-13 Thread Martin Liška
It allows modifications to ChangeLog* files without need create a ChangeLog entry for them. Pushed. Martin contrib/ChangeLog: * gcc-changelog/git_commit.py: Allow modifications of older ChangeLog (or specific) files without need to make a ChangeLog entry. *

[PATCH] tree-optimization/98640 - fix bogus sign-extension with VN

2021-01-13 Thread Richard Biener
VN tried to express a sign extension from int to long of a trucated quantity with a plain conversion but that loses the truncation. Since there's no single operand doing truncate plus sign extend (there was a proposed SEXT_EXPR to do that at some point mapping to RTL sign_extract) don't bother to

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

2021-01-13 Thread Richard Biener
On Wed, 13 Jan 2021, Jakub Jelinek wrote: > On Wed, Jan 13, 2021 at 08:26:49AM +0100, Richard Biener wrote: > > + if (op1 && op0 != op1) > > +op1 = force_reg (vmode, op1); > > > > code (presumably to handle RTX sharing here)? > > That could be actually simplified, incrementally e.g. to: >

[PATCH] match.pd, v2: Fold (~X | C) ^ D into (X | C) ^ (~D ^ C) if (~D ^ C) can be simplified [PR96691]

2021-01-13 Thread Jakub Jelinek via Gcc-patches
On Wed, Jan 13, 2021 at 08:35:01AM +0100, Richard Biener wrote: > I guess you could use > > (bit_xor (bit_ior @0 @1) (bit_xor! (bit_not! @2) @1)) I wasn't aware of !. I had to put it under #if GIMPLE because ! doesn't seem to be implemented for GENERIC, but otherwise it works fine. Though,

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

2021-01-13 Thread Uros Bizjak via Gcc-patches
On Wed, Jan 13, 2021 at 8:13 AM 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, >

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

2021-01-13 Thread Jakub Jelinek via Gcc-patches
On Wed, Jan 13, 2021 at 08:26:49AM +0100, Richard Biener wrote: > + if (op1 && op0 != op1) > +op1 = force_reg (vmode, op1); > > code (presumably to handle RTX sharing here)? That could be actually simplified, incrementally e.g. to: if (op0) { rtx nop0 = force_reg (vmode,

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

2021-01-13 Thread Uros Bizjak via Gcc-patches
On Wed, Jan 13, 2021 at 8:18 AM Jakub Jelinek wrote: > > 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

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

2021-01-13 Thread Richard Biener via Gcc-patches
On Wed, Jan 13, 2021 at 9:30 AM Martin Liška wrote: > > On 1/12/21 4:14 PM, Richard Biener wrote: > > ) 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

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

2021-01-13 Thread Martin Liška
On 1/12/21 4:14 PM, Richard Biener wrote: ) 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.

[PATCH][pushed] ipa: remove a dead code

2021-01-13 Thread Martin Liška
Hello. As mentioned in the PR, the code as dead as changed is assigned to true. The corresponding newline is properly printed at line 1204. I'm going to push it as obvious. Martin gcc/ChangeLog: PR ipa/98652 * cgraphunit.c (analyze_functions): Remove dead code. ---