Re: [PATCH] Restore defensive check in tree_nop_conversion (also PR89779 "fix")

2019-03-22 Thread Richard Biener
On Thu, 21 Mar 2019, Jason Merrill wrote: > On 3/21/19 9:43 AM, Richard Biener wrote: > > On Thu, 21 Mar 2019, Richard Biener wrote: > > > > > > > > This also avoids the ICE in PR89779 but IMHO is not a real fix. > > > > > > Still it restores a previously active check against released SSA names

[PATCH] Add missing avx512fintrin.h _mm_mask{,3,z}_f{,n}m{add,sub}_s{s,d} intrinsics (PR target/89784)

2019-03-22 Thread Jakub Jelinek
Hi! The following patch adds forgotten avx512f fma instrinsics for masked scalar operations. Bootstrapped/regtested on x86_64-linux and i686-linux (on skylake-avx512), ok for trunk? 2019-03-22 Jakub Jelinek PR target/89784 * config/i386/i386.c (enum ix86_builtins): Remove

[PATCH] Fix up various fma operand predicates

2019-03-22 Thread Jakub Jelinek
Hi! While working on the PR89784 patch, I've noticed various inconsistencies in the fma patterns between constraints and predicates. Most of them time it was correct though. This is what I found: 1) if the constraint is like or ,v or v,, then it will be just v or v,v with rounding, while withou

Re: [PATCH] Fix up various fma operand predicates

2019-03-22 Thread Uros Bizjak
On Fri, Mar 22, 2019 at 9:56 AM Jakub Jelinek wrote: > > Hi! > > While working on the PR89784 patch, I've noticed various inconsistencies > in the fma patterns between constraints and predicates. Most of them time > it was correct though. > This is what I found: > > 1) if the constraint is like

Re: [PATCH] Restore defensive check in tree_nop_conversion (also PR89779 "fix")

2019-03-22 Thread Christophe Lyon
On Thu, 21 Mar 2019 at 14:44, Richard Biener wrote: > > On Thu, 21 Mar 2019, Richard Biener wrote: > > > > > This also avoids the ICE in PR89779 but IMHO is not a real fix. > > > > Still it restores a previously active check against released SSA names > > which now have error_mark_node type rather

Re: [PATCH] make ggc pick up comp_dir_string() cache value. (dwarf2out.c)

2019-03-22 Thread Otto, Thomas
> > And I still think this function and the static variable which never changes > > once set does not require any GC. Just setting the cached_wd variable to > > the unchanged pointer from get_src_pwd() or allocating one in the function > > itself is enough. This solves the problem and relieves th

Re: [PATCH] [NDS32] Fix nds32_split_ashiftdi3 with large shift amount

2019-03-22 Thread Shiva Chen
Hi Kito, Thanks for the patch. Kito Cheng 於 2019年2月22日 週五 下午4:42寫道: > From: Kito Cheng > > ChangeLog: > gcc/ > * config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): > Fix wrong code gen with large shift amount. > --- > gcc/config/nds32/nds32-md-auxiliary.c | 21 +

Re: [PATCH] Add missing avx512fintrin.h _mm_mask{,3,z}_f{,n}m{add,sub}_s{s,d} intrinsics (PR target/89784)

2019-03-22 Thread Uros Bizjak
On Fri, Mar 22, 2019 at 9:41 AM Jakub Jelinek wrote: > > Hi! > > The following patch adds forgotten avx512f fma instrinsics for masked scalar > operations. > > Bootstrapped/regtested on x86_64-linux and i686-linux (on skylake-avx512), > ok for trunk? There are several possibilities to mark the 1s

Re: [PATCH] Add missing avx512fintrin.h _mm_mask{,3,z}_f{,n}m{add,sub}_s{s,d} intrinsics (PR target/89784)

