[PATCH, i386][resend] Add native support for VIA C7, Eden and Nano CPUs

2016-06-14 Thread J. Mayer
The following patch adds support and native detection for C7, Eden "Samuel2", Eden "Nehemiah", Eden "Esther", Eden x2, Eden x4, Nano 1xxx, Nano 2xxx, Nano 3xxx, Nano x2 and Nano x4 VIA CPUs. Sorry for the bogus character encoding of my previous mail. Please CC me to any comment / review / change

[PATCH, i386][updated] Add native support for VIA C7, Eden and Nano CPUs

2016-06-14 Thread J. Mayer
The following patch adds support and native detection for C7, Eden "Samuel2", Eden "Nehemiah", Eden "Esther", Eden x2, Eden x4, Nano 1xxx, Nano 2xxx, Nano 3xxx, Nano x2 and Nano x4 VIA CPUs. Please CC me to any comment / review / change request. --- diff --git a/gcc/config/i386/driver-i386.c

Re: [PATCH] PR71275 ira.c bb_loop_depth

2016-06-14 Thread Alan Modra
On Tue, Jun 14, 2016 at 09:26:19AM -0700, H.J. Lu wrote: > On Thu, May 26, 2016 at 4:02 AM, Alan Modra wrote: > > This fixes lack of bb_loop_depth info in some of the early parts of > > ira, which has been the case for quite some time. All active branches > > return 0 from

Re: [C++ Patch] One more error + error to error + inform and a subtler issue

2016-06-14 Thread Jason Merrill
On Tue, Jun 14, 2016 at 6:12 PM, Paolo Carlini wrote: > constexpr-specialization.C:7:26: error: redeclaration ‘constexpr int foo(T) > [with T = int]’ differs in ‘constexpr’ > > constexpr-specialization.C:6:16: error: from previous declaration ‘constexpr > int foo(T)

[PATCH 1/2] gcc/arc: New peephole2 and little endian arc test fixes

2016-06-14 Thread Andrew Burgess
Resolve some test failures introduced for little endian arc as a result of the recent arc/nps400 additions. There's a new peephole2 optimisation to merge together two zero_extracts in order that the movb instruction can be used. Source operand mode filled in for a peephole2 optimisation, to

[PATCH 0/2] Arc fixes and genrecog warning fix

2016-06-14 Thread Andrew Burgess
Joern, Thanks for taking the time to review the previous patch. I've revised the original fix-up patch to remove the addition of the MODE in the zn_compare_operator case as you suggest, this is patch #1. Patch #2 is an attempt to address you comment: A generator program complaining about a

[PATCH 2/2] gcc/genrecog: Don't warn for missing mode on special predicates

2016-06-14 Thread Andrew Burgess
In md.texi it says: Predicates written with @code{define_special_predicate} do not get any automatic mode checks, and are treated as having special mode handling by @command{genrecog}. However, in genrecog, when validating a SET pattern, if either the source or destination is missing a

[PATCH, rs6000] Clean up rs6000-builtin.def

2016-06-14 Thread Bill Schmidt
Hi, I discovered some duplicate #define's in config/rs6000/rs6000-builtin.def. This patch removes those, and corrects a commentary typo that I noticed while I was in there. Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions. Preapproved, committed. Thanks, Bill

Re: [PATCH], PowerPC: Allow DImode in Altivec registers

2016-06-14 Thread Segher Boessenkool
On Mon, Jun 13, 2016 at 02:29:41PM -0400, Michael Meissner wrote: > It would help if I included the patch. :-) > > Are these changes ok to install in the trunk? Assuming they go in the > > trunk, > > can I install them in the 6.2 branch if they cause no regression? Okay for trunk. Okay for 6

[C++ Patch] One more error + error to error + inform and a subtler issue

