Re: [PATCH][vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-07-05 Thread Kyrill Tkachov
On 01/07/16 13:02, Richard Biener wrote: On Thu, 30 Jun 2016, Kyrill Tkachov wrote: On 28/06/16 08:54, Richard Biener wrote: On Thu, 16 Jun 2016, Kyrill Tkachov wrote: On 15/06/16 22:53, Marc Glisse wrote: On Wed, 15 Jun 2016, Kyrill Tkachov wrote: This is a respin of https://gcc.gnu.org

Check fpic is ok for target in pr69102.c

2016-07-05 Thread Kito Cheng
Hi all: pr69102.c use -fPIC flag in dg-options but not check is available for target, so I add "dg-require-effective-target fpic" for it. ChangeLog 2016-07-05 Kito Cheng * gcc.c-torture/compile/pr69102.c: Require fpic support. From caa51d92e620694ee1365ce0f77ac2b152662982 Mon Sep 17 00

Re: [ARM][testsuite] neon-testgen.ml removal

2016-07-05 Thread Christophe Lyon
On 4 July 2016 at 18:28, Kyrill Tkachov wrote: > Hi Christophe, > > > On 22/06/16 16:52, Christophe Lyon wrote: >> >> Hi, >> >> This is a new attempt at removing neon-testgen.ml and generated files. >> >> Compared to my previous version several months ago: >> - I have recently added testcases to m

Re: [PATCH, libgcc/ARM 1b/7] Check CLZ availability with ISA support and architecture level macros

2016-07-05 Thread Thomas Preudhomme
[Fixed subject to reflect patch] Ping? Best regards, Thomas On Monday 27 June 2016 17:51:34 Thomas Preudhomme wrote: > Hi Ramana, > > On Wednesday 01 June 2016 10:00:52 Ramana Radhakrishnan wrote: > > From here down to > > > > > -#if ((__ARM_ARCH__ > 5) && !defined(__ARM_ARCH_6M__)) \ >

Re: move increase_alignment from simple to regular ipa pass

2016-07-05 Thread Prathamesh Kulkarni
ping * 2 ping https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01703.html Thanks, Prathamesh On 28 June 2016 at 14:49, Prathamesh Kulkarni wrote: > ping https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01703.html > > Thanks, > Prathamesh > > On 23 June 2016 at 22:51, Prathamesh Kulkarni > wrote: >> O

Re: [PING] Re: [PATCH] Fix MPX tests on systems with MPX disabled

2016-07-05 Thread Ilya Enkovich
2016-07-04 22:58 GMT+03:00 Andi Kleen : > Andi Kleen writes: > > PING! > >> From: Andi Kleen >> >> I have a Skylake system with MPX in the CPU, but MPX is disabled >> in the kernel configuration. >> >> This makes all the MPX tests fail because they assume if MPX >> is in CPUID it works >> >> Chec

Re: -fopt-info handling

2016-07-05 Thread Richard Biener
On Mon, Jul 4, 2016 at 11:45 PM, Ulrich Drepper wrote: > Anyone? > > On Mon, Jun 27, 2016 at 1:31 PM, Ulrich Drepper wrote: >> The manual says about -fop-info: >> >>If OPTIONS is omitted, it defaults to 'all-all', which means >> dump all available optimization info from all the passes. >>

[PATCH trivial] Fix PR71214 (__cpp_rvalue_references vs. __cpp_rvalue_reference)

2016-07-05 Thread Markus Trippelsdorf
Hi, as PR71214 points out gcc uses a wrong feature test macro for C++11 rvalue references: __cpp_rvalue_reference instead of the correct __cpp_rvalue_references. The fix is trivial. Ok for trunk and active branches? Thanks. c-family/ChangeLog * c-cppbuiltin.c (c_cpp_builtins): Use __

Re: [PATCH] - improve sprintf buffer overflow detection (middle-end/49905)

2016-07-05 Thread Richard Biener
On Mon, 4 Jul 2016, Martin Sebor wrote: > On 07/04/2016 04:59 AM, Richard Biener wrote: > > On Fri, 1 Jul 2016, Martin Sebor wrote: > > > > > The attached patch enhances compile-time checking for buffer overflow > > > and output truncation in non-trivial calls to the sprintf family of > > > funct

Re: [PATCH][vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-07-05 Thread Richard Biener
On Tue, 5 Jul 2016, Kyrill Tkachov wrote: > > On 01/07/16 13:02, Richard Biener wrote: > > On Thu, 30 Jun 2016, Kyrill Tkachov wrote: > > > > > On 28/06/16 08:54, Richard Biener wrote: > > > > On Thu, 16 Jun 2016, Kyrill Tkachov wrote: > > > > > > > > > On 15/06/16 22:53, Marc Glisse wrote: > >

Re: [PATCH][vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-07-05 Thread Marc Glisse
On Tue, 5 Jul 2016, Kyrill Tkachov wrote: As for testing I've bootstrapped and tested the patch on aarch64 and x86_64 with synth_shift_p in vect_synth_mult_by_constant hacked to be always true to exercise the paths that synthesize the shift by additions. Marc, could you test this on the sparc

[Ada] Minor changes in gnat_to_gnu_entity

2016-07-05 Thread Eric Botcazou
This avoids doing useless work at the local level in gnat_to_gnu_entity. Tested on x86_64-suse-linux, applied on the mainline. 2016-07-05 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity): Invoke global_bindings_p last when possible. Do not call elaborate_expression_

Re: [PATCH trivial] Fix PR71214 (__cpp_rvalue_references vs. __cpp_rvalue_reference)

2016-07-05 Thread Richard Biener
On Tue, Jul 5, 2016 at 12:07 PM, Markus Trippelsdorf wrote: > Hi, > > as PR71214 points out gcc uses a wrong feature test macro for C++11 > rvalue references: __cpp_rvalue_reference instead of the correct > __cpp_rvalue_references. > > The fix is trivial. Ok for trunk and active branches? I wonde

Re: [PATCH PR c/71699] Handle pointer arithmetic in nonzero tree checks

2016-07-05 Thread Richard Biener
On Fri, Jul 1, 2016 at 3:10 PM, Manish Goregaokar wrote: > Added a test: Ok if this passed bootstrap/regtest. Richard. > gcc/ChangeLog: > PR c/71699 > * fold-const.c (tree_binary_nonzero_warnv_p): Allow > pointer addition to also be considered nonzero. > > gcc/testsuite/ChangeLog: >

[patch] Fix type merging deficiency during WPA

2016-07-05 Thread Eric Botcazou
Hi, the deficiency comes from a chicken-and-egg problem during WPA: DECL nodes merging depends on type merging, but type merging also depends on DECL nodes merging for dynamic types declared at file scope, which easily occurs in Ada. For the attached trivial testcase, the compiler issues: /hom

Re: [PATCH][vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-07-05 Thread Rainer Orth
Marc Glisse writes: > On Tue, 5 Jul 2016, Kyrill Tkachov wrote: > >> As for testing I've bootstrapped and tested the patch on aarch64 and >> x86_64 with synth_shift_p in vect_synth_mult_by_constant hacked to be >> always true to exercise the paths that synthesize the shift by >> additions. Marc,

Re: [PATCH, rs6000] Use direct moves for __builtin_signbit for 128-bit floating-point

2016-07-05 Thread Segher Boessenkool
On Fri, Jul 01, 2016 at 08:04:46PM -0500, Bill Schmidt wrote: > Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions. > Is this ok for trunk, and eventual 6.2 backport? Okay for both. Just a few cosmetics: > + /* If this is a VSX register, generate the special mfvsrd

Re: [PATCH][vectorizer][2/2] Hook up mult synthesis logic into vectorisation of mult-by-constant

2016-07-05 Thread Kyrill Tkachov
On 05/07/16 12:24, Rainer Orth wrote: Marc Glisse writes: On Tue, 5 Jul 2016, Kyrill Tkachov wrote: As for testing I've bootstrapped and tested the patch on aarch64 and x86_64 with synth_shift_p in vect_synth_mult_by_constant hacked to be always true to exercise the paths that synthesize th

Re: [patch] Fix type merging deficiency during WPA

2016-07-05 Thread Richard Biener
On Tue, Jul 5, 2016 at 12:57 PM, Eric Botcazou wrote: > Hi, > > the deficiency comes from a chicken-and-egg problem during WPA: DECL nodes > merging depends on type merging, but type merging also depends on DECL nodes > merging for dynamic types declared at file scope, which easily occurs in Ada.

Re: [PATCH][expr.c] PR middle-end/71700: zero-extend sub-word value when widening constructor element

2016-07-05 Thread Kyrill Tkachov
Hi Bernd, On 04/07/16 19:02, Bernd Schmidt wrote: On 07/01/2016 11:18 AM, Kyrill Tkachov wrote: In this arm wrong-code PR the struct assignment goes wrong when expanding constructor elements to a register destination when the constructor elements are signed bitfields less than a word wide. In t

[PATCH] Fix loop distribution cost model

2016-07-05 Thread Richard Biener
The loop combining partitions because of cost modeling is too optimistic in skipping partition pairs to check. The hoisting patch exposes this, the following fixes it. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2016-07-05 Richard Biener * tree-loop-distr

[PATCH] Fix path splitting to handle empty else block

2016-07-05 Thread Richard Biener
The following patch fixes a FAIL of gcc.dg/tree-ssa/split-path-5.c with hoisting enabled which leaves both cases of the testcase as if (pred) tmp = tmp + 4; and thus with empty else (by hoisting a conversion). While this eventually is if-convertible it shouldn't prevent path splitting as th

Re: [PATCH][RTL ifcvt] PR rtl-optimization/71594: ICE in noce_emit_cmove due to mismatched source modes

2016-07-05 Thread Kyrill Tkachov
On 04/07/16 12:19, Bernd Schmidt wrote: On 07/04/2016 01:18 PM, Kyrill Tkachov wrote: That does seem like it could cause trouble but I couldn't think of how that sequence could appear or what its semantics would be. Would assigning to the SImode reg 0 in your example not touch the upper bits of

Re: Determine more IVs to be non-overflowing

2016-07-05 Thread Richard Biener
On Sun, 3 Jul 2016, Jan Hubicka wrote: > Hi, > this is updated version of patch. I finally convinced myself to read bit of > wide-int.h and learnt some new things, like that they exists in multiple > precisions. I always tought of wide-int as wider version of HOST_WIDE_INT > that > can hold all

Re: Determine more IVs to be non-overflowing

2016-07-05 Thread Marc Glisse
On Tue, 5 Jul 2016, Richard Biener wrote: given widest_int has only precision of TImode on x86_64? Is that the case? The comments say: It is really finite precision math where the precision is 4 times the size of the largest integer that the target port can represent. And the targe

Re: Determine more IVs to be non-overflowing

2016-07-05 Thread Jan Hubicka
> > This can overflow for __uint128_t IV iterating to UINT128_MAX I think > given widest_int has only precision of TImode on x86_64? An > after-the-fact check like > >if (nit == 0) > return true; > > does the trick I guess. OK, I suppose we need to review niter and related code for s

Re: Determine more IVs to be non-overflowing

2016-07-05 Thread Jan Hubicka
> On Tue, 5 Jul 2016, Richard Biener wrote: > > >given widest_int has only precision of TImode on x86_64? > > Is that the case? The comments say: > > It is really finite precision math where the precision is 4 times the > size of the largest integer that the target port can represent.

[PATCH PR71734] Add missed check that reference defined inside loop.

2016-07-05 Thread Yuri Rumyantsev
Hi All, Here is a simple fix to cure regressions introduced by my fix for 70729. Patch also contains minor changes in test found by Jakub. Bootstrapping and regression testing did not show any new failures. Is it OK for trunk? ChangeLog: 2016-07-05 Yuri Rumyantsev PR tree-optimization/71734

[PATCH][AArch64] Improve Cortex-A53 integer scheduler

2016-07-05 Thread Wilco Dijkstra
This patch improves the accuracy of the Cortex-A53 integer scheduler, resulting in performance gains across a wide range of benchmarks. OK for commit? ChangeLog: 2016-07-05 Wilco Dijkstra * config/arm/cortex-a53.md: Use final_presence_set for in-order. (cortex_a53_shift): Add

Re: [Fortran] Help with STAT= attribute in coarray reference

2016-07-05 Thread Alessandro Fanfarillo
Thanks, committed as rev. 238007. 2016-07-04 14:41 GMT-06:00 Mikael Morin : > Le 30/06/2016 06:05, Alessandro Fanfarillo a écrit : >> >> Dear Mikael, >> >> thanks for your review and for the test. The attached patch, built and >> regtested for x86_64-pc-linux-gnu, addresses all the suggestions. >>

Re: [PATCH][RTL ifcvt] PR rtl-optimization/71594: ICE in noce_emit_cmove due to mismatched source modes

2016-07-05 Thread Bernd Schmidt
On 07/05/2016 03:50 PM, Kyrill Tkachov wrote: Ok, here's the updated patch with the assert replaced by failing the conversion. Bootstrapped and tested on x86_64. Also tested on aarch64. Is this ok? Sure. Thanks! Bernd

[PATCH, vec-tails 10/10] Tests

2016-07-05 Thread Ilya Enkovich
Hi, This patch adds several tests to check tails vectorization functionality. Thanks, Ilya -- gcc/testsuite/ 2016-07-05 Ilya Enkovich * lib/target-supports.exp (check_avx2_hw_available): New. (check_effective_target_avx2_runtime): New. * gcc.dg/vect/vect-tail-combine-

Re: [lra] Cleanup the use of offmemok and don't count spilling cost for it

2016-07-05 Thread Jiong Wang
On 04/07/16 20:44, Vladimir Makarov wrote: On 06/30/2016 01:22 PM, Jiong Wang wrote: Here is the patch, From my understanding, "offmemok" is used to represent a memory operand who's address we want to reload, and searching of it's reference location seems confirmed my understanding as it's alw

Re: [PATCH trivial] Fix PR71214 (__cpp_rvalue_references vs. __cpp_rvalue_reference)

2016-07-05 Thread Jason Merrill
On Tue, Jul 5, 2016 at 6:44 AM, Richard Biener wrote: > On Tue, Jul 5, 2016 at 12:07 PM, Markus Trippelsdorf > wrote: >> Hi, >> >> as PR71214 points out gcc uses a wrong feature test macro for C++11 >> rvalue references: __cpp_rvalue_reference instead of the correct >> __cpp_rvalue_references. >>

Re: [Patch, avr] Fix PR 50739 - nameless error with -fmerge-all-constants

2016-07-05 Thread Georg-Johann Lay
Senthil Kumar Selvaraj schrieb: Senthil Kumar Selvaraj writes: Hi, This patch fixes a problem with fmerge-all-constants and the progmem attribute - on trunk, the below testcase errors out with a section conflict error. When avr_asm_select_section renames .rodata.xyz section to .prog

Re: [PATCH trivial] Fix PR71214 (__cpp_rvalue_references vs. __cpp_rvalue_reference)

2016-07-05 Thread Markus Trippelsdorf
On 2016.07.05 at 12:21 -0400, Jason Merrill wrote: > On Tue, Jul 5, 2016 at 6:44 AM, Richard Biener > wrote: > > On Tue, Jul 5, 2016 at 12:07 PM, Markus Trippelsdorf > > wrote: > >> Hi, > >> > >> as PR71214 points out gcc uses a wrong feature test macro for C++11 > >> rvalue references: __cpp_rva

Re: [PATCH trivial] Fix PR71214 (__cpp_rvalue_references vs. __cpp_rvalue_reference)

2016-07-05 Thread Jason Merrill
On Tue, Jul 5, 2016 at 12:30 PM, Markus Trippelsdorf wrote: > On 2016.07.05 at 12:21 -0400, Jason Merrill wrote: >> On Tue, Jul 5, 2016 at 6:44 AM, Richard Biener >> wrote: >> > On Tue, Jul 5, 2016 at 12:07 PM, Markus Trippelsdorf >> > wrote: >> >> Hi, >> >> >> >> as PR71214 points out gcc uses

[v3 PATCH] Implement LWG 2509

2016-07-05 Thread Ville Voutilainen
Tested on Linux-X64. 2016-07-05 Ville Voutilainen Implement LWG 2509, any_cast doesn't work with rvalue reference targets and cannot move with a value target. * include/experimental/any (any(_ValueType&&)): Constrain and add an overload that doesn't forward. * include/e

Re: [v3 PATCH] Implement LWG 2509

2016-07-05 Thread Jonathan Wakely
On 05/07/16 20:33 +0300, Ville Voutilainen wrote: Implement LWG 2509, any_cast doesn't work with rvalue reference targets and cannot move with a value target. * include/experimental/any (any(_ValueType&&)): Constrain and add an overload that doesn't forward. * include/experiment

Re: Check fpic is ok for target in pr69102.c

2016-07-05 Thread Mike Stump
On Jul 5, 2016, at 1:39 AM, Kito Cheng wrote: > > pr69102.c use -fPIC flag in dg-options but not check is available for > target, so I add "dg-require-effective-target fpic" for it.' I happened to notice you didn't ask Ok?, and you didn't apply it or have it applied. I'd recommend one or the o

Use iv_can_overflow_p in ivopts

2016-07-05 Thread Jan Hubicka
Hi, this patch makes ivopts to use iv_can_overflow_p on its candidates. This helps to determine if candidate wraps in case it is not directly originating from IV variable (i.e. it is derived IV or artificial one). For those we can not use type information because we do now know if they are going to

Re: [PATCH] Allow fwprop to undo vectorization harm (PR68961)

2016-07-05 Thread Richard Sandiford
Richard Biener writes: > On Sun, 3 Jul 2016, Richard Sandiford wrote: > >> Richard Biener writes: >> > On Wed, 15 Jun 2016, Richard Sandiford wrote: >> > >> >> Richard Biener writes: >> >> > With the proposed cost change for vector construction we will end up >> >> > vectorizing the testcase in

[v3 PATCH] Implement LWG 2451

2016-07-05 Thread Ville Voutilainen
Tested on Linux-x64. 2016-07-05 Ville Voutilainen Implement LWG 2451, optional should 'forward' T's implicit conversions. * include/experimental/optional (__is_optional_impl, __is_optional): New. (optional()): Make constexpr and default. (optional(_Up&&), optional(const

Re: [PATCH, ARM, 3/3] Add multilib support for bare-metal ARM architectures

2016-07-05 Thread Jasmin J.
Ping! https://gcc.gnu.org/ml/gcc-patches/2016-05/msg01578.html On 05/19/2016 11:42 PM, Jasmin J. wrote: Hi! Ping! Attached is a rebased version of my patch due to commit 33ac16c8cc870229a6a08cd7037275b01e7a0b9d *** gcc/ChangeLog *** 2016-04-19 Thomas Preud'homme Jasmin Je

Re: Check fpic is ok for target in pr69102.c

2016-07-05 Thread Kito Cheng
Hi Mike: thanks for your review :) On Wed, Jul 6, 2016 at 2:54 AM, Mike Stump wrote: > On Jul 5, 2016, at 1:39 AM, Kito Cheng wrote: >> >> pr69102.c use -fPIC flag in dg-options but not check is available for >> target, so I add "dg-require-effective-target fpic" for it.' > > I happened to noti

[PATCH, rs6000] Fix PR target/71733, ICE with -mcpu=power9 -mno-vsx

2016-07-05 Thread Peter Bergner
The following patch fixes a bug where we do not disable POWER9 vector dform addressing when we compile for POWER9 but without VSX support. This manifested itself with us trying to use dform addressing with altivec loads/stores which is illegal, leading to an ICE. This has bootstrapped and regtest