2019-03-22 Thread Jakub Jelinek
On Fri, Mar 22, 2019 at 10:35:45AM +0100, Uros Bizjak wrote: > On Fri, Mar 22, 2019 at 9:41 AM Jakub Jelinek wrote: > > The following patch adds forgotten avx512f fma instrinsics for masked scalar > > operations. > > > > Bootstrapped/regtested on x86_64-linux and i686-linux (on skylake-avx512), >

Re: [PATCH] PR ada/89583, GNAT.Sockets.Bind_Socket fails with IPv4 address

2019-03-22 Thread Pierre-Marie de Rodat
On 3/20/19 6:54 PM, Simon Wright wrote: Thanks, Pierre-Marie: it'd be a shame if 9.1 couldn't handle IPv4. Yes indeed :-) The change is ready to go: may I commit your testcase as well? -- Pierre-Marie de Rodat

Re: [PATCH] Add missing avx512fintrin.h _mm_mask{,3,z}_f{,n}m{add,sub}_s{s,d} intrinsics (PR target/89784)

2019-03-22 Thread Uros Bizjak
On Fri, Mar 22, 2019 at 11:02 AM Jakub Jelinek wrote: > > On Fri, Mar 22, 2019 at 10:35:45AM +0100, Uros Bizjak wrote: > > On Fri, Mar 22, 2019 at 9:41 AM Jakub Jelinek wrote: > > > The following patch adds forgotten avx512f fma instrinsics for masked > > > scalar > > > operations. > > > > > > B

Re: [PATCH] Add missing avx512fintrin.h _mm_mask{,3,z}_f{,n}m{add,sub}_s{s,d} intrinsics (PR target/89784)

2019-03-22 Thread Jakub Jelinek
On Fri, Mar 22, 2019 at 11:11:58AM +0100, Uros Bizjak wrote: > > For FMA, naturally only the two operands that are multiplied should be > > commutative, but in most patterns one of those two uses "0" or "0,0" > > This should be safe, we have had "*add_1" for decades that does > just the above. Su

Re: [PATCH] Add missing avx512fintrin.h _mm_mask{,3,z}_f{,n}m{add,sub}_s{s,d} intrinsics (PR target/89784)

2019-03-22 Thread Uros Bizjak
On Fri, Mar 22, 2019 at 11:40 AM Jakub Jelinek wrote: > > On Fri, Mar 22, 2019 at 11:11:58AM +0100, Uros Bizjak wrote: > > > For FMA, naturally only the two operands that are multiplied should be > > > commutative, but in most patterns one of those two uses "0" or "0,0" > > > > This should be safe

Re: [PATCH][GCC][AArch64] Vectorise __builtin_signbit on aarch64

2019-03-22 Thread Richard Sandiford
Hi, Przemyslaw Wirkus writes: > Hi all, > > Vectorise __builtin_signbit (v4sf) with unsigned shift right vector > instruction. > > Bootstrapped and tested on aarch64-none-linux-gnu. > > Assembly output for: > $ aarch64-elf-gcc -S -O3 signbitv4sf.c -dp > > Before patch: > > foo: > adrpx3

Re: [C++ PATCH] Add -fconstexpr-ops-limit= option (PR c++/87481)