2016-06-14 Thread Paolo Carlini
Hi, today I noticed the below while I was putting together another batch of minor diagnostic fixes. The error + error to error + inform change seems rather straightforward to me and as usual adds clarity to the diagnostic outputs (all the front-ends I have at hand either do something similar

Re: [PATCH, rs6000] Fix the vsx-elemrev-[24].c tests in a different way

2016-06-14 Thread Segher Boessenkool
On Fri, Jun 10, 2016 at 11:16:03AM -0500, Bill Schmidt wrote: > Verified on powerpc64le-unknown-linux-gnu with an updated binutils, and on > powerpc64-unknown-linux-gnu with an out-of-date binutils. Is this ok for > trunk? Okay. "powerpc_p9vector_ok" is a confusing name, but it seems to be

Re: [PATCH, i386]: Implement PR 71246, Missing built-in functions for float128 NaNs

2016-06-14 Thread Rainer Orth
Uros Bizjak writes: > testsuite/ChangeLog: > > 2016-06-12 Uros Bizjak > > PR target/71241 > * testsuite/gcc.dg/torture/float128-nan.c: New test. > > Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. The test FAILs on 64-bit

Re: [Patch] Implement is_[nothrow_]swappable (p0185r1) - 2nd try

2016-06-14 Thread Marc Glisse
ENOPATCH ;-) (I highly recommend https://gcc.gnu.org/wiki/CompileFarm ) -- Marc Glisse

Re: [PATCH 0/9] separate shrink-wrapping

2016-06-14 Thread Segher Boessenkool
On Wed, Jun 08, 2016 at 06:43:23PM +0200, Bernd Schmidt wrote: > On 06/08/2016 05:16 PM, Segher Boessenkool wrote: > >There is no standard naming for this as far as I know. I'll gladly > >use a better name anyone comes up with. > > Maybe just subpart? How about "factor"? Segher

[Patch] Implement is_[nothrow_]swappable (p0185r1) - 2nd try

2016-06-14 Thread Daniel Krügler
This is an implementation of the Standard is_swappable traits according to http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0185r1.html During that work it has been found that std::array's member swap's exception specification for zero-size arrays was incorrectly depending on the

Re: [PATCH 3/4] spellcheck.h: add best_match template; implement early-reject

2016-06-14 Thread Jeff Law
On 06/14/2016 09:15 AM, David Malcolm wrote: There's a lot of repetition between find_closest_string and find_closest_identifier, and the next patch adds more, so this patch moves the logic into a new template class "best_match" for locating the closest string from a sequence of candidates. The

Re: [PATCH 2/4] Add more spellcheck selftests

2016-06-14 Thread Jeff Law
On 06/14/2016 09:15 AM, David Malcolm wrote: The next patch in the kit reimplements find_closest_string and find_closest_identifier, so it seems prudent to add some more test coverage for these. This patch also adds some more test coverage for levenshtein_distance itself. Successfully

Re: [PATCH 1/4] Introduce gcc_rich_location::add_fixit_misspelled_id

2016-06-14 Thread Jeff Law
On 06/14/2016 09:15 AM, David Malcolm wrote: There's a fair amount of repetition in the code to emit fixits for misspelled identifiers, and I plan to add more such fixits, so this patch moves it to a helper method. Successfully bootstrapped in combination with the rest of the kit on

Re: [PATCH][RTL ifcvt] Allow simple register subregs in noce_convert_multiple_sets

2016-06-14 Thread Jeff Law
On 06/14/2016 09:54 AM, Kyrill Tkachov wrote: Hi all, The noce_convert_multiple_sets transformation in ifcvt is supposed to handle things like: if (x > y) { i = a; j = b; } transforming them into conditional moves. However it currently is rather conservative in that it allows only

Re: Cilk Plus testsuite needs massive cleanup (PR testsuite/70595)

2016-06-14 Thread Jeff Law
On 06/14/2016 12:09 PM, Ilya Verbin wrote: On Fri, Apr 29, 2016 at 11:19:47 -0700, Mike Stump wrote: On Apr 29, 2016, at 5:41 AM, Rainer Orth wrote: diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@

Re: PR 71181 Avoid rehash after reserve

2016-06-14 Thread François Dumont
On 14/06/2016 13:22, Jonathan Wakely wrote: On 13/06/16 21:49 +0200, François Dumont wrote: Hi I eventually would like to propose the attached patch. In tr1 I made sure we use a special past-the-end iterator that makes usage of lower_bound result without check safe. I'm confused ...

Re: [Patch, cfg] Improve jump to return optimization for complex return

2016-06-14 Thread Segher Boessenkool
On Tue, Jun 14, 2016 at 03:53:59PM +0100, Jiong Wang wrote: > "bl to pop" into "pop" which is "jump to return" into "return", so a better > place to fix this issue is at try_optimize_cfg where we are doing these > jump/return optimization already: > > /* Try to change a branch to a return to

RFA (gimplify): PATCH to implement C++ order of evaluation paper

2016-06-14 Thread Jason Merrill
As discussed in bug 71104, the C++ P0145 proposal specifies the evaluation order of certain operations: 1. a.b 2. a->b 3. a->*b 4. a(b1, b2, b3) 5. b @= a 6. a[b] 7. a << b 8. a >> b The second patch introduces a flag -fargs-in-order to control whether these orders are enforced on calls.

container method call shortcuts

2016-06-14 Thread François Dumont
Hi Here is the patch to limit burden on compiler in finding out what is the right method to call eventually when we already know it. This patch doesn't show all indentation fixes I will also commit. * include/bits/stl_deque.h (std::deque<>::operator=): Call _M_assign_aux.

Re: [C++ Patch/RFC] PR 70572 ("[4.9/5/6/7 Regression] ICE on code with decltype (auto) on x86_64-linux-gnu in digest_init_r")

2016-06-14 Thread Jason Merrill
On Wed, Jun 8, 2016 at 4:21 AM, Paolo Carlini wrote: > .. shall we fix this in gcc-6-branch too or not? It's just an ICE on invalid > but we don't emit any diagnostic before the crash. Sure, it should be safe enough. Jason

Re: [C++ PATCH] Fix up TREE_READONLY handling in duplicate_decls (PR c++/71528)

2016-06-14 Thread Jason Merrill
On Tue, Jun 14, 2016 at 3:21 PM, Jakub Jelinek wrote: > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk (and > after some time for 6.x)? Yes. Jason

Re: [C++ Patch] PR 70202: avoid creating incomplete types

2016-06-14 Thread Jason Merrill
OK. Jason

[C++ PATCH] Fix up TREE_READONLY handling in duplicate_decls (PR c++/71528)

2016-06-14 Thread Jakub Jelinek
Hi! The following testcase is miscompiled, because during cp_finish_decl when handling the initializer of the reference we clear TREE_READONLY, because it needs to be initialized at runtime, but the (useless) later extern decl has TREE_READONLY set and when we are merging the two decls, we set

[committed] Update e-mail address

2016-06-14 Thread Mikael Morin
Hello, I'm changing e-mails. I've just updated the gcc redirection address with the new value. Mikael Index: ChangeLog === --- ChangeLog (révision 237453) +++ ChangeLog (révision 237454) @@ -1,3 +1,7 @@ +2016-06-14 Mikael

Re: [PATCHv2 0/7] ARC: Add support for nps400 variant

2016-06-14 Thread Joern Wolfgang Rennecke
On 03/05/16 11:56, Andrew Burgess wrote: * Claudiu Zissulescu [2016-05-02 09:02:16 +]: Please also consider to address also the following warnings introduced: mainline/gcc/gcc/config/arc/arc.md:888: warning: source missing a mode?

Re: [PATCH] [ARC] Use GOTOFFPC relocation for pc-relative accesses.

2016-06-14 Thread Joern Wolfgang Rennecke
On 02/05/16 14:50, Claudiu Zissulescu wrote: This patch makes the pc-relative access to be more safe by using @pcl syntax. This new syntax generates a pc-relative relocation which will be handled by assembler. OK to apply? OK.

Re: Cilk Plus testsuite needs massive cleanup (PR testsuite/70595)

2016-06-14 Thread Ilya Verbin
On Fri, Apr 29, 2016 at 11:19:47 -0700, Mike Stump wrote: > On Apr 29, 2016, at 5:41 AM, Rainer Orth > wrote: > > diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h > > --- a/gcc/config/darwin.h > > +++ b/gcc/config/darwin.h > > @@ -179,6 +179,7 @@ extern

Re: [C++ Patch] PR 70202: avoid creating incomplete types

2016-06-14 Thread Paolo Carlini
HI, On 14/06/2016 15:06, Jason Merrill wrote: On 06/11/2016 12:06 PM, Paolo Carlini wrote: The remaining issue to be discussed is what to do about that old bug, c++/27952, a crash in decay_conversion during error recovery, when vtt is found null. I propose to simply check for it in

Go patch committed: escape analysis flood phase

2016-06-14 Thread Ian Lance Taylor
This patch by Chris Manghane implements the escape analysis flood phase, in which the compiler propagates escape information across assignments and function calls. Escape analysis is still not turned on. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index:

Re: [PATCH] Reject boolean/enum types in last arg of __builtin_*_overflow_p

2016-06-14 Thread Martin Sebor
Here is an untested patch for that. Except that the middle-end considers conversions between BOOLEAN_TYPE and single bit unsigned type as useless, so in theory this can't work well, and in practice only if we are lucky enough (plus it generates terrible code right now), so we'd probably need to

Re: [PATCH] Improve add/sub TImode double word splitters (PR rtl-optimization/70467)

2016-06-14 Thread H.J. Lu
On Mon, May 2, 2016 at 9:24 AM, Jakub Jelinek wrote: > On Fri, Apr 01, 2016 at 08:29:17PM +0200, Uros Bizjak wrote: >> > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for stage1 >> > (while the previous patch looks simple enough that I'd like to see it in >> > 6.x,

Re: [PATCH] PR71275 ira.c bb_loop_depth

2016-06-14 Thread H.J. Lu
On Thu, May 26, 2016 at 4:02 AM, Alan Modra wrote: > This fixes lack of bb_loop_depth info in some of the early parts of > ira, which has been the case for quite some time. All active branches > return 0 from bb_loop_depth() in update_equiv_regs, but whether that > actually

[PATCH, i386]: Emit sse_movmskps for signbittf3

2016-06-14 Thread Uros Bizjak
2016-06-14 Uros Bizjak * config/i386/i386.md (signbittf2): Emit sse_movmskps for TARGET_SSE. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Committed to mainline SVN. Uros. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index

Re: [PATCH 3/3][AArch64] Emit division using the Newton series

2016-06-14 Thread Evandro Menezes
On 06/14/16 03:28, Christophe Lyon wrote: On 13 June 2016 at 21:06, Evandro Menezes wrote: On 06/13/16 05:15, James Greenhalgh wrote: Thanks for your patience on this patch series. Just checked the series in. If I'm not mistaken, it looks like you forgot to update

[PATCH][RTL ifcvt] Allow simple register subregs in noce_convert_multiple_sets

2016-06-14 Thread Kyrill Tkachov
Hi all, The noce_convert_multiple_sets transformation in ifcvt is supposed to handle things like: if (x > y) { i = a; j = b; } transforming them into conditional moves. However it currently is rather conservative in that it allows only simple reg-to-reg moves. In the testcase in

Re: [PATCH] Backport PowerPC complex __float128 compiler support to GCC 6.x

2016-06-14 Thread Bill Schmidt
Hi Richard, As nobody else has replied, let me take a stab at this one. > On Jun 10, 2016, at 2:06 AM, Richard Biener wrote: > > On Thu, 9 Jun 2016, Michael Meissner wrote: > >> I'm including the global reviewers on the list. I just want to be sure that >> there is no

Re: [PATCH AArch64]Support missing vcond pattern by adding/using vec_cmp/vcond_mask patterns.

2016-06-14 Thread James Greenhalgh
On Wed, Jun 08, 2016 at 03:57:42PM +0100, Bin Cheng wrote: > > From: James Greenhalgh > > Sent: 31 May 2016 16:24 > > To: Bin Cheng > > Cc: gcc-patches@gcc.gnu.org; nd > > Subject: Re: [PATCH AArch64]Support missing vcond pattern by adding/using > > vec_cmp/vcond_mask

[Patch, cfg] Improve jump to return optimization for complex return

2016-06-14 Thread Jiong Wang
On 11/05/16 12:52, Jiong Wang wrote: On 09/05/16 16:08, Segher Boessenkool wrote: Hi Christophe, On Mon, May 09, 2016 at 03:54:26PM +0200, Christophe Lyon wrote: After this patch, I've noticed that gcc.target/arm/pr43920-2.c now fails at: /* { dg-final { scan-assembler-times "pop" 2 } } */

[PATCH 3/4] spellcheck.h: add best_match template; implement early-reject

2016-06-14 Thread David Malcolm
There's a lot of repetition between find_closest_string and find_closest_identifier, and the next patch adds more, so this patch moves the logic into a new template class "best_match" for locating the closest string from a sequence of candidates. The patch also introduces a pair of early-reject

[PATCH 4/4] C FE: suggest corrections for misspelled identifiers and type names

2016-06-14 Thread David Malcolm
This patch introduces a new lookup_name_fuzzy function to the C frontend and uses it to provides suggestions for various error messages that may be due to misspellings, and also for the warnings in implicit_decl_warning. This latter part may be controversial. So far, we've only provided spelling

[PATCH 1/4] Introduce gcc_rich_location::add_fixit_misspelled_id

2016-06-14 Thread David Malcolm
There's a fair amount of repetition in the code to emit fixits for misspelled identifiers, and I plan to add more such fixits, so this patch moves it to a helper method. Successfully bootstrapped in combination with the rest of the kit on x86_64-pc-linux-gnu Successful -fself-test of stage1 on

[PATCH 2/4] Add more spellcheck selftests

2016-06-14 Thread David Malcolm
The next patch in the kit reimplements find_closest_string and find_closest_identifier, so it seems prudent to add some more test coverage for these. This patch also adds some more test coverage for levenshtein_distance itself. Successfully bootstrapped in combination with the rest of the kit on

Backports to 6.2

2016-06-14 Thread Jakub Jelinek
Hi! I've backported following patches to 6.x branch and committed after bootstrapping/regtesting them on x86_64-linux and i686-linux. Jakub 2016-06-14 Jakub Jelinek Backported from mainline 2016-06-04 Jakub Jelinek PR

Re: [PATCH] Add ggc-tests.c

2016-06-14 Thread Ulrich Weigand
David Malcolm wrote: > On Mon, 2016-06-13 at 13:36 +0200, Ulrich Weigand wrote: > > Gerald Pfeifer wrote: > > > > > The source code of need_finalization_p in ggc.h reads > > > > > >template > > >static inline bool > > >need_finalization_p () > > >{ > > >#if GCC_VERSION >=

[PATCH] PR 71483 - Fix live SLP operations

2016-06-14 Thread Alan Hayward
In the given testcase, g++ splits a live operation into two scalar statements and four vector statements. _5 = _4 >> 2; _7 = (short int) _5; Is turned into: vect__5.32_80 = vect__4.31_76 >> 2; vect__5.32_81 = vect__4.31_77 >> 2; vect__5.32_82 = vect__4.31_78 >> 2; vect__5.32_83 =

Re: [Patch AArch64] Add some more missing intrinsics

2016-06-14 Thread Kyrill Tkachov
Hi James, On 13/06/16 17:31, James Greenhalgh wrote: Hi, Inspired by Jiong's recent work, here are some more missing intrinsics, and a smoke test for each of them. This patch covers: vcvt_n_f64_s64 vcvt_n_f64_u64 vcvt_n_s64_f64 vcvt_n_u64_f64 vcvt_f64_s64 vrecpe_f64

Re: [PATCH] Reject boolean/enum types in last arg of __builtin_*_overflow_p

2016-06-14 Thread Marek Polacek
On Tue, Jun 14, 2016 at 02:05:12PM +, Joseph Myers wrote: > On Tue, 14 Jun 2016, Jakub Jelinek wrote: > > > But, unlike normal signed or unsigned integral types or char, cast to > > bool/_Bool is special, it is actually a comparison != 0. > > So, I'd say if we want to support arith overflow

Re: [C++ PATCH] Fix incomplete type error recovery (PR c++/71516)

2016-06-14 Thread Jason Merrill
On Mon, Jun 13, 2016 at 2:44 PM, Jakub Jelinek wrote: > Ok for trunk? Would this be reasonable to backport too (I mean, it > shouldn't break anything and accessing TYPE_MAIN_VARIANT (error_mark_node) > can crash miserably)? Yes. Jason

[PATCH] Remove strided grouped store restrictions

2016-06-14 Thread Richard Biener
The following patch is similar to the strided grouped load case I fixed recently - it handles all the missing cases. The testcase needs the previous dependence fix. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2016-06-14 Richard Biener

Re: [PATCH] Reject boolean/enum types in last arg of __builtin_*_overflow_p

2016-06-14 Thread Joseph Myers
On Tue, 14 Jun 2016, Jakub Jelinek wrote: > But, unlike normal signed or unsigned integral types or char, cast to > bool/_Bool is special, it is actually a comparison != 0. > So, I'd say if we want to support arith overflow to bool/_Bool, it should be > above with: > signed_intNNN_t t =

[PATCH] Improve vectorizer dependence analysis

2016-06-14 Thread Richard Biener
The following patch makes us handle strided group stores in the vectorizer dependence analysis code as our general dependence code cannot handle {0, +, s_1} vs. {1, +, s_1} resulting from a[i] = ..; a[i+1] = ..; i+=s; this prevents the strided store support enhancement from triggering on

Re: [PATCH][AArch64] Cleanup -mpc-relative-loads

2016-06-14 Thread James Greenhalgh
On Fri, Jun 03, 2016 at 12:56:19PM +, Wilco Dijkstra wrote: > This patch cleans up the -mpc-relative-loads option processing. Rename to > avoid the > "no*" name and confusing !no* expressions. Fix the option processing code to > implement > -mno-pc-relative-loads rather than ignore it. >

[PATCH] Fix typo in copyright boilerplate

2016-06-14 Thread Kyrill Tkachov
Hi all, Committing the typo fix as obvious. Thanks, Kyrill 2016-06-14 Kyrylo Tkachov * expmed.h: Close parenthesis in "at your option" in copyright boilerplate. * lower-subreg.h: Likewise. diff --git a/gcc/expmed.h b/gcc/expmed.h index

Re: [PATCH][AArch64] Improve aarch64_modes_tieable_p

2016-06-14 Thread James Greenhalgh
On Fri, Apr 22, 2016 at 01:22:51PM +, Wilco Dijkstra wrote: > Improve modes_tieable by returning true in more cases: allow scalar access > within vectors without requiring an extra move. Removing these moves helps > the register allocator in deciding whether to use integer or FP registers on >

[PATCH] Fix PR71526

2016-06-14 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2016-06-14 Richard Biener PR middle-end/71526 * genmatch.c (expr::gen_transform): Use in_type for comparisons if available. * gfortran.dg/pr71526.f90: New testcase.

Re: [C++ Patch] Fix some simple location issues​ (2)

2016-06-14 Thread Jason Merrill
OK. Jason

Re: [C++ Patch] PR 70202: avoid creating incomplete types

2016-06-14 Thread Jason Merrill
On 06/11/2016 12:06 PM, Paolo Carlini wrote: The remaining issue to be discussed is what to do about that old bug, c++/27952, a crash in decay_conversion during error recovery, when vtt is found null. I propose to simply check for it in build_special_member_call, avoid passing an unusable null

Re: move increase_alignment from simple to regular ipa pass

2016-06-14 Thread Prathamesh Kulkarni
On 13 June 2016 at 16:13, Jan Hubicka wrote: >> diff --git a/gcc/cgraph.h b/gcc/cgraph.h >> index ecafe63..41ac408 100644 >> --- a/gcc/cgraph.h >> +++ b/gcc/cgraph.h >> @@ -1874,6 +1874,9 @@ public: >> if we did not do any inter-procedural code movement. */ >>unsigned

Re: [PATCH GCC]Resolve compilation time known alias checks in vectorizer

2016-06-14 Thread Richard Biener
On Mon, Jun 13, 2016 at 12:01 PM, Bin Cheng wrote: > Hi, > GCC vectorizer generates many unnecessary runtime alias checks known at > compilation time. For some data-reference pairs, alias relation can be > resolved at compilation time, in this case, we can simply skip the

Re: [PATCH GCC]Improve alias check code generation in vectorizer

2016-06-14 Thread Richard Biener
On Mon, Jun 13, 2016 at 12:06 PM, Bin Cheng wrote: > Hi, > Take subroutine "DACOP" from spec2k/200.sixtrack as an example, the loop > needs to be versioned for vectorization because of possibly alias. The alias > check for data-references are like: > > //pair 1 > dr_a: >

[Ada] Remove useless calls to invariant procedures

2016-06-14 Thread Arnaud Charlet
This patch removes a redundant call to a generated invariant procedure when Assertion_Policy is ignored. The following must execute quietly: gcc -c -gnatn -O3 -S ut.adb grep "invariant" ut.s --- pragma Assertion_Policy (Ignore); --- private with TI; package UT is type T2 is limited private;

Re: PR 71181 Avoid rehash after reserve

2016-06-14 Thread Jonathan Wakely
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc new file mode 100644 index 000..e0c0259 --- /dev/null +++ b/libstdc++-v3/testsuite/23_containers/unordered_set/hash_policy/71181.cc

[Ada] Improve error message on Extensions_Visible

2016-06-14 Thread Arnaud Charlet
This patch changes the formatting of errors related to the pragma Extensions_Visible so as not to suggest Extensions_Visible applies to a formal parameters instead of a subprogram when SPARK RM 6.1.7(3) is violated. In addition, a small change to sem_prag was made to make the printing of

[Ada] Missing error on formal package

2016-06-14 Thread Arnaud Charlet
This patch fixes an omission in the analysis of formal package declarations. Actuals in the instance are properly rejected if their name does not correspond to any of the actuals, and there are box associations for existing formals. Compiling gcc -c c_test.ads must yield

[Ada] Fix handling of separate units in GNATprove cross references

2016-06-14 Thread Arnaud Charlet
The collect of cross references for computing effects of subprograms in GNATprove was done incorrectly in the case of separate units. This is now fixed, by bypassing subunits when computing the unit of interest for both scopes and cross references. Tested on x86_64-pc-linux-gnu, committed on

Re: [PATCH/AARCH64] Add vulcan -mcpu support

2016-06-14 Thread Virendra Pathak
Hi, Since, as per the development policy, all the new features should go to trunk; I will rebase this patch on the trunk and will re-propose. Apology for causing any inconvenience. Thanks. with regards, Virendra Pathak with regards, Virendra Pathak On Thu, Jun 9, 2016 at 3:41 PM, Virendra

Re: PR 71181 Avoid rehash after reserve

2016-06-14 Thread Jonathan Wakely
On 13/06/16 21:49 +0200, François Dumont wrote: Hi I eventually would like to propose the attached patch. In tr1 I made sure we use a special past-the-end iterator that makes usage of lower_bound result without check safe. I'm confused ... isn't that already done? _S_n_primes is

Re: [PATCH, libquadmath]: Use built-in functions instead of fabsq, copysignq and nanq.

2016-06-14 Thread Joseph Myers
On Tue, 14 Jun 2016, Jakub Jelinek wrote: > Couldn't you instead add into a header inline functions or macros > that map fabsq to __builtin_fabsq etc.? Then you could keep the *.c > files as is. > What I don't really like on the patch is that it diverges too much from the > original libc sources

Re: [PATCH] Reject boolean/enum types in last arg of __builtin_*_overflow_p

2016-06-14 Thread Jakub Jelinek
On Tue, Jun 14, 2016 at 10:33:59AM +0200, Jakub Jelinek wrote: > On Fri, Jun 10, 2016 at 01:28:55PM -0600, Martin Sebor wrote: > > IMO, the right semantics for bool are to match what the standards > > specify (i.e., no overflow, and the result is a logical OR of the > > operands). > > ??? It is

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

2016-06-14 Thread Marc Glisse
On Tue, 14 Jun 2016, Kyrill Tkachov wrote: On 14/06/16 08:04, Marc Glisse wrote: On Mon, 13 Jun 2016, Kyrill Tkachov wrote: The new function vect_synth_mult_by_constant that does all the hard work is very similar in structure to expand_mult_const from expmed.c but it operates on gimple SSA

Re: [GCC] Add aarch64 to zero_bits_compound testing

2016-06-14 Thread James Greenhalgh
On Fri, Jun 10, 2016 at 02:57:23PM +0100, Andre Vieira (lists) wrote: > Hello, > > This patch adds aarch64*-*-* to the list of supported targets for the > recently added zero bits compound tests. > Tested for aarch64-none-elf and aarch64_be-none-elf. > > Is this OK? This is OK, thanks. The

Re: [PATCH, aarch64] Fix 70048

2016-06-14 Thread James Greenhalgh
On Tue, Jun 07, 2016 at 11:50:11AM +0100, Renlin Li wrote: > Hi Richard, > > On 16/03/16 21:25, Richard Henderson wrote: > >This fixes only the regression described in the PR. > > > >There was quite a bit of follow-up that points to new work that ought to > >be done during the gcc7 cycle, but

Re: [PATCH][AArch64] Handle AND+ASHIFT form of UBFIZ correctly in costs

2016-06-14 Thread James Greenhalgh
On Thu, Jun 09, 2016 at 10:36:36AM +0100, Kyrill Tkachov wrote: > Hi all, > > We currently don't handle in the aarch64 rtx costs the pattern > *andim_ashift_bfiz that performs an ASHIFT followed by an AND. So we > end up recursing inside the AND and assigning a high cost to the pattern. Not >

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

2016-06-14 Thread Kyrill Tkachov
On 14/06/16 08:04, Marc Glisse wrote: On Mon, 13 Jun 2016, Kyrill Tkachov wrote: The new function vect_synth_mult_by_constant that does all the hard work is very similar in structure to expand_mult_const from expmed.c but it operates on gimple SSA rather than RTL. I think in some cases

Re: [PATCH][AArch64][2/2] (Re)Implement vcopy_lane intrinsics

2016-06-14 Thread James Greenhalgh
On Tue, Jun 07, 2016 at 05:56:51PM +0100, Kyrill Tkachov wrote: > Hi all, > > This is the second part of James's patch from: > https://gcc.gnu.org/ml/gcc-patches/2013-09/msg01068.html > separated out. It reimplements the vcopyq_lane* intrinsics in C and > adds implementations of the other missing

Re: [PATCH][AArch64][1/2] Add support INS (element) instruction to copy lanes between vectors

2016-06-14 Thread James Greenhalgh
On Tue, Jun 07, 2016 at 05:56:47PM +0100, Kyrill Tkachov wrote: > Hi all, > > This patch addresses an deficiency we have in handling vector lane-to-lane > moves in the AArch64 backend. Generally we can use the INS (element) > instruction but, as a user complains in >

Re: [PATCH] Improve tree-ssa-tail-merge for switches (PR tree-optimization/71520)

2016-06-14 Thread Martin Liška
On 06/14/2016 10:00 AM, Richard Biener wrote: > I'd like to postpone this until tail-merging got rid of its SCCVN > dependency (the proposed merge with the ICF machinery). Hi. I'm going to continue on that at the very beginning of next month. Martin

Re: [PATCH] Reject boolean/enum types in last arg of __builtin_*_overflow_p

2016-06-14 Thread Jakub Jelinek
On Fri, Jun 10, 2016 at 01:28:55PM -0600, Martin Sebor wrote: > IMO, the right semantics for bool are to match what the standards > specify (i.e., no overflow, and the result is a logical OR of the > operands). ??? It is far from that. The documentation says that say for __builtin_add_overflow

Re: [PATCH 3/3][AArch64] Emit division using the Newton series

2016-06-14 Thread Christophe Lyon
On 13 June 2016 at 21:06, Evandro Menezes wrote: > On 06/13/16 05:15, James Greenhalgh wrote: >> >> Thanks for your patience on this patch series. > > > Just checked the series in. > Hi Evandro, If I'm not mistaken, it looks like you forgot to update the ChangeLog files in

Re: [PATCH] Improve tree-ssa-tail-merge for switches (PR tree-optimization/71520)

2016-06-14 Thread Richard Biener
On Mon, 13 Jun 2016, Jakub Jelinek wrote: > Hi! > > Cross-jumping at GIMPLE level gives up e.g. because there are any labels > at the beginning of the block (which is always the case for bbs referenced > from switches). While labels for non-local goto as well as computed goto > are hard to

[PATCH] Fix PR71522

2016-06-14 Thread Richard Biener
I am testing the following to fix PR71522. Bootstrap / regtest running on x86_64-unknown-linux-gnu. Richard. 2016-06-14 Richard Biener PR tree-optimization/71522 * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float copying into float

[PATCH] Fix PR71510 (re-do PR71310 fix)

2016-06-14 Thread Richard Biener
The following fixes th PR71310 fix to do what expand does and thus follow the C++ memory model correctly. It also reportedly fixes PR71510 (probably the effective negative bitoffset thing). Bootstrapped and tested on x86_64-unknown-linux-gnu, inspected the PR71310 testcase on a ppc64le cross.

Re: [PATCH][1/2] Move mult synthesis definitions into a separate file

2016-06-14 Thread Richard Biener
On Mon, Jun 13, 2016 at 4:17 PM, Kyrill Tkachov wrote: > Hi Richard, > > On 13/06/16 15:07, Richard Biener wrote: >> >> On Mon, Jun 13, 2016 at 2:23 PM, Kyrill Tkachov >> wrote: >>> >>> Hi all, >>> >>> There are other places besides

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

2016-06-14 Thread Marc Glisse
On Mon, 13 Jun 2016, Kyrill Tkachov wrote: The new function vect_synth_mult_by_constant that does all the hard work is very similar in structure to expand_mult_const from expmed.c but it operates on gimple SSA rather than RTL. I think in some cases this transformation creates undefined

Re: [PATCH, libquadmath]: Use built-in functions instead of fabsq, copysignq and nanq.

2016-06-14 Thread Jakub Jelinek
On Sun, Jun 12, 2016 at 11:50:11PM +0200, Uros Bizjak wrote: > Attached (mostly mechanical) patch uses equivalent built-in functions > for fabsq, copysignq and nanq. The patch allows more aggressive > compiler optimizations, where for fabsq and copysignq, the compiler > will emit 128bit SSE