Re: [PATCH v2 2/2] testsuite: Fix run-time tracking down of `libgcc_s'

2019-12-02 Thread Ian Lance Taylor
On Fri, Nov 29, 2019 at 1:09 AM Maciej W. Rozycki wrote: > > Fix a catastrophic libgo testsuite failure in cross-compilation where > the shared `libgcc_s' library cannot be found by the loader at run time > in build-tree testing and consequently all test cases fail the execution > stage, giving

[PATCH v6] Missed function specialization + partial devirtualization

2019-12-02 Thread luoxhu
Hi Martin and Honza, On 2019/11/18 21:02, Martin Liška wrote: > On 11/16/19 10:59 AM, luoxhu wrote: >> Sorry that I don't quite understand your meanning here.  I didn't grep the >> word "cgraph_edge_summary" in source code, do you mean add new structure > > Hello. > > He wanted to write

Diagnose use of [*] in old-style parameter definitions (PR c/88704)

2019-12-02 Thread Joseph Myers
GCC wrongly accepts [*] in old-style parameter definitions because because parm_flag is set on the scope used for those definitions and, unlike the case of a prototype in a function definition, there is no subsequent check to disallow this invalid usage. This patch adds such a check. (At this

Re: [C++ PATCH] c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.

2019-12-02 Thread Marek Polacek
On Mon, Dec 02, 2019 at 09:15:14AM +0100, Jakub Jelinek wrote: > On Sun, Dec 01, 2019 at 08:09:56PM -0500, Marek Polacek wrote: > > On Thu, Nov 28, 2019 at 11:29:20PM -0500, Jason Merrill wrote: > > > Sounds like reduced_constant_expression_p needs to deal better with empty > > > bases. > > > >

Re: C++ PATCH for c++/91363 - P0960R3: Parenthesized initialization of aggregates

2019-12-02 Thread Jason Merrill
On 12/2/19 7:31 PM, Marek Polacek wrote: @@ -1967,8 +1978,23 @@ expand_default_init (tree binfo, tree true_exp, tree exp, tree init, int flags, tree ctor_name = (true_exp == exp ? complete_ctor_identifier : base_ctor_identifier); + /* Given class A, + +

Re: PowerPC V9 patches, Add the PCREL_OPT optimization

2019-12-02 Thread Segher Boessenkool
Hi! On Fri, Nov 15, 2019 at 07:17:34PM -0500, Michael Meissner wrote: > This series of patches adds the PCREL_OPT optimization for the PC-relative > support in the PowerPC compiler. > > This optimization convert a single load or store of an external variable to > use > the R_PPC64_PCREL_OPT

Re: [C++ PATCH] c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.

2019-12-02 Thread Jason Merrill
On 12/2/19 5:09 PM, Marek Polacek wrote: On Mon, Dec 02, 2019 at 12:09:17PM -0500, Jason Merrill wrote: On 12/1/19 8:09 PM, Marek Polacek wrote: +|| (skip_empty +&& is_really_empty_class (TREE_TYPE (field), This should probably check DECL_SIZE (field) ==

Re: [C++ PATCH] Fix ICE in build_new_op_1 (PR c++/92705)

2019-12-02 Thread Jason Merrill
On 12/2/19 5:17 PM, Jakub Jelinek wrote: On Mon, Dec 02, 2019 at 01:48:46PM -0500, Jason Merrill wrote: On 11/29/19 6:33 PM, Jakub Jelinek wrote: Hi! The changed code in build_new_op_1 ICEs on the following testcase, because conv is user_conv_p with kind == ck_ambig, for which next_conversion

Re: [C++ PATCH] Fix up constexpr virtual calls (PR c++/92695)

2019-12-02 Thread Jason Merrill
On 12/2/19 4:43 PM, Jakub Jelinek wrote: On Mon, Dec 02, 2019 at 02:29:56PM -0500, Jason Merrill wrote: On 11/27/19 6:38 PM, Jakub Jelinek wrote: + if (i == 0 && DECL_VIRTUAL_P (fun)) + { + tree addr = arg; + STRIP_NOPS (addr); + if

Re: Fix crossmodule ipa-inline hint

2019-12-02 Thread Jakub Jelinek
On Sun, Dec 01, 2019 at 03:44:38PM +0100, Jan Hubicka wrote: > > On Nov 30 2019, Jan Hubicka wrote: > > > > > * g++.dg/lto/inline-crossmodule-1.h: New testcase. > > > * g++.dg/lto/inline-crossmodule-1_0.C: New testcase. > > > * g++.dg/lto/inline-crossmodule-1_1.C: New testcase. > > > >

Re: [PATCH][2/2] More abstraction penalty removal for PR92645

2019-12-02 Thread Richard Biener
On Mon, 2 Dec 2019, Richard Biener wrote: > On December 2, 2019 4:27:47 PM GMT+01:00, Alexander Monakov > wrote: > >On Mon, 2 Dec 2019, Richard Biener wrote: > > > >> +typedef long long v4di __attribute__((vector_size(32))); > >> +struct Vec > >> +{ > >> + unsigned int v[8]; > >> +}; > >> + >

Re: C++ PATCH for c++/91363 - P0960R3: Parenthesized initialization of aggregates

2019-12-02 Thread Marek Polacek
On Thu, Nov 28, 2019 at 01:01:44AM -0500, Jason Merrill wrote: > On 11/27/19 5:25 PM, Marek Polacek wrote: > > On Wed, Nov 27, 2019 at 04:54:55PM -0500, Jason Merrill wrote: > > > > > > @@ -921,8 +921,20 @@ perform_member_init (tree member, tree init) > > > > > > inform

[committed][AArch64] Add a couple of SVE ACLE comparison folds

2019-12-02 Thread Richard Sandiford
When writing vector-length specific SVE code, it's useful to be able to store an svbool_t predicate in a GNU vector of unsigned chars. This patch makes sure that there is no overhead when converting to that form and then immediately reading it back again. Tested on aarch64-linux-gnu and applied

[committed][AArch64] Run general SVE ACLE tests for C

2019-12-02 Thread Richard Sandiford
Now that the C frontend can cope with POLY_INT_CST-length initialisers, we can make aarch64-sve-acle.exp run the full set of tests. This will introduce new failures for -mabi=ilp32; I'll make the testsuite ILP32 clean separately. Tested on aarch64-linux-gnu and applied as r278908. Richard

[committed][AArch64] Catch attempts to use SVE types when SVE is disabled

2019-12-02 Thread Richard Sandiford
This patch reports an error if code tries to use variable-length SVE types when SVE is disabled. We already report a similar error for definitions or uses of SVE functions when SVE is disabled. Tested on aarch64-linux-gnu and applied as r278909. Richard 2019-12-02 Richard Sandiford gcc/

Re: [mid-end] Add notes to dataflow insn info when re-emitting (PR92410)

2019-12-02 Thread Matthew Malcomson
Ping On 12/11/2019 09:11, Matthew Malcomson wrote: > In scheduling passes, notes are removed with `remove_notes` before the > scheduling is done, and added back in with `reemit_notes` once the > scheduling has been decided. > > This process leaves the notes in the RTL chain with different insn

Ping: [GCC][PATCH] Add ARM-specific Bfloat format support to middle-end

2019-12-02 Thread Stam Markianos-Wright
On 11/25/19 2:54 PM, Stam Markianos-Wright wrote: > > On 11/15/19 12:02 PM, Stam Markianos-Wright wrote: >> Hi all, >> >> This patch adds support for a new real_format for ARM Brain Floating >> Point numbers to the middle end. This is to be used exclusively in the >> ARM back-end. >> >> The

Re: Tighten check for vector types in fold_convertible_p (PR 92741)

2019-12-02 Thread Richard Sandiford
Richard Biener writes: > On December 2, 2019 5:27:05 PM GMT+01:00, Richard Sandiford > wrote: >>In this PR, IPA-CP was misled into using NOP_EXPR rather than >>VIEW_CONVERT_EXPR to reinterpret a vector of 4 shorts as a vector >>of 2 ints. This tripped the tree-cfg.c assert I'd added in

Re: [PR92726] OpenACC: 'NULL'-in -> no-op, and/or 'NULL'-out

2019-12-02 Thread Tobias Burnus
Hi Thomas, On 11/29/19 3:40 PM, Thomas Schwinge wrote: "[Patch][OpenMP/OpenACC/Fortran] Fix mapping of optional (present|absent) arguments" reminded me that still this behavioral change has not been split out, cited below, that you described as "trivial". I've just filed

Re: [PATCH] extend -Wstringop-overflow to allocated objects (PR 91582)

2019-12-02 Thread Jeff Law
On 11/8/19 3:11 PM, Martin Sebor wrote: > Unless it's used with _FORTIFY_SOURCE, -Wstringop-overflow > doesn't consider out-of-bounds accesses to objects allocated > by alloca, malloc, other functions declared with attribute > alloc_size, or even VLAs with variable bounds.  This was > a known

Re: [C++ PATCH] c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.

2019-12-02 Thread Jason Merrill
On 12/1/19 8:09 PM, Marek Polacek wrote: On Thu, Nov 28, 2019 at 11:29:20PM -0500, Jason Merrill wrote: Sounds like reduced_constant_expression_p needs to deal better with empty bases. This got a bit complicated because it also needs to handle unions and now we also need to heed vptr. But

Re: [GCC][PATCH] Add ARM-specific Bfloat format support to middle-end

2019-12-02 Thread Jeff Law
On 11/15/19 5:02 AM, Stam Markianos-Wright wrote: > Hi all, > > This patch adds support for a new real_format for ARM Brain Floating > Point numbers to the middle end. This is to be used exclusively in the > ARM back-end. > > The encode_arm_bfloat_half and decode_arm_bfloat_half functions are

Re: Tighten check for vector types in fold_convertible_p (PR 92741)

2019-12-02 Thread Richard Biener
On December 2, 2019 5:40:41 PM GMT+01:00, Richard Sandiford wrote: >Richard Biener writes: >> On December 2, 2019 5:27:05 PM GMT+01:00, Richard Sandiford > wrote: >>>In this PR, IPA-CP was misled into using NOP_EXPR rather than >>>VIEW_CONVERT_EXPR to reinterpret a vector of 4 shorts as a

[Committed][Arm][testsuite] Fix failure for arm-fp16-ops-*.C

2019-12-02 Thread Sudakshina Das
Hi Since r275022 which deprecates some uses of volatile, we have seen the following failures on arm-none-eabi and arm-none-linux-gnueabihf FAIL: g++.dg/ext/arm-fp16/arm-fp16-ops-1.C -std=gnu++2a (test for excess errors) FAIL: g++.dg/ext/arm-fp16/arm-fp16-ops-2.C -std=gnu++2a (test for excess

[patch] install the lto-dump man page

2019-12-02 Thread Matthias Klose
GCC 10 comes with a new lto-dump texi file, but the man page isn't built and installed. Fix with the attached patch. Ok to install? Matthias * Makefile.in (SOURCES): Add doc/lto-dump.1. (install-man): Add $(LTO_DUMP_INSTALL_NAME)$(man1ext). ($(LTO_DUMP_INSTALL_NAME)$(man1ext): New. Index:

Re: [PATCH v2 00/11] timed_mutex, shared_timed_mutex: Add full steady clock support

2019-12-02 Thread Jonathan Wakely
On 15/10/19 18:57 +0100, Mike Crowe wrote: glibc v2.30 added the pthread_mutex_clocklock, pthread_rwlock_clockrdlock and pthread_rwlock_clockwrlock functions. These accept CLOCK_MONOTONIC, so they can be used to implement proper steady_clock support in timed_mutex, recursive_timed_mutex and

Re: [PATCH][2/2] More abstraction penalty removal for PR92645

2019-12-02 Thread Richard Biener
On December 2, 2019 4:27:47 PM GMT+01:00, Alexander Monakov wrote: >On Mon, 2 Dec 2019, Richard Biener wrote: > >> +typedef long long v4di __attribute__((vector_size(32))); >> +struct Vec >> +{ >> + unsigned int v[8]; >> +}; >> + >> +v4di pun (struct Vec *s) >> +{ >> + v4di tem; >> +

Don't install unnecessary ARRAY_REF element sizes

2019-12-02 Thread Richard Sandiford
Even EXACT_DIV_EXPR doesn't distribute across addition for wrapping types, so in general we can't fold EXACT_DIV_EXPRs of POLY_INT_CSTs at compile time. This was causing an ICE when trying to gimplify the element size field in an ARRAY_REF. If the result of that EXACT_DIV_EXPR is an invariant,

Re: Tighten check for vector types in fold_convertible_p (PR 92741)

2019-12-02 Thread Richard Biener
On December 2, 2019 5:27:05 PM GMT+01:00, Richard Sandiford wrote: >In this PR, IPA-CP was misled into using NOP_EXPR rather than >VIEW_CONVERT_EXPR to reinterpret a vector of 4 shorts as a vector >of 2 ints. This tripped the tree-cfg.c assert I'd added in r278245. > >Tested on

Tighten check for vector types in fold_convertible_p (PR 92741)

2019-12-02 Thread Richard Sandiford
In this PR, IPA-CP was misled into using NOP_EXPR rather than VIEW_CONVERT_EXPR to reinterpret a vector of 4 shorts as a vector of 2 ints. This tripped the tree-cfg.c assert I'd added in r278245. Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install? Richard 2019-12-02 Richard

Re: Mark constant-sized objects as addressable if they have poly-int accesses

2019-12-02 Thread Richard Sandiford
[finally getting back to this] Richard Biener writes: > On Fri, Nov 8, 2019 at 10:40 AM Richard Sandiford > wrote: >> >> If SVE code is written for a specific vector length, it might load from >> or store to fixed-sized objects. This needs to work even without >> -msve-vector-bits=N (which

[PING][PATCH][GCC][ARM] Arm generates out of range conditional branches in Thumb2 (PR91816)

2019-12-02 Thread Stam Markianos-Wright
On 11/15/19 5:26 PM, Stam Markianos-Wright wrote: > Pinging with more correct maintainers this time :) > > Also would need to backport to gcc7,8,9, but need to get this approved > first! > > Thank you, > Stam > > > Forwarded Message > Subject: Re: [PATCH][GCC][ARM] Arm

Re: [C++ PATCH] Fix nsdmi handling for bitfields (PR c++/92732)

2019-12-02 Thread Jason Merrill
On 11/29/19 6:35 PM, Jakub Jelinek wrote: Hi! As the second testcase shows, we shouldn't be calling convert_for_* with TREE_TYPE (decl) for bitfields, we need DECL_BIT_FIELD_TYPE in that case instead (unlowered_expr_type doesn't work here, as that wants a COMPONENT_REF which we don't have).

Re: [C++ PATCH] Fix ICE in build_new_op_1 (PR c++/92705)

2019-12-02 Thread Jason Merrill
On 11/29/19 6:33 PM, Jakub Jelinek wrote: Hi! The changed code in build_new_op_1 ICEs on the following testcase, because conv is user_conv_p with kind == ck_ambig, for which next_conversion returns NULL. It seems in other spots where for user_conv_p we are walking the conversion chain we also

Re: [PATCH], V8, #1 of 6, Tessuite: Add PADDI tests

2019-12-02 Thread Segher Boessenkool
On Thu, Nov 14, 2019 at 07:12:54PM -0500, Michael Meissner wrote: > This patch adds 3 tests that tests whether PLI (PADDI) is generated to load up > DImode constants, load up SImode constants, and adding 34-bit constants. > * gcc.target/powerpc/paddi-1.c: New test to test using PLI to >

[PATCH] rs6000: Make rs6000_invalid_builtin static (committed)

2019-12-02 Thread Bill Schmidt
Hi, I noticed this function should have been made static in the recent separation of rs6000-call.c from rs6000.c. Bootstrapped and tested on powerpc64le-linux-gnu, committed. Thanks! Bill Make rs6000_invalid_builtin static. 2019-12-02 Bill Schmidt * config/rs6000/rs6000-call.c

Re: [C++ Patch] A few more cp_expr_loc_or_input_loc and a diagnostic regression fix

2019-12-02 Thread Jason Merrill
On 11/29/19 8:08 AM, Paolo Carlini wrote: Hi, a few more rather straightforward uses for cp_expr_loc_or_input_loc. Additionally, while working on the latter, I noticed that, compared to say, gcc-7, lately the code we have in cp_build_addr_expr_1 to diagnose taking the address of 'main' often

Re: Ping: [C++ PATCH] Opt out of GNU vector extensions for built-in SVE types

2019-12-02 Thread Jason Merrill
On 11/29/19 5:59 AM, Richard Sandiford wrote: Ping Richard Sandiford writes: This is the C++ equivalent of r277950, which prevented the use of the GNU vector extensions with SVE vector types for C. [https://gcc.gnu.org/viewcvs/gcc?view=revision=277950]. I've copied the rationale below for

Re: [C++ PATCH] Fix OBJ_TYPE_REF constexpr handling (PR c++/92695)

2019-12-02 Thread Jason Merrill
On 11/27/19 6:44 PM, Jakub Jelinek wrote: Hi! On the following testcase the constexpr evaluation of the virtual call fails, because what cxx_eval_constant_expression returns for OBJ_TYPE_REF_OBJECT is actually not ADDR_EXPR, but ADDR_EXPR wrapped in a NOP_EXPR. Fixed thusly,

Re: [PATCH][RFC] Add new ipa-reorder pass

2019-12-02 Thread Martin Liška
On 12/1/19 12:11 PM, Jan Hubicka wrote: Hi. I'm sending v3 of the patch where I changed: - function.cold sections are properly put into .text.unlikely and not into a .text.sorted.XYZ section I've just finished measurements and I still have the original speed up for tramp3d: Total runs: 10,

Re: [PATCH][RFC] Add new ipa-reorder pass

2019-12-02 Thread Martin Liška
On 12/1/19 11:37 PM, Jan Hubicka wrote: Hi, I was playing with it a bit more and built with -fno-profile-reorder-functions. Here is -fno-profile-reorder-functions compared to first run

[PATCH] Refactor IPA devirt a bit.

2019-12-02 Thread Martin Liška
Hello. The patches makes a small refactoring in ipa-devirt.c and comes up with a handy debugging function debug_tree_odr_name. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog: 2019-12-02 Martin Liska *

Re: [C++ PATCH] c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.

2019-12-02 Thread Jakub Jelinek
On Sun, Dec 01, 2019 at 08:09:56PM -0500, Marek Polacek wrote: > On Thu, Nov 28, 2019 at 11:29:20PM -0500, Jason Merrill wrote: > > Sounds like reduced_constant_expression_p needs to deal better with empty > > bases. > > This got a bit complicated because it also needs to handle unions and > now

Re: [PATCH] Improve A*B+-A -> A*(B+-1) and A+-A*B -> A*(1+-B) match.pd optimization

2019-12-02 Thread Richard Biener
On Sat, 30 Nov 2019, Jakub Jelinek wrote: > Hi! > > As discussed in the PR, we can't optimize e.g. > int a = t - 1; > int b = a * v; > return b + v; > into return t * v; for signed non-wrapv arithmetics. This can be done > by the match.pd (A * B) +- A -> (B +- 1) * A or > A +- (A * B) ->

[PATCH] Fix PR92742

2019-12-02 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-12-02 Richard Biener PR tree-optimization/92742 * tree-vect-loop.c (vect_fixup_reduc_chain): Do not touch the def-type but verify it is consistent with the original stmts. *

Re: [PATCH] Refactor IPA devirt a bit.

2019-12-02 Thread Jan Hubicka
> Hello. > > The patches makes a small refactoring in ipa-devirt.c and comes up > with a handy debugging function debug_tree_odr_name. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > > gcc/ChangeLog: > > 2019-12-02

[PATCH] Fix up swap peephole2 (PR target/92744)

2019-12-02 Thread Jakub Jelinek
On Mon, Dec 02, 2019 at 08:28:27AM +0100, Uros Bizjak wrote: > > I'll have a look tomorrow. > > general_reg_operand should be used in the pattern. That indeed works, ok for trunk if it passes bootstrap/regtest? 2019-12-02 Uroš Bizjak Jakub Jelinek PR target/92744

Re: [PATCH][RFC] Add new ipa-reorder pass

2019-12-02 Thread Martin Liška
On 12/1/19 11:45 AM, Jan Hubicka wrote: Hi. I'm sending v3 of the patch where I changed: - function.cold sections are properly put into .text.unlikely and not into a .text.sorted.XYZ section I've just finished measurements and I still have the original speed up for tramp3d: Total runs: 10,

Re: [PATCH] Fix up swap peephole2 (PR target/92744)

2019-12-02 Thread Uros Bizjak
On Mon, Dec 2, 2019 at 10:06 AM Jakub Jelinek wrote: > > On Mon, Dec 02, 2019 at 08:28:27AM +0100, Uros Bizjak wrote: > > > I'll have a look tomorrow. > > > > general_reg_operand should be used in the pattern. > > That indeed works, ok for trunk if it passes bootstrap/regtest? > > 2019-12-02

[wwwdocs][Fortran] gcc-10/porting_to.html – Fortran's argument-checking

2019-12-02 Thread Tobias Burnus
As I assume that Wilco's -fno-common porting-to patch will be submitted first, I didn't include the full boilerplate; cf. https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02662.html As suggested by Eric, an entry in porting-to about the Fortran argument-checking change could also be useful, cf.

Re: [PATCH] Refactor IPA devirt a bit.

2019-12-02 Thread Martin Liška
On 12/2/19 11:50 AM, Jan Hubicka wrote: Hello. The patches makes a small refactoring in ipa-devirt.c and comes up with a handy debugging function debug_tree_odr_name. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog:

Re: [PATCH] Refactor IPA devirt a bit.

2019-12-02 Thread Jan Hubicka
> > Sure, I'm sending updated version of the patch. > > Ready for trunk now? OK, thanks! Honza

Re: [wwwdocs][Fortran] gcc-10/porting_to.html – Fortran's argument-checking

2019-12-02 Thread Gerald Pfeifer
On Mon, 2 Dec 2019, Tobias Burnus wrote: > Hence: How about the following? I noticed some minor issues (below). Generally this looks fine, though I better defer to someone more versed in Fortran. ;-) > Additionally, one should check that the code indeed only accesses Here I'd say "Additionally

Re: [PATCH 4/7 libgomp,amdgcn] GCN libgomp port

2019-12-02 Thread Julian Brown
On Mon, 2 Dec 2019 15:43:29 +0100 Thomas Schwinge wrote: > > --- a/libgomp/openacc.h > > +++ b/libgomp/openacc.h > > @@ -55,6 +55,7 @@ typedef enum acc_device_t { > >/* acc_device_host_nonshm = 3 removed. */ > >acc_device_not_host = 4, > >acc_device_nvidia = 5, > > + acc_device_gcn

[PATCH][2/2] More abstraction penalty removal for PR92645

2019-12-02 Thread Richard Biener
This recovers some of the nearly dead code in gimple_fold_builtin_memory_op by allowing a rewrite of memcpy with a properly aligned source or destination decl. In particular this handles register typed vars to be tranformed (and later rewritten into SSA form). Together with 1/2 the testcase

[PATCH][1/2] More abstraction penalty removal for PR92645

2019-12-02 Thread Richard Biener
The following avoids a spurious BIT_INSERT_EXPR when rewriting a decl into SSA form. Bootstrap & regtest running on x86_64-unknown-linux-gnu. Richard. 2019-11-02 Richard Biener PR tree-optimization/92645 * tree-ssa.c (execute_update_addresses_taken): Avoid representing

Re: Fix jump function update in inliner

2019-12-02 Thread Martin Jambor
Hi, On Sun, Dec 01 2019, Jan Hubicka wrote: > Hi, > this patch fixes the problem with clearing bits and m_vr in inliner > update we discussed earlier. I am not sure if > dete_type_change_from_memory_writes needs the clear? No, they don't. Since your rewrite of devirtualization, the jfunc

Re: [PATCH][2/2] More abstraction penalty removal for PR92645

2019-12-02 Thread Alexander Monakov
On Mon, 2 Dec 2019, Richard Biener wrote: > +typedef long long v4di __attribute__((vector_size(32))); > +struct Vec > +{ > + unsigned int v[8]; > +}; > + > +v4di pun (struct Vec *s) > +{ > + v4di tem; > + __builtin_memcpy (, s, 32); > + return tem; > +} > + > +/* We're expecting exactly two

Re: Symver attribute

2019-12-02 Thread Jonathan Wakely
On 30/11/19 22:13 +0100, Jan Hubicka wrote: Hi, this is patch incorporating (I hope) all the suggestions and corrections which I applied. I will work incremnetaly on supporting the name@@@node semantics which is bit different from @ and @@ one by actually removing the original symbol. Here I

[PATCH][GCC8][AArch64] Backport Cortex-A76, Ares and Neoverse N1 cpu names

2019-12-02 Thread Wilco Dijkstra
Add support for Cortex-A76, Ares and Neoverse N1 cpu names in GCC8 branch. 2019-11-29 Wilco Dijkstra * config/aarch64/aarch64-cores.def (ares): Define. (cortex-a76): Likewise. (neoverse-n1): Likewise. * config/aarch64/aarch64-tune.md: Regenerate. *

Re: [wwwdocs][Fortran] gcc-10/porting_to.html – Fortran's argument-checking

2019-12-02 Thread Tobias Burnus
Revised version. Changes: I now assume that this patch goes in before Wilco's; hence, it includes the full HTML file and the changes.html modification. Additionally, I improved the wording at several places a tiny bit – it really helps to re-read what one has written :-) (Thanks, Gerald, I

Re: [Patch][Fortran] OpenACC – permit common blocks in some clauses

2019-12-02 Thread Tobias Burnus
Hi Thomas, for completeness, I tried now *blank commons* with OpenACC in *PGI's pgfortran.* From the error message, it looks as if the parser does not handle blank commons at all. (Matches the current parser in gfortran.) pgfortran is also not very good at diagnostics as nonexisting common

Re: [PATCH][GCC8][AArch64] Backport Cortex-A76, Ares and Neoverse N1 cpu names

2019-12-02 Thread Kyrill Tkachov
On 12/2/19 12:14 PM, Wilco Dijkstra wrote: Add support for Cortex-A76, Ares and Neoverse N1 cpu names in GCC8 branch. 2019-11-29  Wilco Dijkstra      * config/aarch64/aarch64-cores.def (ares): Define.     (cortex-a76): Likewise.     (neoverse-n1): Likewise.     *

Re: Symver attribute

2019-12-02 Thread Jan Hubicka
> > It would be great to convert libstdc++ to the new infrastructure so it > > becomes LTO safe and gives some real world testing to this > > infrastructure. I tried that but found it is bit non-trivial since > > currently way we need to attach the attribute to definition itself, > > while

Re: Symver attribute

2019-12-02 Thread Jakub Jelinek
On Mon, Dec 02, 2019 at 01:53:09PM +0100, Jan Hubicka wrote: > > > It would be great to convert libstdc++ to the new infrastructure so it > > > becomes LTO safe and gives some real world testing to this > > > infrastructure. I tried that but found it is bit non-trivial since > > > currently way

[PATCH v3] Add `--with-toolexeclibdir=' configuration option

2019-12-02 Thread Maciej W. Rozycki
Provide means, in the form of a `--with-toolexeclibdir=' configuration option, to override the default installation directory for target libraries, otherwise known as $toolexeclibdir. This is so that it is possible to get newly-built libraries, particularly the shared ones, installed in a

Re: [patch, libgomp] Enable OpenACC GCN testing

2019-12-02 Thread Thomas Schwinge
Hi Andrew! Sorry for the delay. On 2019-11-14T16:36:38+, Andrew Stubbs wrote: > This patch adds some necessary bits to enable OpenACC testings for > amdgcn offloading. Generally, I'm in favor if you'd consider such a thing (that in principle is just a copy/adapt of the existing cases) as

Re: [PATCH 4/7 libgomp,amdgcn] GCN libgomp port

2019-12-02 Thread Thomas Schwinge
Hi! On 2019-11-12T13:29:13+, Andrew Stubbs wrote: > --- a/include/gomp-constants.h > +++ b/include/gomp-constants.h > @@ -174,6 +174,7 @@ enum gomp_map_kind > #define GOMP_DEVICE_NVIDIA_PTX 5 > #define GOMP_DEVICE_INTEL_MIC6 > #define GOMP_DEVICE_HSA

Re: Symver attribute

2019-12-02 Thread Jan Hubicka
> On Mon, Dec 02, 2019 at 01:53:09PM +0100, Jan Hubicka wrote: > > > > It would be great to convert libstdc++ to the new infrastructure so it > > > > becomes LTO safe and gives some real world testing to this > > > > infrastructure. I tried that but found it is bit non-trivial since > > > >

Host/device shared memory (was: [patch, libgomp] Enable OpenACC GCN testing)

2019-12-02 Thread Thomas Schwinge
Hi! On 2019-11-15T13:43:04+0100, Jakub Jelinek wrote: > On Fri, Nov 15, 2019 at 12:38:06PM +, Andrew Stubbs wrote: >> On 15/11/2019 12:21, Jakub Jelinek wrote: >> > I'm surprised by the set acc_mem_shared 0, I thought gcn is a shared memory >> > offloading target. >> >> APUs, such as

[PATCH] PR C++/92739

2019-12-02 Thread Andrew Sutton
Find attached. gcc/cp/ * parser.c (cp_parser_constraint_requires_parens): Exclude attributes as postfix expressions. gcc/testsuite/ * g++.dg/concepts-pr92739.C: New test. Andrew Sutton 0001-Fix-PR-c-92739.patch Description: Binary data

Re: Host/device shared memory

2019-12-02 Thread Andrew Stubbs
On 02/12/2019 14:23, Thomas Schwinge wrote: Hi! On 2019-11-15T13:43:04+0100, Jakub Jelinek wrote: On Fri, Nov 15, 2019 at 12:38:06PM +, Andrew Stubbs wrote: On 15/11/2019 12:21, Jakub Jelinek wrote: I'm surprised by the set acc_mem_shared 0, I thought gcn is a shared memory offloading

[PING^2][PATCH 0/4] Fix library testsuite compilation for build sysroot

2019-12-02 Thread Maciej W. Rozycki
On Mon, 11 Nov 2019, Maciej W. Rozycki wrote: > This patch series addresses a problem with the testsuite compiler being > set up across libatomic, libffi, libgo, libgomp with no correlation > whatsoever to the target compiler being used in GCC compilation. > Consequently there in no

Re: [GCC][PATCH] Add ARM-specific Bfloat format support to middle-end

2019-12-02 Thread Joseph Myers
On Mon, 2 Dec 2019, Jeff Law wrote: > > 2019-11-13 Stam Markianos-Wright > > > >* real.c (struct arm_bfloat_half_format, > >encode_arm_bfloat_half, decode_arm_bfloat_half): New. > >* real.h (arm_bfloat_half_format): New. > > > > > Generally OK. Please consider using

[PATCH] doc: Note that some warnings depend on optimizations (PR 92757)

2019-12-02 Thread Jonathan Wakely
PR driver/92757 * doc/invoke.texi (Warning Options): Add caveat about some warnings depending on optimization settings. The bug reporter wants this clarified. I'm not entirely convinced it's necessary, but it doesn't seem to do any harm. OK for trunk? commit

Re: [C++ PATCH] Fix up constexpr virtual calls (PR c++/92695)

2019-12-02 Thread Jakub Jelinek
On Mon, Dec 02, 2019 at 02:29:56PM -0500, Jason Merrill wrote: > On 11/27/19 6:38 PM, Jakub Jelinek wrote: > > + if (i == 0 && DECL_VIRTUAL_P (fun)) > > + { > > + tree addr = arg; > > + STRIP_NOPS (addr); > > + if (TREE_CODE (addr) == ADDR_EXPR) > > + {

Re: [PATCH], V8, #6 of #6, Testsuite: Test -fstack-protect-strong works with prefixed addressing

2019-12-02 Thread Segher Boessenkool
Hi Mike, On Thu, Nov 14, 2019 at 07:26:44PM -0500, Michael Meissner wrote: > * gcc.target/powerpc/prefix-stack-protect.c: New test to make sure > -fstack-protect-strong works with prefixed addressing. The option is -fstack-protector-strong. But what is tested is equally true for any

Re: [C++ PATCH] c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.

2019-12-02 Thread Marek Polacek
On Mon, Dec 02, 2019 at 12:09:17PM -0500, Jason Merrill wrote: > On 12/1/19 8:09 PM, Marek Polacek wrote: > > --- gcc/cp/constexpr.c > > +++ gcc/cp/constexpr.c > > @@ -779,7 +779,9 @@ cx_check_missing_mem_inits (tree ctype, tree body, bool > > complain) > > if (TREE_CODE (ctype) ==

Re: [C++ PATCH] Fix ICE in build_new_op_1 (PR c++/92705)

2019-12-02 Thread Jakub Jelinek
On Mon, Dec 02, 2019 at 01:48:46PM -0500, Jason Merrill wrote: > On 11/29/19 6:33 PM, Jakub Jelinek wrote: > > Hi! > > > > The changed code in build_new_op_1 ICEs on the following testcase, > > because conv is user_conv_p with kind == ck_ambig, for which next_conversion > > returns NULL. It

Re: [C++ PATCH] Fix up constexpr virtual calls (PR c++/92695)

2019-12-02 Thread Jason Merrill
On 11/27/19 6:38 PM, Jakub Jelinek wrote: Hi! The OBJ_TYPE_REF constexpr handling looks through DECL_FIELD_IS_BASE COMPONENT_REFs to find the actual object on which the method is called, but as the following testcase shows, we need to do the similar thing also for the argument passed as this,

Re: [C++ Patch] A few more cp_expr_loc_or_input_loc and a diagnostic regression fix

2019-12-02 Thread Paolo Carlini
Hi, On 02/12/19 19:58, Jason Merrill wrote: On 11/29/19 8:08 AM, Paolo Carlini wrote: Hi, a few more rather straightforward uses for cp_expr_loc_or_input_loc. Additionally, while working on the latter, I noticed that, compared to say, gcc-7, lately the code we have in cp_build_addr_expr_1

Re: [PATCH], V8, #2 of 6, Testsuite: Test illegal DS/DQ offsets become prefixed insns

2019-12-02 Thread Segher Boessenkool
On Thu, Nov 14, 2019 at 07:16:28PM -0500, Michael Meissner wrote: > This test tests whether traditional DS and DQ instructions that require the > bottom 2 bits of the offset to be zero (DS) or the bottom 4 of the offset to > be > zero (DQ) properly generate the prefixed form of the instruction

[PATCH] Enhance _GLIBCXX_DEBUG constexpr support

2019-12-02 Thread François Dumont
Hi     Here is a patch to enhance constexpr support in _GLIBCXX_DEBUG. I work on std::lower_bound/upper_bound to find out if Debug mode is well prepared. I'll continue on other algos later.     I initially hope that I could count on the compiler for the valid_range check. But for

Re: [PATCH], V8, #3 of 6, Testsuite: Insure no prefixed instruction uses update addressing

2019-12-02 Thread Segher Boessenkool
On Thu, Nov 14, 2019 at 07:19:15PM -0500, Michael Meissner wrote: > +/* { dg-final { scan-assembler-times {\mpli\M|\mpla\M|\mpaddi\M} 4 } } */ How can this generate pli or pla? If this is something this test tests for, the comment should say. > +/* { dg-final { scan-assembler-not

Re: [PATCH], V8, #5 of 6, Testsuite: Test PC-relative load/store instructions

2019-12-02 Thread Segher Boessenkool
On Thu, Nov 14, 2019 at 07:24:15PM -0500, Michael Meissner wrote: > This patch adds tests for using the PC-relative addressing on the 'future' > system. > * gcc/testsuite/gcc.target/powerpc/prefix-pcrel.h: New set of > tests to test prefixed addressing on 'future' system with >

Re: [PATCH], V8, #4 of 6, Testsuite: Test for prefixed instructions with large offsets

2019-12-02 Thread Segher Boessenkool
Hi! On Thu, Nov 14, 2019 at 07:21:31PM -0500, Michael Meissner wrote: > This patch tests whether using large numeric offsets causes prefixed loads or > stores to be generated. > --- /tmp/RMaUEu_prefix-large-dd.c 2019-11-13 17:42:31.960524470 -0500 > +++