Re: RFC [1/3] divmod transform v2

2016-10-24 Thread Richard Biener
On Fri, 21 Oct 2016, Jeff Law wrote: > On 10/21/2016 04:34 AM, Prathamesh Kulkarni wrote: > > On 20 October 2016 at 15:02, Richard Biener wrote: > > > On Wed, 19 Oct 2016, Jeff Law wrote: > > > > > > > On 10/15/2016 11:59 PM, Prathamesh Kulkarni wrote: > > > > > Hi, > > > > > After approval from

Re: [PATCH] Also fold bmi/bmi2/tbm bextr/bextri/bzhi/pext/pdep builtins

2016-10-24 Thread Richard Biener
On Fri, 21 Oct 2016, Uros Bizjak wrote: > On Fri, Oct 21, 2016 at 5:26 PM, Jakub Jelinek wrote: > > Hi! > > > > This patch on top of the just posted patch adds folding for a couple more > > builtins (though, hundreds or thousands of other md builtins remain unfolded > > even though they actually

PING: Verify package integrity of downloaded prerequisites

2016-10-24 Thread Moritz Klammler
I would like to ping this patch of mine: https://gcc.gnu.org/ml/gcc-patches/2016-10/msg00486.html Thank you.

Re: [RFA][PR tree-optimization/72785] Avoid duplicating blocks with b_c_p or b_o_s calls.

2016-10-24 Thread Richard Biener
On Fri, Oct 21, 2016 at 11:45 PM, Jeff Law wrote: > > As noted in the BZ, jump threading is isolating a path which contains a > b_c_p call. The result of the isolation is that on the original path, b_c_p > continues to return 0 (not-constant), but on the isolated path it returns 1 > (because the

Re: [PATCH, ARM 2/7, ping3] Adapt atomic and exclusive load and store to ARMv8-M Baseline

2016-10-24 Thread Thomas Preudhomme
Ping? Best regards, Thomas On 14/10/16 14:48, Thomas Preudhomme wrote: Ping? Best regards, Thomas On 03/10/16 17:42, Thomas Preudhomme wrote: Ping? Best regards, Thomas On 22/09/16 14:41, Thomas Preudhomme wrote: Hi, This patch is part of a patch series to add support for atomic opera

Re: [PATCH, ARM 3/7, ping3] Refactor atomic compare_and_swap to make it fit for ARMv8-M Baseline

2016-10-24 Thread Thomas Preudhomme
Ping? Best regards, Thomas On 14/10/16 14:50, Thomas Preudhomme wrote: Ping? Best regards, Thomas On 03/10/16 17:44, Thomas Preudhomme wrote: Ping? Best regards, Thomas On 22/09/16 14:44, Thomas Preudhomme wrote: Hi, This patch is part of a patch series to add support for atomic opera

Re: [PATCH, ARM 4/7, ping3] Adapt atomic compare and swap to ARMv8-M Baseline

2016-10-24 Thread Thomas Preudhomme
Ping? Best regards, Thomas On 14/10/16 14:50, Thomas Preudhomme wrote: Ping? Best regards, Thomas On 03/10/16 17:45, Thomas Preudhomme wrote: Ping? Best regards, Thomas On 22/09/16 14:46, Thomas Preudhomme wrote: Hi, This patch is part of a patch series to add support for atomic opera

Re: [PATCH, ARM 5/7, ping3] Adapt other atomic operations to ARMv8-M Baseline

2016-10-24 Thread Thomas Preudhomme
Ping? Best regards, Thomas On 14/10/16 14:51, Thomas Preudhomme wrote: Ping? Best regards, Thomas On 03/10/16 17:45, Thomas Preudhomme wrote: Ping? Best regards, Thomas On 22/09/16 14:47, Thomas Preudhomme wrote: Hi, This patch is part of a patch series to add support for atomic opera

Re: [PATCH, ARM 7/7, ping3] Enable ARMv8-M atomic and synchronization support for ARMv8-M Baseline

2016-10-24 Thread Thomas Preudhomme
Ping? Best regards, Thomas On 14/10/16 14:51, Thomas Preudhomme wrote: Ping? Best regards, Thomas On 03/10/16 17:46, Thomas Preudhomme wrote: Ping? Best regards, Thomas On 22/09/16 14:50, Thomas Preudhomme wrote: Hi, This patch is part of a patch series to add support for atomic opera

Re: [RFA][PR tree-optimization/72785] Avoid duplicating blocks with b_c_p or b_o_s calls.

2016-10-24 Thread Jakub Jelinek
On Mon, Oct 24, 2016 at 09:55:47AM +0200, Richard Biener wrote: > Hum. This means we no longer can for example apply loop versioning or > peeling to loops containing any of both calls. I've not yet traced down > whether > we can still inline functions containing such calls. I agree gimple_can_d

Re: [PATCH, GCC/ARM 2/2, ping] Allow combination of aprofile and rmprofile multilibs

2016-10-24 Thread Thomas Preudhomme
Ping? Best regards, Thomas On 13/10/16 16:35, Thomas Preudhomme wrote: Hi ARM maintainers, This patchset aims at adding multilib support for R and M profile ARM architectures and allowing it to be built alongside multilib for A profile ARM architectures. This specific patch is concerned with

Re: [PATCH, GCC/ARM 1/2, ping] Add multilib support for embedded bare-metal targets

2016-10-24 Thread Thomas Preudhomme
Ping? Best regards, Thomas On 13/10/16 16:35, Thomas Preudhomme wrote: Hi ARM maintainers, This patchset aims at adding multilib support for R and M profile ARM architectures and allowing it to be built alongside multilib for A profile ARM architectures. This specific patch adds the t-rmprofi

Re: [RFA][PR tree-optimization/72785] Avoid duplicating blocks with b_c_p or b_o_s calls.

2016-10-24 Thread Richard Biener
On Mon, Oct 24, 2016 at 10:05 AM, Jakub Jelinek wrote: > On Mon, Oct 24, 2016 at 09:55:47AM +0200, Richard Biener wrote: >> Hum. This means we no longer can for example apply loop versioning or >> peeling to loops containing any of both calls. I've not yet traced down >> whether >> we can still

Re: Verify package integrity of downloaded prerequisites (partially fixes 61439)

2016-10-24 Thread Richard Biener
On Fri, Oct 7, 2016 at 3:10 PM, Moritz Klammler wrote: > I would like to bump my patch that makes the > `contrib/download_prerequisites` script verify the checksums of > the downloaded packages and augments it with a few additional options. > All feedback I have received has been incorporated. Is

Re: Gimple loop splitting v2

2016-10-24 Thread Bin.Cheng
On Thu, Oct 20, 2016 at 3:55 PM, Bin.Cheng wrote: > On Thu, Oct 20, 2016 at 3:43 PM, Michael Matz wrote: >> Hi, >> >> On Sat, 5 Dec 2015, Jeff Law wrote: >> >>> Nit. I don't think you want a comma after "so". And it looks like your >>> comment got truncated as well. >>> >>> With the comment abo

Re: [PATCH] PR77985: DWARF: Emit DW_AT_comp_dir in all cases, even if source is an absolute path

2016-10-24 Thread Richard Biener
On Fri, Oct 21, 2016 at 12:56 PM, Ximin Luo wrote: > Richard Biener: >> On Tue, Oct 18, 2016 at 2:35 PM, Ximin Luo wrote: >>> >>> Thanks, I'll add the Changelog entry. My computer isn't very powerful, so I >>> didn't bootstrap it yet, I only tested it on a stage1 compiler, on Debian >>> testing

[committed][ARM] Restore saved globals in pure-code.exp

2016-10-24 Thread Andre Vieira (lists)
Hello, I noticed I forgot to restore the changed global values in pure-code.exp. Failing to restore them could influence subsequent testing. Committed this as obvious in revision r241466. Cheers, Andre gcc/testsuite/ChangeLog: 2016-10-24 Andre Vieira * gcc.target/arm/pure-code/pure

Re: Gimple loop splitting v2

2016-10-24 Thread Michael Matz
Hi, On Mon, 24 Oct 2016, Bin.Cheng wrote: > Unfortunately I didn't reproduce the improvement in my run on AArch64, I > will double check if I made some mistakes. Yeah, our regular testers also didn't pick up these kinds of improvements. As I said, the machine was quite jumpy (though not loade

Re: [Patch, fortran] PR69834 - Collision in derived type hashes

2016-10-24 Thread Andre Vehreschild
Hi Paul, concerning this: > >> Index: gcc/fortran/trans-stmt.c > >> === > >> *** gcc/fortran/trans-stmt.c(revision 241439) > >> --- gcc/fortran/trans-stmt.c(working copy) > >> *** gfc_trans_do_while (gfc_code * co

Re: [ada, testsuite] Parallelize check-gnat

2016-10-24 Thread Rainer Orth
Hi Jakub, > On Fri, Oct 21, 2016 at 04:01:48PM +0200, Rainer Orth wrote: >> I happened to notice that the gnat.dg testsuite run is slow even on a >> reasonably fast SPARC machine (3.6 GHz SPARC T5) and together with the >> libgomp testsuite (PR libgomp/66005) dominates bootstrap time: within a >>

Re: [patch] Fix PHI optimization issue with boolean types

2016-10-24 Thread Eric Botcazou
> Btw, if int_fits_type_p is supposed to be only called for INTEGER_TYPEs > then > > /* If arg1 is an INTEGER_CST, fold it to new type. */ > if (INTEGRAL_TYPE_P (TREE_TYPE (new_arg0)) > && int_fits_type_p (arg1, TREE_TYPE (new_arg0))) > { > if (gimple_assig

Re: [ada, testsuite] Parallelize check-gnat

2016-10-24 Thread Jakub Jelinek
On Mon, Oct 24, 2016 at 11:12:20AM +0200, Rainer Orth wrote: > Not really: on that SPARC T5 system, I have (sequential gnat.dg > vs. acats with 19 partitions), all within a -j96 bootstrap: > > wall clock #tests > > gnat.dg 6505s = 108m 25s5100 gna

Re: [PATCH][v6] GIMPLE store merging pass

2016-10-24 Thread Kyrill Tkachov
On 21/10/16 19:37, Richard Biener wrote: On October 21, 2016 3:29:15 PM GMT+02:00, Kyrill Tkachov wrote: Hi Richard, On 21/10/16 13:37, Richard Biener wrote: On Tue, 18 Oct 2016, Kyrill Tkachov wrote: Hi Richard, This patch is a merge of [1] and [2] and implements the manual merging of

Re: [patch] Fix PHI optimization issue with boolean types

2016-10-24 Thread Richard Biener
On Mon, Oct 24, 2016 at 11:15 AM, Eric Botcazou wrote: >> Btw, if int_fits_type_p is supposed to be only called for INTEGER_TYPEs >> then >> >> /* If arg1 is an INTEGER_CST, fold it to new type. */ >> if (INTEGRAL_TYPE_P (TREE_TYPE (new_arg0)) >> && int_fits_type_p (arg1, TR

Re: [PATCH][v6] GIMPLE store merging pass

2016-10-24 Thread Richard Biener
On Mon, 24 Oct 2016, Kyrill Tkachov wrote: > > On 21/10/16 19:37, Richard Biener wrote: > > On October 21, 2016 3:29:15 PM GMT+02:00, Kyrill Tkachov > > wrote: > > > Hi Richard, > > > > > > On 21/10/16 13:37, Richard Biener wrote: > > > > On Tue, 18 Oct 2016, Kyrill Tkachov wrote: > > > > > >

Re: [rs6000] Add support for signed overflow arithmetic

2016-10-24 Thread Eric Botcazou
> mcrxr does not exist anymore. It is not implemented in any IBM non-embedded > CPU since POWER4. PA6T does not have it either. In some versions of the > 2.0x ISA it does exist, but only in the optional "embedded" category. Yes, it exists in all (public) versions of the unified 2.0x ISA. > Lin

Re: [Patch, fortran] PR69834 - Collision in derived type hashes

2016-10-24 Thread Paul Richard Thomas
Hi Andre, It was the comment for the function that you eliminated. I'll get rid of the comment. I was in a bit of a hurry and did indeed only look where you suggested. Sorry about that. Thanks Paul On 24 October 2016 at 11:07, Andre Vehreschild wrote: > Hi Paul, > > concerning this: > >> >> In

[PATCH] Fix PR78076

2016-10-24 Thread Richard Biener
Committed as obvious. Richard. 2016-10-24 Richard Biener PR tree-optimization/78076 * tree-ssa-loop-split.c (tree_ssa_split_loops): Reset aux also on the loop tree root. Index: gcc/tree-ssa-loop-split.c

[patch,avr] Fix PR71676 / PR71678: casesi not working for SImode / Dimode

2016-10-24 Thread Georg-Johann Lay
This fixes issues with casesi that originate from taking hard coded subreg:HI of the SImode switch value: * The subreg is cutting away the upper bytes which is wrong code if the switch actually operates on a value > 16 bits. * The hard-coded subreg will ICE on DImode because of nested subregs

Re: [v3 PATCH] Cross-port exception-safety and move fixes of std::any to std::experimental::any.

2016-10-24 Thread Jonathan Wakely
On 24/10/16 02:35 +0300, Ville Voutilainen wrote: On 24 October 2016 at 02:33, Ville Voutilainen wrote: * include/std/any (operator=(const any&)): No sir, that's not what the patch modifies: 2016-10-24 Ville Voutilainen Cross-port exception-safety and move fixes of std::any to

Re: [v3 PATCH] Cross-port the latest resolution of LWG2756 and some bug-fixes to experimental::optional.

2016-10-24 Thread Jonathan Wakely
On 22/10/16 19:39 +0300, Ville Voutilainen wrote: On 22 October 2016 at 19:34, Ville Voutilainen wrote: Cross-port the latest resolution of LWG2756 and some bug-fixes to experimental::optional. PR libstc++/77288 PR libstdc++/77727 And yes, I'll fix that first PR reference befo

Re: [PATCH] PR77985: DWARF: Emit DW_AT_comp_dir in all cases, even if source is an absolute path

2016-10-24 Thread Ximin Luo
Richard Biener: > On Fri, Oct 21, 2016 at 12:56 PM, Ximin Luo wrote: >> Richard Biener: >>> On Tue, Oct 18, 2016 at 2:35 PM, Ximin Luo wrote: Thanks, I'll add the Changelog entry. My computer isn't very powerful, so I didn't bootstrap it yet, I only tested it on a stage1 compiler,

Re: [PATCH, RFC] Fix PR71915, PR71490: Handle casts on strides consistently

2016-10-24 Thread Richard Biener
On Fri, Oct 21, 2016 at 11:46 PM, Bill Schmidt wrote: > Hi, > > I've been meaning for some time now to do a better job handling strength > reduction candidates where the stride of the candidate and its basis > involves a cast (usually widening) from another type. The two PRs > https://gcc.gnu.org

Re: [rs6000] Add support for signed overflow arithmetic

2016-10-24 Thread Segher Boessenkool
On Mon, Oct 24, 2016 at 11:54:27AM +0200, Eric Botcazou wrote: > > mcrxr does not exist anymore. It is not implemented in any IBM non-embedded > > CPU since POWER4. PA6T does not have it either. In some versions of the > > 2.0x ISA it does exist, but only in the optional "embedded" category. >

Re: [PATCH][check_GNU_style.sh] More aggressively ignore dg-xxx directives

2016-10-24 Thread Bernd Schmidt
On 10/21/2016 10:59 PM, Mike Stump wrote: On Oct 21, 2016, at 12:47 PM, Martin Sebor wrote: The latest patch works as expected for me, both with an operand and with stdin. But since I'm not empowered to approve it one of the others reviewers will need to give it their blessing. Seems fine f

Re: [PATCH] 77864 Fix noexcept conditions for map/set default constructors

2016-10-24 Thread Jonathan Wakely
On 12/10/16 22:36 +0200, François Dumont wrote: On 10/10/2016 23:01, Tim Song wrote: Trying again...with a few edits. On Mon, Oct 10, 2016 at 3:24 PM, François Dumont wrote: @@ -602,24 +612,32 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct _Rb_tree_impl : public _Node_allocator

Re: [rs6000] Add support for signed overflow arithmetic

2016-10-24 Thread Eric Botcazou
> But not in the "Base" category. GCC should not generate mcrxr unless some > flag enabling the "Embedded" category is set (this can of course be set > via -mcpu=), or we have ISA 1.xx . It is probably nicer if we treat > mcrxr separately, with an -mmcrxr flag, with TARGET_MCRXR. OK, that makes

Re: [PATCH] Use SCEV in EVRP, fix single predecessor discovery

2016-10-24 Thread Richard Biener
On Fri, 21 Oct 2016, Richard Biener wrote: > > This makes us derive ranges for loop IVs in EVRP using > adjust_range_with_scevs. It also allows us to derive ranges from > conditions in loop preheaders (I think that's still broken because > we force simple preheaders and predecessor search doesn

Re: [PATCH][check_GNU_style.sh] More aggressively ignore dg-xxx directives

2016-10-24 Thread Kyrill Tkachov
On 24/10/16 12:01, Bernd Schmidt wrote: On 10/21/2016 10:59 PM, Mike Stump wrote: On Oct 21, 2016, at 12:47 PM, Martin Sebor wrote: The latest patch works as expected for me, both with an operand and with stdin. But since I'm not empowered to approve it one of the others reviewers will need

Re: [PATCH][AArch64] Fix PR target/77822: Use tighter predicates for zero_extract patterns

2016-10-24 Thread Kyrill Tkachov
Ping. https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01321.html Thanks, Kyrill On 17/10/16 17:15, Kyrill Tkachov wrote: Hi all, For the attached testcase the code ends up trying to extract bits outside the range of the normal register widths. The aarch64 patterns for ubfz and tbnz end up accep

Re: [PATCH][AArch64] Add function comments to some prologue/epilogue helpers

2016-10-24 Thread Kyrill Tkachov
Ping. https://gcc.gnu.org/ml/gcc-patches/2016-10/msg00839.html Thanks, Kyrill On 12/10/16 11:23, Kyrill Tkachov wrote: Hi all, I'm looking at the aarch64 prologue and epilogue generation code and I noticed many of the helper functions don't have function comments so it makes it harder than it

Re: [ada, testsuite] Parallelize check-gnat

2016-10-24 Thread Rainer Orth
Hi Jakub, > On Mon, Oct 24, 2016 at 11:12:20AM +0200, Rainer Orth wrote: >> Not really: on that SPARC T5 system, I have (sequential gnat.dg >> vs. acats with 19 partitions), all within a -j96 bootstrap: >> >> wall clock #tests >> >> gnat.dg 6505s = 108m 25s

Re: [patch] Fix PHI optimization issue with boolean types

2016-10-24 Thread Eric Botcazou
> > But integer_truep is just integer_onep for BOOLEAN_TYPEs. > > Yes, but it's more descriptive IMHO. At the cost of consistency with fits_to_tree_p though. > fits_to_tree_p avoids creating an INTEGER_CST in ggc memory and thus is the > prefered way to test if you have a wide-int but not yet an

Re: [rs6000] Add support for signed overflow arithmetic

2016-10-24 Thread Segher Boessenkool
On Mon, Oct 24, 2016 at 01:20:09PM +0200, Eric Botcazou wrote: > > You can use SO instead, but then you have to make sure it is clear before > > you run the OE=1 instruction. SO of course is the cheapest way to access > > overflow (it is copied to the CR field on any compare or recording insn). >

Re: [patch] Fix PHI optimization issue with boolean types

2016-10-24 Thread Richard Biener
On Mon, Oct 24, 2016 at 1:39 PM, Eric Botcazou wrote: >> > But integer_truep is just integer_onep for BOOLEAN_TYPEs. >> >> Yes, but it's more descriptive IMHO. > > At the cost of consistency with fits_to_tree_p though. > >> fits_to_tree_p avoids creating an INTEGER_CST in ggc memory and thus is th

Re: [patch, fortran] PR77828 Linking gfortran-7 compiled program with libgfortran of 5.x allowed but crashes

2016-10-24 Thread Jerry DeLisle
On 10/18/2016 04:48 PM, Jerry DeLisle wrote: Hi Folks, The attached patch does some minor cleanup and bumps the libgfortran version number. I have wanted to reorder the dtp structure for many years now. Not strictly needed but it has bugged me forever. The bump is needed because of the signifi

Re: [PATCH] PR77985: DWARF: Emit DW_AT_comp_dir in all cases, even if source is an absolute path

2016-10-24 Thread Richard Biener
On Mon, Oct 24, 2016 at 12:53 PM, Ximin Luo wrote: > Richard Biener: >> On Fri, Oct 21, 2016 at 12:56 PM, Ximin Luo wrote: >>> Richard Biener: On Tue, Oct 18, 2016 at 2:35 PM, Ximin Luo wrote: > > Thanks, I'll add the Changelog entry. My computer isn't very powerful, so > I did

Re: [RFC] Speed-up -fprofile-update=atomic

2016-10-24 Thread Martin Liška
On 10/17/2016 02:03 PM, Richard Biener wrote: > On Mon, Oct 17, 2016 at 1:46 PM, Martin Liška wrote: >> On 10/13/2016 11:43 AM, Richard Biener wrote: >>> On Wed, Oct 12, 2016 at 3:52 PM, Martin Liška wrote: On 10/04/2016 11:45 AM, Richard Biener wrote: > On Thu, Sep 15, 2016 at 12:00 PM,

[PATCH] Make vector::data() return type consistent in C++98

2016-10-24 Thread Jonathan Wakely
At https://gcc.gnu.org/ml/libstdc++/2016-08/msg00123.html I suggested changing the non-standard return type of vector::data() in C++98 mode. Nobody objected, so I'm making that change. This removes a silent ABI incompatibility betwen C++98 mode and later modes, for std::vector::data() where A::po

Re: [PATCH] PR77985: DWARF: Emit DW_AT_comp_dir in all cases, even if source is an absolute path

2016-10-24 Thread Ximin Luo
Richard Biener: > On Mon, Oct 24, 2016 at 12:53 PM, Ximin Luo wrote: >> Richard Biener: >>> On Fri, Oct 21, 2016 at 12:56 PM, Ximin Luo wrote: Richard Biener: > On Tue, Oct 18, 2016 at 2:35 PM, Ximin Luo wrote: >> >> Thanks, I'll add the Changelog entry. My computer isn't very p

[patch, fortran] PR45516 - [F08] allocatable components of recursive type

2016-10-24 Thread Paul Richard Thomas
Dear All, Please find attached the patch for allocatable components of recursive type. The patch is pretty straightforward in that for the main part they are treated exactly as their pointer equivalents. The exception to this is the automatic deallocation of allocatable components. I tried to use

[PATCH] Fix PR71491

2016-10-24 Thread Richard Biener
Committed. Richard. 2016-10-24 Richard Biener PR testsuite/71491 * gcc.dg/vect/slp-43.c: Adjust for !vect_hw_misalign. * gcc.dg/vect/slp-45.c: Likewise. Index: gcc/testsuite/gcc.dg/vect/slp-43.c === ---

Re: libgo patch committed: Rewrite interface code into Go

2016-10-24 Thread Rainer Orth
Hi Ian, > I committed this patch which should fix this problem. Bootstrapped > and ran Go testsuite on x86_64-pc-linux-gnu, which admittedly proves > little. It did fix it indeed: Solaris 10, 11, and 12 bootstraps are fine again. Thanks. Rainer -- -

Re: [PATCH][AArch64] Fix PR target/77822: Use tighter predicates for zero_extract patterns

2016-10-24 Thread Kyrill Tkachov
On 24/10/16 12:29, Kyrill Tkachov wrote: Ping. https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01321.html I just noticed my original ChangeLog entry was truncated. It is 2016-10-04 Kyrylo Tkachov PR target/77822 * config/aarch64/aarch64.md (*tb1): Use aarch64_simd_shift_imm_ pre

[PING] [PATCH, C++] Warn on redefinition of builtin functions (PR c++/71973)

2016-10-24 Thread Bernd Edlinger
Hi! I'd like to ping for my patch here: https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01348.html Thanks Bernd. On 10/17/16 21:18, Bernd Edlinger wrote: > On 10/17/16 20:05, Joseph Myers wrote: >> On Sun, 16 Oct 2016, Bernd Edlinger wrote: >> >>> Second, the declaration in the glibc header files

[Patch 0/4] [ARM] Enable _Float16 on ARM

2016-10-24 Thread James Greenhalgh
Hi, This patch set builds on the AArch64 support for _Float16 that will be added once the patch set starting at https://gcc.gnu.org/ml/gcc-patches/2016-09/msg02383.html is accepted. Unlike the AArch64 support, we've not got too much to do, outside of setting up a single step conversions between H

[Patch 1/4] [libgcc, ARM] Generalise float-to-half conversion function.

2016-10-24 Thread James Greenhalgh
Hi, I'm adapting this patch from work started by Matthew Wahab. Conversions from double precision floats to the ARM __fp16 are required to round only once. A conversion function for double to __fp16 to support this on soft-fp targets. This and the following patch add this conversion function by

[Patch 2/4] [libgcc] Add double to half conversions.

2016-10-24 Thread James Greenhalgh
Hi, Conversions from double precision floats to the ARM __fp16 are required to round only once. This patch adds a functions named __gnu_d2h_ieee and __gnu_d2h_alternative for double to __fp16 conversions in IEEE and ARM alternative format. The make use of the existing __gnu_float2h_internal conv

[Patch ARM 4/4] Enable _Float16

2016-10-24 Thread James Greenhalgh
Hi, Finally, having added support for single-step DFmode to HFmode conversions, this patch adds support for _Float16 to the ARM back-end. That means making sure that only __fp16 promotes and adding similar hooks to those used in the AArch64 port giving the excess precision rules, and marking HFm

[Patch 3/4] Half to double precision conversions

2016-10-24 Thread James Greenhalgh
Hi, This patch adds the half-to-double conversions, both as library functions, or when supported in hardware, using the appropriate instructions. That means adding support for the __gnu_d2h_{ieee/alternative} library calls added in patch 2/4, and providing a more aggressive truncdfhf2 where we c

Re: Implement -Wduplicated-branches (PR c/64279)

2016-10-24 Thread Marek Polacek
On Thu, Oct 20, 2016 at 02:21:42PM -0600, Martin Sebor wrote: > > --- gcc/testsuite/c-c++-common/Wduplicated-branches-1.c > > +++ gcc/testsuite/c-c++-common/Wduplicated-branches-1.c > > @@ -0,0 +1,187 @@ > > +/* PR c/64279 */ > > +/* { dg-do compile } */ > > +/* { dg-options "-Wduplicated-branches

Re: Implement -Wduplicated-branches (PR c/64279)

2016-10-24 Thread Marek Polacek
On Thu, Oct 20, 2016 at 12:56:12PM -0600, Jeff Law wrote: > On 10/20/2016 08:37 AM, David Malcolm wrote: > > On Thu, 2016-10-20 at 16:24 +0200, Marek Polacek wrote: > > > On Thu, Oct 20, 2016 at 10:11:55AM -0400, Jason Merrill wrote: > > > > On Wed, Oct 19, 2016 at 7:07 AM, Marek Polacek > > > > w

C++ and DWARF patches ping

2016-10-24 Thread Jakub Jelinek
Hi! I'd like to ping a couple of patches: - PR77886 http://gcc.gnu.org/ml/gcc-patches/2016-10/msg00524.html - fix -Wimplicit-fallthrough handling in templates - DWARF http://gcc.gnu.org/ml/gcc-patches/2016-10/msg01183.html - DW_AT_inline for C++17 inline variables - DWARF5 http://gcc.gnu.or

Re: Implement -Wduplicated-branches (PR c/64279) (v2)

2016-10-24 Thread Marek Polacek
On Thu, Oct 20, 2016 at 12:28:36PM +0200, Marek Polacek wrote: > I found a problem with this patch--we can't call do_warn_duplicated_branches > in > build_conditional_expr, because that way the C++-specific codes might leak > into > the hasher. Instead, I should use operand_equal_p, I think. Le

Re: Implement -Wduplicated-branches (PR c/64279)

2016-10-24 Thread Martin Sebor
On 10/24/2016 07:59 AM, Marek Polacek wrote: On Thu, Oct 20, 2016 at 02:21:42PM -0600, Martin Sebor wrote: --- gcc/testsuite/c-c++-common/Wduplicated-branches-1.c +++ gcc/testsuite/c-c++-common/Wduplicated-branches-1.c @@ -0,0 +1,187 @@ +/* PR c/64279 */ +/* { dg-do compile } */ +/* { dg-options

[C++ PATCH] Fix postfix-expression parsing (PR c++/78089)

2016-10-24 Thread Jakub Jelinek
Hi! While writing a testcase for __builtin_launder, I've noticed we don't parse __builtin_shuffle or __builtin_addressof properly (as well as do error recovery e.g. for typeid in constant expression etc.). The problem is that several spots would return something; from the first switch in cp_parse

Re: [PATCH, Fortran] Four small DEC extensions

2016-10-24 Thread Fritz Reese
https://gcc.gnu.org/ml/fortran/2016-10/msg00087.html et. al. > On 12/10/16 13:30, Fritz Reese wrote: >> Here I submit for review four small extensions to the GNU Fortran >> frontend for compatibility with legacy code. I figure it might be a >> nice change of pace from my larger patches. Never fear,

[PATCH][AArch64] Expand DImode constant stores to two SImode stores when profitable

2016-10-24 Thread Kyrill Tkachov
Hi all, When storing a 64-bit immediate that has equal bottom and top halves we currently synthesize the repeating 32-bit pattern twice and perform a single X-store. With this patch we synthesize the 32-bit pattern once into a W register and store that twice using an STP. This reduces codesize

[PATCH][ARM] Avoid partial overlaps in DImode shifts

2016-10-24 Thread Wilco Dijkstra
With -fpu=neon DI mode shifts are expanded after reload. DI mode registers can either fully or partially overlap. However the shift expansion code can only deal with the full overlap case, and generates incorrect code for partial overlaps. The fix is to add new variants that support either full

[PATCH] Emit DWARF5 DW_AT_reference and DW_AT_rvalue_reference

2016-10-24 Thread Jakub Jelinek
Hi! This is another addition in DWARF5. The patch emits these attributes only for DW_TAG_subprogram for non-static ref-qualified member functions. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? We really should emit it also for DW_TAG_subroutine_type for PMF types, the prob

[C++ PATCH] Use VAR_P (x) instead of TREE_CODE () == VAR_DECL in C++ FE

2016-10-24 Thread Jakub Jelinek
Hi! Just a cleanup patch, most of the FE already uses these macros. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2016-10-24 Jakub Jelinek * cxx-pretty-print.c (pp_cxx_check_constraint): Use VAR_P (x) instead of TREE_CODE (x) == VAR_DECL. * cons

[PATCH] Use VAR_P (x) instead of TREE_CODE () == VAR_DECL in config/i386

2016-10-24 Thread Jakub Jelinek
Hi! This is a small cleanup patch for i386 backend. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2016-10-24 Jakub Jelinek * config/i386/i386.c (ix86_in_large_data_p, ix86_expand_builtin): Use VAR_P (x) instead of TREE_CODE (x) == VAR_DECL. --- gcc/conf

Re: Implement -Wduplicated-branches (PR c/64279)

2016-10-24 Thread Marek Polacek
On Mon, Oct 24, 2016 at 08:18:25AM -0600, Martin Sebor wrote: > > The case above is just a case where with -O GCC can figure out what the > > value > > of a const-qualified variable is, see decl_constant_value_for_optimization. > > Since the warning is implemented even before gimplifying, optimiza

[PATCH] Use VAR_P (x) instead of TREE_CODE () == VAR_DECL in fortran FE

2016-10-24 Thread Jakub Jelinek
Hi! This is a small cleanup patch, use VAR_P or VAR_OR_FUNCTION_DECL_P macros some more (similar patch has been done for gcc/ directory a few weeks ago). Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2016-10-24 Jakub Jelinek * trans-intrinsic.c (gfc_conv_intrin

Re: Implement -Wduplicated-branches (PR c/64279)

2016-10-24 Thread Jakub Jelinek
On Mon, Oct 24, 2016 at 04:34:40PM +0200, Marek Polacek wrote: > On Mon, Oct 24, 2016 at 08:18:25AM -0600, Martin Sebor wrote: > > > The case above is just a case where with -O GCC can figure out what the > > > value > > > of a const-qualified variable is, see > > > decl_constant_value_for_optimi

Re: Implement -Wduplicated-branches (PR c/64279)

2016-10-24 Thread Marek Polacek
On Mon, Oct 24, 2016 at 04:39:20PM +0200, Jakub Jelinek wrote: > On Mon, Oct 24, 2016 at 04:34:40PM +0200, Marek Polacek wrote: > > On Mon, Oct 24, 2016 at 08:18:25AM -0600, Martin Sebor wrote: > > > > The case above is just a case where with -O GCC can figure out what the > > > > value > > > > of

Re: [PATCH] Use VAR_P (x) instead of TREE_CODE () == VAR_DECL in config/i386

2016-10-24 Thread Jeff Law
On 10/24/2016 08:32 AM, Jakub Jelinek wrote: Hi! This is a small cleanup patch for i386 backend. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2016-10-24 Jakub Jelinek * config/i386/i386.c (ix86_in_large_data_p, ix86_expand_builtin): Use VAR_P (x) inst

Re: [PATCH] Use VAR_P (x) instead of TREE_CODE () == VAR_DECL in fortran FE

2016-10-24 Thread Jeff Law
On 10/24/2016 08:34 AM, Jakub Jelinek wrote: Hi! This is a small cleanup patch, use VAR_P or VAR_OR_FUNCTION_DECL_P macros some more (similar patch has been done for gcc/ directory a few weeks ago). Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2016-10-24 Jakub Jelinek

Re: [patch, fortran] PR77828 Linking gfortran-7 compiled program with libgfortran of 5.x allowed but crashes

2016-10-24 Thread Janne Blomqvist
On Mon, Oct 24, 2016 at 2:53 PM, Jerry DeLisle wrote: > On 10/18/2016 04:48 PM, Jerry DeLisle wrote: >> >> Hi Folks, >> >> The attached patch does some minor cleanup and bumps the libgfortran >> version >> number. I have wanted to reorder the dtp structure for many years now. >> Not >> strictly n

Re: backport fix for c/71115 to branches?

2016-10-24 Thread Jeff Law
On 10/22/2016 10:28 AM, Martin Sebor wrote: Bug 71115 - [5/6 Regression] Missing warning: excess elements in struct initializer, was fixed on trunk but the bug is still open since the patch hasn't been backported to the affected branches. Is it okay to go ahead and backport it to 6.x and 5.x? T

Re: RFC [1/3] divmod transform v2

2016-10-24 Thread Jeff Law
On 10/24/2016 01:28 AM, Richard Biener wrote: [ big snip ] + + /* Update all statements in stmts. + if stmt is lhs = op1 TRUNC_DIV_EXPR op2, change to lhs = REALPART_EXPR + if stmt is lhs = op1 TRUNC_MOD_EXPR op2, change to lhs = IMAGPART_EXPR. */ I'd just emit a copy from RES to th

Re: [PATCH] Simplify conditions in EVRP, handle taken edge

2016-10-24 Thread Jeff Law
On 10/20/2016 12:10 AM, kugan wrote: Hi, On 20/10/16 02:54, Andrew Pinski wrote: On Wed, Oct 19, 2016 at 1:01 AM, Christophe Lyon wrote: On 18 October 2016 at 09:34, Richard Biener wrote: On Mon, 17 Oct 2016, Richard Biener wrote: This refactors propagation vs. substitution and handles

[PATCH] GIMPLE store merging pass

2016-10-24 Thread Kyrill Tkachov
Hi all, This is a slight update over [1] with Richard's feedback addressed. In terminate_all_aliasing_chains we now terminate the chain early if the destination is writing to a base offset by a variable amount. This avoids walking the store chain and performing more alias checks. The param max-s

Re: Implement -Wduplicated-branches (PR c/64279)

2016-10-24 Thread Martin Sebor
On 10/24/2016 08:44 AM, Marek Polacek wrote: On Mon, Oct 24, 2016 at 04:39:20PM +0200, Jakub Jelinek wrote: On Mon, Oct 24, 2016 at 04:34:40PM +0200, Marek Polacek wrote: On Mon, Oct 24, 2016 at 08:18:25AM -0600, Martin Sebor wrote: The case above is just a case where with -O GCC can figure ou

Re: relax rule for flexible array members in 6.x (78039 - fails to compile glibc tests)

2016-10-24 Thread Jeff Law
On 10/21/2016 05:47 PM, Martin Sebor wrote: Bug 78039 complains that the fix for c++/71912 recently backported to the GCC 6 branch causes GCC 6 to reject Glibc tests that expect to be able to define structs with multiple flexible array members, despite it violating the C standard(*). The rejecte

Re: RFA: Fail gracefully when registering info for an unknown plugin

2016-10-24 Thread Jeff Law
On 10/20/2016 08:19 AM, Nick Clifton wrote: Hi Guys, Whilst experimenting with writing a plugin for gcc I discovered that I could cause a segfault if I attempted to register a PLUGIN_INFO callback with any name other than the name of the plugin. The attached patch fixes this problem and

Re: [Patch] Don't expand targetm.stack_protect_fail if it's NULL_TREE

2016-10-24 Thread Jeff Law
On 10/20/2016 01:46 PM, Jiong Wang wrote: 2016-10-20 19:50 GMT+01:00 Jeff Law : On 10/20/2016 09:28 AM, Jiong Wang wrote: The current code suppose targetm.stack_protect_fail always generate something. But in case one target start to generate NULL_TREE, there will be ICE. This patch adds a sim

Re: [PATCH v3] gcc/config/tilegx/tilegx.c (tilegx_function_profiler): Save r10 to stack before call mcount

2016-10-24 Thread Jeff Law
On 10/23/2016 12:11 PM, Bernd Edlinger wrote: Hi, I don't know much about tilegx, but I think the patch should work as is. This is because the Save r10 code is a bundle { addi sp, sp, -8 st sp, r10 } which stores r10 at [sp] and subtracts 8 from sp. The restore r10 code is actually t

Re: RFC [1/3] divmod transform v2

2016-10-24 Thread Prathamesh Kulkarni
On 24 October 2016 at 20:23, Jeff Law wrote: > On 10/24/2016 01:28 AM, Richard Biener wrote: > [ big snip ] > > >> >>> + >>> + /* Update all statements in stmts. >>> + if stmt is lhs = op1 TRUNC_DIV_EXPR op2, change to lhs = >>> REALPART_EXPR >>> + if stmt is lhs =

Re: RFC [2/3] divmod transform v2 - override expand_divmod_libfunc for ARM port

2016-10-24 Thread Prathamesh Kulkarni
On 16 October 2016 at 11:30, Prathamesh Kulkarni wrote: > Hi, > This patch overrides expand_divmod_libfunc hook for ARM port. > I separated the SImode tests into separate file from DImode tests > because certain arm configs (cortex-15) have hardware div insn for > SImode but not for DImode, and fo

Re: RFC [3/3] divmod transform v2 - add test cases

2016-10-24 Thread Prathamesh Kulkarni
On 16 October 2016 at 11:31, Prathamesh Kulkarni wrote: > Hi, > This patch adds test-cases for divmod transform. > OK to commit ? ping https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01241.html Thanks, Prathamesh > > Thanks, > Prathamesh

Re: Verify package integrity of downloaded prerequisites (partially fixes 61439)

2016-10-24 Thread Jeff Law
On 10/24/2016 02:44 AM, Richard Biener wrote: On Fri, Oct 7, 2016 at 3:10 PM, Moritz Klammler wrote: I would like to bump my patch that makes the `contrib/download_prerequisites` script verify the checksums of the downloaded packages and augments it with a few additional options. All feedback I

Re: [PATCH] Extend -Wint-in-bool-context to warn for multiplications

2016-10-24 Thread Jeff Law
On 10/23/2016 05:31 AM, Bernd Edlinger wrote: On 10/22/16 08:52, Bernd Edlinger wrote: > On 10/22/16 04:17, Martin Sebor wrote: >> On 10/21/2016 04:37 PM, Joseph Myers wrote: >>> The quoting in the diagnostic should be %<&&%>, not '&&'. >> >> Presumably same for '*' (i.e., %<*%>). >> >> But I

Re: [PATCH 0/7, GCC, V8M] ARMv8-M Security Extensions

2016-10-24 Thread Kyrill Tkachov
Hi Andre, On 24/08/16 12:02, Andre Vieira (lists) wrote: On 10/08/16 09:08, Andre Vieira (lists) wrote: On 09/08/16 17:47, Sandra Loosemore wrote: On 08/09/2016 06:01 AM, Andre Vieira (lists) wrote: [snip] The documentation is in the ARMV8-M Security Extensions in: ARM®v8-M Security Extensio

Re: [rs6000] Add support for signed overflow arithmetic

2016-10-24 Thread Eric Botcazou
> Maybe the best you can do is generate the double-width result, and then > check if the upper halve is the sign extension of the lower halve. Maybe > some trickery can help (for add/sub/neg at least). That's inefficient, even for additive operations. > You can also just FAIL the expander if !TA

Re: [patch, fortran] PR77828 Linking gfortran-7 compiled program with libgfortran of 5.x allowed but crashes

2016-10-24 Thread Jerry DeLisle
On 10/24/2016 07:49 AM, Janne Blomqvist wrote: On Mon, Oct 24, 2016 at 2:53 PM, Jerry DeLisle wrote: On 10/18/2016 04:48 PM, Jerry DeLisle wrote: Hi Folks, The attached patch does some minor cleanup and bumps the libgfortran version number. I have wanted to reorder the dtp structure for man

Re: [PATCH][AArch64] Expand DImode constant stores to two SImode stores when profitable

2016-10-24 Thread Andrew Pinski
On Mon, Oct 24, 2016 at 7:27 AM, Kyrill Tkachov wrote: > Hi all, > > When storing a 64-bit immediate that has equal bottom and top halves we > currently > synthesize the repeating 32-bit pattern twice and perform a single X-store. > With this patch we synthesize the 32-bit pattern once into a W re

[PATCH][AArch64] Cleanup add expander

2016-10-24 Thread Wilco Dijkstra
The add expander still contains some expansion code that was required for the previous prolog/epilog code, but which is no longer needed. I also noticed that the current version splits off immediates from frame addressing instructions, which doesn't seem a good idea. Avoiding this resulted in sma

Re: [Patch] Don't expand targetm.stack_protect_fail if it's NULL_TREE

2016-10-24 Thread Jiong Wang
On 24/10/16 16:22, Jeff Law wrote: On 10/20/2016 01:46 PM, Jiong Wang wrote: 2016-10-20 19:50 GMT+01:00 Jeff Law : On 10/20/2016 09:28 AM, Jiong Wang wrote: The current code suppose targetm.stack_protect_fail always generate something. But in case one target start to generate NULL_TREE, ther

Re: [patch, fortran] PR45516 - [F08] allocatable components of recursive type

2016-10-24 Thread Andre Vehreschild
Hi Paul, On Mon, 24 Oct 2016 14:42:42 +0200 Paul Richard Thomas wrote: > Dear All, > > Please find attached the patch for allocatable components of recursive > type. The patch is pretty straightforward in that for the main part > they are treated exactly as their pointer equivalents. The except

  1   2   >