2019-03-22 Thread Jason Merrill
On 3/21/19 7:45 PM, Jakub Jelinek wrote: On Thu, Mar 21, 2019 at 07:27:03PM -0400, Jason Merrill wrote: On 3/15/19 4:07 PM, Jakub Jelinek wrote: +/* Number of cxx_eval_constant_expression calls (except skipped ones, + on simple constants or location wrappers) encountered during current + cx

[C++ PATCH] Add -fconstexpr-ops-limit= option (PR c++/87481, take 2)

2019-03-22 Thread Jakub Jelinek
On Fri, Mar 22, 2019 at 08:47:21AM -0400, Jason Merrill wrote: > On 3/21/19 7:45 PM, Jakub Jelinek wrote: > > On Thu, Mar 21, 2019 at 07:27:03PM -0400, Jason Merrill wrote: > > > On 3/15/19 4:07 PM, Jakub Jelinek wrote: > > > > +/* Number of cxx_eval_constant_expression calls (except skipped ones,

[C++ PATCH] Fix thread_local initialization (PR c++/60702, take 2)

2019-03-22 Thread Jakub Jelinek
On Thu, Mar 21, 2019 at 07:31:44PM -0400, Jason Merrill wrote: > How about > > else if (tree wrap = maybe_call_tls_wrapper_fn (expr)) > expr = wrap; LGTM. Here is the full patch I've bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-03-22 Jakub Jelinek PR c

Re: New target hook for function scratch registers (PR 89628)

2019-03-22 Thread Richard Sandiford
Ping Richard Sandiford writes: > Steve Ellcey writes: >> Richard, >> >> I don't necessarily disagree with anything in your comments and long >> term I think that is the right direction, but I wonder if that level of >> change is appropriate for GCC Stage 4 which is where we are now. Your >> cha

[Ada] GNAT.Sockets: fix recent regressions

2019-03-22 Thread Pierre-Marie de Rodat
I just pushed the attached patch. Tested on x86_64-pc-linux-gnu, committed on trunk. Thank you Simon again for the bug report! Commit message: The support for IPv6 that was added since last release triggered regressions on various platforms. The size of structures passed to low level routines w

Re: [C++ PATCH] Add -fconstexpr-ops-limit= option (PR c++/87481, take 2)

2019-03-22 Thread Jason Merrill
On 3/22/19 8:53 AM, Jakub Jelinek wrote: On Fri, Mar 22, 2019 at 08:47:21AM -0400, Jason Merrill wrote: On 3/21/19 7:45 PM, Jakub Jelinek wrote: On Thu, Mar 21, 2019 at 07:27:03PM -0400, Jason Merrill wrote: On 3/15/19 4:07 PM, Jakub Jelinek wrote: +/* Number of cxx_eval_constant_expression c

Re: [C++ PATCH] Fix thread_local initialization (PR c++/60702, take 2)

2019-03-22 Thread Jason Merrill
On 3/22/19 8:55 AM, Jakub Jelinek wrote: On Thu, Mar 21, 2019 at 07:31:44PM -0400, Jason Merrill wrote: How about else if (tree wrap = maybe_call_tls_wrapper_fn (expr)) expr = wrap; LGTM. Here is the full patch I've bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? OK

Re: C++ PATCH for c++/89214 - ICE when initializing aggregates with bases

2019-03-22 Thread Jason Merrill
On 3/21/19 4:51 PM, Marek Polacek wrote: This is a crash in digest_init_r -- we encounter /* "If T is a class type and the initializer list has a single element of type cv U, where U is T or a class derived from T, the object is initialized from that element." */ if (flag_chec

Re: [RFC] D support for S/390

2019-03-22 Thread Robin Dapp
Hi, > Are the values inside the tables the problem? Or just some of the > helper functions/templates that interact with them to generate the > static data? > > If the latter, then a rebuild of the files may not be necessary. I managed to get this to work without rebuilding the files. After chec

Re: [PATCH, wwwdocs] Mention -march=armv8.5-a and other new command line options for AArch64 and Arm for GCC 9

2019-03-22 Thread James Greenhalgh
On Wed, Mar 20, 2019 at 10:17:41AM +, Sudakshina Das wrote: > Hi Kyrill > > On 12/03/2019 12:03, Kyrill Tkachov wrote: > > Hi Sudi, > > > > On 2/22/19 10:45 AM, Sudakshina Das wrote: > >> Hi > >> > >> This patch documents the addition of the new Armv8.5-A and corresponding > >> extensions in

[PATCH][doc] Fix typos in MINLOC, MAXLOC documentation

2019-03-22 Thread Kyrill Tkachov
Hi all, I think there's a typo in the documentation of the MINLOC and MAXLOC intrinsics. It implies that when the BACK argument is true it returns the first occurrence of the min/max value, but my understanding is that it should return the last occurrence. This patch fixes the documentation.

[PATCH] Avoid -Wconversion warnings when -Wsystem-headers is used

2019-03-22 Thread Jonathan Wakely
* include/bits/stl_algobase.h (__lg): Do arithmetic on type int to avoid -Wconversion warnings. Tested powerpc64le-linux, committed to trunk. commit 81c48e4f55f03edf873fa8cadf5920a0e062 Author: Jonathan Wakely Date: Fri Mar 22 16:27:10 2019 + Avoid -Wconversion w

[PATCH] document vector_size type attribute

2019-03-22 Thread Martin Sebor
Attribute vector_size applies to types as much as it does to variables but is only documented for the latter. Attached is an update to the manual to document the attribute's effects in type definitions. Martin Index: gcc/doc/extend.texi ===

Patch to fix PR89676

2019-03-22 Thread Vladimir Makarov
  The following patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89676   The patch was successfully bootstrapped and tested on x86-64.   Committed as rev. 269878. Index: ChangeLog === --- ChangeLog (revision 269876) +++ Ch

Re: [Patch, aarch64] PR 89628 - fix register allocation in SIMD functions

2019-03-22 Thread James Greenhalgh
On Mon, Mar 11, 2019 at 04:10:15PM +, Steve Ellcey wrote: > Richard, > > I don't necessarily disagree with anything in your comments and long > term I think that is the right direction, but I wonder if that level of > change is appropriate for GCC Stage 4 which is where we are now. Your > cha

Re: [PATCH/AARCH64] Fix zero_extendsidi2_aarch64 type attribute

2019-03-22 Thread James Greenhalgh
On Sun, Mar 10, 2019 at 06:26:07PM +, Andrew Pinski wrote: > Hi, > "uxtw x0, w1" is an alias for "mov w0, w1" but currently the > back-end marks it as extend type rather than mov_reg. This patch > fixes that. For most schedule models, this does not matter; I am > adding one where mov (both

Re: [PATCHv2] Fix not 8-byte aligned ldrd/strd on ARMv5 (PR 89544)

2019-03-22 Thread Bernd Edlinger
On 3/21/19 12:15 PM, Richard Biener wrote: > On Sun, 10 Mar 2019, Bernd Edlinger wrote: > Finally... > > Index: gcc/function.c > === > --- gcc/function.c (revision 269264) > +++ gcc/function.c (working copy) > @@ -2210,6 +22

Re: [Patch, aarch64] PR 89628 - fix register allocation in SIMD functions

2019-03-22 Thread James Greenhalgh
On Fri, Mar 22, 2019 at 05:35:02PM +, James Greenhalgh wrote: > On Mon, Mar 11, 2019 at 04:10:15PM +, Steve Ellcey wrote: > > Richard, > > > > I don't necessarily disagree with anything in your comments and long > > term I think that is the right direction, but I wonder if that level of >

Re: C++ PATCH for c++/89214 - ICE when initializing aggregates with bases

2019-03-22 Thread Marek Polacek
On Fri, Mar 22, 2019 at 10:48:32AM -0400, Jason Merrill wrote: > On 3/21/19 4:51 PM, Marek Polacek wrote: > > This is a crash in digest_init_r -- we encounter > > > >/* "If T is a class type and the initializer list has a single > > element of type cv U, where U is T or a class derived f

[committed] [PR rtl-optimization/87761] Improve MIPS splitters to sometimes avoid unnecessary cross-unit register copies

2019-03-22 Thread Jeff Law
I cry uncle! So I finally started looking at the fpr-moves regression in this BZ. No surprise this is further fallout from the combiner changes. Going into register allocation we have something like this: (insn 13 7 14 2 (set (reg:TF 196) (reg:TF 44 $f12 [ d ])) "j.c":7:1 376 {*movtf}

Re: C++ PATCH for c++/89214 - ICE when initializing aggregates with bases

2019-03-22 Thread Jason Merrill
On 3/22/19 2:14 PM, Marek Polacek wrote: On Fri, Mar 22, 2019 at 10:48:32AM -0400, Jason Merrill wrote: + B b10 = {{B{42}}}; + B b11 = {{B{{42; + B b12 = {{B{{{42}; These look ill-formed to me: too many braces around the B value. Looks like the original testcase had the same prob

Re: C++ PATCH for c++/89214 - ICE when initializing aggregates with bases

2019-03-22 Thread Jason Merrill
On 3/22/19 4:12 PM, Jason Merrill wrote: On 3/22/19 2:14 PM, Marek Polacek wrote: On Fri, Mar 22, 2019 at 10:48:32AM -0400, Jason Merrill wrote: +  B b10 = {{B{42}}}; +  B b11 = {{B{{42; +  B b12 = {{B{{{42}; These look ill-formed to me: too many braces around the B value. Looks li

[PATCH] Remove broken links from libstdc++ manual to Doxygen pages

2019-03-22 Thread Jonathan Wakely
The Doxygen docs do not have stable URLs, so linking to specific pages doesn't work well. * doc/xml/manual/backwards_compatibility.xml: Remove link to Doxygen-generated pages with unstable URL. * doc/xml/manual/concurrency_extensions.xml: Likewise. * doc/xml/manual

[wwwdocs, committed] My changes to gcc-9/changes.html (v2)

2019-03-22 Thread David Malcolm
On Mon, 2019-03-18 at 10:27 -0600, Sandra Loosemore wrote: > On 3/18/19 9:48 AM, Gerald Pfeifer wrote: > > On Mon, 18 Mar 2019, David Malcolm wrote: > > > Here's a patch for the website to add my changes for GCC 9 > > > (bearing > > > a strong resemblance to my recent blog post) > > > > Wow, that.

Re: C++ PATCH for c++/89705 - ICE with reference binding with conversion function

2019-03-22 Thread Marek Polacek
On Thu, Mar 21, 2019 at 07:41:37PM -0400, Jason Merrill wrote: > On 3/21/19 4:55 PM, Marek Polacek wrote: > > On Thu, Mar 21, 2019 at 04:13:29PM -0400, Jason Merrill wrote: > > > On 3/16/19 4:53 PM, Marek Polacek wrote: > > > > Here we have code like > > > > > > > > struct X { operator const i

Re: [patch] PR jit/87808: Allow libgccjit to work without an external gcc driver

2019-03-22 Thread David Malcolm
On Thu, 2019-03-21 at 12:26 +0100, Matthias Klose wrote: > Fix PR jit/87808, the embedded driver still needing the external gcc > driver to > find the gcc_lib_dir. This can happen in a packaging context when > libgccjit > doesn't depend on the gcc package, but just on binutils and libgcc- > dev pac

Re: [PATCH][stage1] Wrap option names in gcc internal messages with %< and %>.

2019-03-22 Thread Joseph Myers
This one seems wrong: > - "-fno-strict-aliasing is used"); > + "%<-fno-strict-aliasing is used%>"); (only the option name should be quoted, not "is used"). -- Joseph S. Myers jos...@codesourcery.com

[patch, fortran] Fix PR 78865, ICE on invalid

2019-03-22 Thread Thomas Koenig
Hello world, the attached patch fixes a 7/8/9 regression. The problem was twofold: If a subroutine was called more than once from a different subroutine, the call was only checked the first time. Also, a type change in the backend_decl initiated when there was already a declaration led to an IC

Re: [PATCH][doc] Fix typos in MINLOC, MAXLOC documentation

2019-03-22 Thread Thomas Koenig
Hi Kyrill, I think there's a typo in the documentation of the MINLOC and MAXLOC intrinsics. It implies that when the BACK argument is true it returns the first occurrence of the min/max value, but my understanding is that it should return the last occurrence. This patch fixes the documentatio