[PATCH] Add -Wno-abi in c++ struct-layout-1 tests

2014-09-25 Thread Jakub Jelinek
Hi! I've noticed that lots of g++ struct-layout-1.exp tests now fail on ppc*. The problem is the psABI warning: the layout of aggregates containing vectors with N-byte alignment For various targets we are using -Wno-abi (and, in C struct-layout-1.exp also by default) for this, so the patch just c

ipa-devirt TLC 6 - reorg of query cache

2014-09-25 Thread Jan Hubicka
Hi, this patch makes polymorphic call targets cache more effective. With more aggresive speculation the code now run into a problem that it have many different speculative lists. Those are typically sort in number of calls speculatively considered likely but they do have long list of unlikely

[PATCH] Fix dr_explicit_realign_optimized handling in the vectorizer (PR tree-optimization/63341)

2014-09-25 Thread Jakub Jelinek
Hi! As the testcases show, dr_explicit_realign_optimized (used on PowerPC/SPU only) misbehaves if the base_address is in between 1 and vector element size - 1 modulo vector size. The problem is that it wants to add a bias to base_addr such that base_addr & ~vector_size (base_addr + bias) & ~vector

Re: [PATCH] Add -Wno-abi in c++ struct-layout-1 tests

2014-09-25 Thread Uros Bizjak
Hello! > I've noticed that lots of g++ struct-layout-1.exp tests now fail > on ppc*. The problem is the psABI warning: > the layout of aggregates containing vectors with N-byte alignment > For various targets we are using -Wno-abi (and, in C > struct-layout-1.exp also by default) for this, so the

Re: [PATCH] Fix dr_explicit_realign_optimized handling in the vectorizer (PR tree-optimization/63341)

2014-09-25 Thread Richard Biener
On Thu, 25 Sep 2014, Jakub Jelinek wrote: > Hi! > > As the testcases show, dr_explicit_realign_optimized (used on PowerPC/SPU > only) misbehaves if the base_address is in between 1 and vector element size > - 1 > modulo vector size. > The problem is that it wants to add a bias to base_addr such

Re: [PATCH] Add -Wno-abi in c++ struct-layout-1 tests

2014-09-25 Thread Jakub Jelinek
On Thu, Sep 25, 2014 at 09:29:52AM +0200, Uros Bizjak wrote: > Hello! > > > I've noticed that lots of g++ struct-layout-1.exp tests now fail > > on ppc*. The problem is the psABI warning: > > the layout of aggregates containing vectors with N-byte alignment > > For various targets we are using -W

Re: [PATCH] Add -Wno-abi in c++ struct-layout-1 tests

2014-09-25 Thread Uros Bizjak
On Thu, Sep 25, 2014 at 9:43 AM, Jakub Jelinek wrote: >> > I've noticed that lots of g++ struct-layout-1.exp tests now fail >> > on ppc*. The problem is the psABI warning: >> > the layout of aggregates containing vectors with N-byte alignment >> > For various targets we are using -Wno-abi (and,

Re: [PATCH] Add -Wno-abi in c++ struct-layout-1 tests

2014-09-25 Thread Uros Bizjak
On Thu, Sep 25, 2014 at 9:43 AM, Jakub Jelinek wrote: >> > I've noticed that lots of g++ struct-layout-1.exp tests now fail >> > on ppc*. The problem is the psABI warning: >> > the layout of aggregates containing vectors with N-byte alignment >> > For various targets we are using -Wno-abi (and,

Re: [PATCH] Add diagnostic to require that virtual methods be tagged with C++11 'override'

2014-09-25 Thread Marek Polacek
Hi! On Wed, Sep 24, 2014 at 02:08:01PM -0700, Josh Gao wrote: > commit b4d15d3cf660708dca088361801ebd56e018f986 > Author: Josh Gao > Date: Wed Sep 24 14:01:16 2014 -0700 > > Add diagnostic to require virtual methods to be tagged override. > > gcc/Changelog > * doc/invoke.t

RE: [PATCH, 2/2] shrink wrap a function with a single loop: split live_edge

2014-09-25 Thread Zhenqiang Chen
> -Original Message- > From: Jiong Wang [mailto:jiong.w...@arm.com] > Sent: Thursday, September 25, 2014 2:13 AM > To: Jeff Law; Zhenqiang Chen > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH, 2/2] shrink wrap a function with a single loop: split > live_edge > > > On 22/09/14 18:51,

[PATCH][match-and-simplify] Apply TLC

2014-09-25 Thread Richard Biener
This shuffles routines around, grouping them properly and adding function comments. Applies minor code TLC. Applied. Richard. 2014-09-25 Richard Biener * genmatch.c: TLC. Index: gcc/genmatch.c === --- gcc/genmatch.c

Re: [patch] Implement move semantics for iostreams

2014-09-25 Thread Jonathan Wakely
On 25/09/14 07:11 +0200, Marc Glisse wrote: On Wed, 24 Sep 2014, Jonathan Wakely wrote: I'm tempted to tidy up the GLIBCXX_3.4 patterns in the linker script quite considerably, Paolo has done something like that this summer (motivated by -O0 builds) and reverted it for a detail, but it could

Re: [RFC/PATCH] Fix-it hints

2014-09-25 Thread Dodji Seketeli
Hello Manuel, Sorry for taking so long to reply to this. FWIW, I like the direction of this. I find fix-it hints cool in general. So thank you for working on this. Manuel López-Ibáñez a écrit: > This patch implements fix-it hints. See https://gcc.gnu.org/PR62314 > > When the caret line is ac

Re: [PATCH i386 AVX512] [52.1/n] Add vec2mask and mask2vec insn patterns.

2014-09-25 Thread Kirill Yukhin
Hello, As suggested, this is splitted out part of [52/n] patch, which introduces new vec2mask and mask2vec insn patterns. As suggested, I've got rid off use of UNSPEC_CVTINT2MASK unspec. Unfortunatelly, only partially. I suppose, that vec2mask generic RTX will be too complex: get most significant

Re: [PATCH] Put all constants last in tree_swap_operands_p, remove odd -Os check

2014-09-25 Thread Alan Lawrence
s/tiny/small/ and I think we might be getting close. So the 403.gcc test being compiled contains: if (regno == PIC_OFFSET_TABLE_REGNUM && fixed_regs[PIC_OFFSET_TABLE_REGNUM]) return pic_offset_table_rtx; PIC_OFFSET_TABLE_REGNUM is an expression testing machine flags; prior to

Re: [AArch64] Fix predicate and constraint mismatch in logical atomic operations

2014-09-25 Thread Segher Boessenkool
On Wed, Sep 24, 2014 at 09:17:23PM -0700, Andrew Pinski wrote: > On Wed, Sep 24, 2014 at 9:13 PM, Michael Collison > wrote: > > > > I have that attached to the bug report at the URL provided. I will work on a > > testcase if you think it is warranted. > > Yes it is almost always warranted. > > h

Re: [patch] libstdc++/56193 re-add basic_ios::operator bool()

2014-09-25 Thread Jonathan Wakely
On 24/09/14 23:18 +0100, Jonathan Wakely wrote: This changes operator void*() to operator bool(), and ensures we export both from the library. I have a new test for this, but will commit that tomorrow. Here are the tests. Tested x86_64-linux, committed to trunk. commit 209087345926aaeb5510cb

Re: [PATCH i386 AVX512] [52.1/n] Add vec2mask and mask2vec insn patterns.

2014-09-25 Thread Kirill Yukhin
On 25 Sep 13:42, Kirill Yukhin wrote: > Hello, > As suggested, this is splitted out part of [52/n] patch, > which introduces new vec2mask and mask2vec insn patterns. > > As suggested, I've got rid off use of UNSPEC_CVTINT2MASK > unspec. Unfortunatelly, only partially. > I suppose, that vec2mask ge

Re: [patch] libstdc++/56193 re-add basic_ios::operator bool()

2014-09-25 Thread Jonathan Wakely
On 25/09/14 11:24 +0100, Jonathan Wakely wrote: On 24/09/14 23:18 +0100, Jonathan Wakely wrote: This changes operator void*() to operator bool(), and ensures we export both from the library. I have a new test for this, but will commit that tomorrow. Here are the tests. Argh, I took the { dg

[PATCH][match-and-simplify] Parser TLC, 2nd

2014-09-25 Thread Richard Biener
The following wraps lexing and parsing into a parser class, simplifying state management. It also removes the need to forward declare matchers as we now keep a vector of them filled in declaration order. Committed. Richard. 2014-09-25 Richard Biener * genmatch.c: Put all AST parsin

[PATCH] Fix ICE with -Woverloaded-virtual (PR c++/61945)

2014-09-25 Thread Marek Polacek
We ICE on the following testcase because DECL_VINDEX expects a FUNCTION_DECL, but we didn't check that. The new testcase shows that with this patch we give a proper warning. Bootstrapped/regtested on x86_64-linux, ok for trunk? 2014-09-25 Marek Polacek PR c++/61945 * class.c

Re: [patch] Implement move semantics for iostreams

2014-09-25 Thread Rainer Orth
Hi Jonathan, >>almost there: now I only get >> >>ld: fatal: libstdc++-symbols.ver-sun: 4622: symbol >>'std::basic_ostream >>>::basic_ostream(std::basic_iostream >&)': >>symbol version conflict >>ld: fatal: libstdc++-symbols.ver-sun: 4623: symbol >>'std::basic_ostream >>>::basic_ostream(std::b

Re: [patch] Implement move semantics for iostreams

2014-09-25 Thread Jonathan Wakely
On 25/09/14 13:05 +0200, Rainer Orth wrote: Hi Jonathan, almost there: now I only get ld: fatal: libstdc++-symbols.ver-sun: 4622: symbol 'std::basic_ostream >::basic_ostream(std::basic_iostream >&)': symbol version conflict ld: fatal: libstdc++-symbols.ver-sun: 4623: symbol 'std::basic_ostream

Re: [COMMITTED][PATCH] Improve prepare_shrink_wrap to sink more instructions

2014-09-25 Thread Christophe Lyon
On 24 September 2014 20:32, Jiong Wang wrote: > > On 22/09/14 19:01, Jeff Law wrote: >> >> On 09/22/14 04:29, Jiong Wang wrote: >>> >>> On 19/09/14 21:43, Jeff Law wrote: >>> >>> patch attached. >>> >>> please review, thanks. >>> >>> gcc/ >>> * shrink-wrap.c (move_insn_for_shrink_wrap): Add fu

[PATCH][match-and-simplify] Get rid of static limit on captures

2014-09-25 Thread Richard Biener
$subject. Still not the full-blown idea of dynamically assigning the (internal) IDs from any number or identifier. Somebody said it would be nice to write (plus @a @b) instead of (plus @1 @2). Applied. Richard. 2014-09-25 Richard Biener * genmatch.c: Keep track of the maximum capt

Re: [RFC/PATCH] More precise diagnostic locations: dynamic locations for columns vs explicit offset

2014-09-25 Thread Dodji Seketeli
Manuel López-Ibáñez a écrit: > In some situations, we would like to point to a location which was not > encoded when tokenizing. This happens, for example, in two prominent > cases: > > 1) To get precise locations within strings > (https://gcc.gnu.org/PR52952) for example, for Wformat warnings.

Re: [PATCH 1/9] Gccgo port to s390[x] -- part I

2014-09-25 Thread Ulrich Weigand
Lynn Boger wrote: > I modified the patch for statements.cc and rebuilt and that eliminates > the regressions and fixes the original problem it was intended to fix > for both ppc64 BE & LE. The ABIs are different between BE & LE, so that > make_func_code_reference on ppc64 BE is not returning t

Re: [PATCH] Add -Wno-abi in c++ struct-layout-1 tests

2014-09-25 Thread Jeff Law
On 09/25/14 01:01, Jakub Jelinek wrote: Hi! I've noticed that lots of g++ struct-layout-1.exp tests now fail on ppc*. The problem is the psABI warning: the layout of aggregates containing vectors with N-byte alignment For various targets we are using -Wno-abi (and, in C struct-layout-1.exp also

[patch] std::vector::assign should not call std::vector::swap

2014-09-25 Thread Jonathan Wakely
With C++11 allocator semantics the swap() member might also replace the allocator, which is only allowed in specific circumstances. Even though the worst that could happen is we replace the allocator with an equal one, we should avoid using swap and use the internal _M_swap_data function instead.

Re: parallel check output changes?

2014-09-25 Thread Andrew MacLeod
On 09/24/2014 01:58 PM, Andrew MacLeod wrote: On 09/24/2014 12:29 PM, Andrew MacLeod wrote: AH. interesting. The third run has a gcc.sum that is exactly the same as the first run. so only the second run differs, and it seems to be from an alphabetical sort. So run 3 and 1 match. the gfort

Re: [PATCH] Fix ICE with -Woverloaded-virtual (PR c++/61945)

2014-09-25 Thread Jason Merrill
OK.

[PATCH][match-and-simplify] Allow @foo captures

2014-09-25 Thread Richard Biener
The following makes us assign capture indexes dynamically which easily allows handling of identifiers. I've used std::map for this. Applied. Note that this may make debugging a little bit harder as @0 now no longer necessarily corresponds to captures[0] (I don't think it necessarily did before

Re: [COMMITTED][PATCH] Improve prepare_shrink_wrap to sink more instructions

2014-09-25 Thread Jiong Wang
On 25/09/14 12:25, Christophe Lyon wrote: On 24 September 2014 20:32, Jiong Wang wrote: On 22/09/14 19:01, Jeff Law wrote: On 09/22/14 04:29, Jiong Wang wrote: On 19/09/14 21:43, Jeff Law wrote: patch attached. please review, thanks. gcc/ * shrink-wrap.c (move_insn_for_shrink_wrap):

[AArch64] Make gentune.sh also generate "generic_sched" attribute

2014-09-25 Thread James Greenhalgh
Hi, This patch fixes an annoying gotcha when adding new cores or piepline models in builds for AArch64. The "generic_sched" attribute also needs updating in addition to aarch64-tune.md. I see no good reason for this, we can generate that attribute in gentune.sh quite easily. For testing, I buil

Re: [PATCH, rs6000] Fix PR63335 (vec_any/all_nge/nle)

2014-09-25 Thread David Edelsohn
On Wed, Sep 24, 2014 at 6:51 PM, Bill Schmidt wrote: > Hi, > > PR63335 reports that the builtins vec_any_nge, vec_all_nge, vec_any_nle, > and vec_all_nle produce incorrect results for vector double. There is > some special handling for these intrinsics for the various vector > integral types. Th

[PATCH] microblaze: microblaze.md: Use VOID instead of SI to fix "((void (*)(void)) 0)()" issue

2014-09-25 Thread Chen Gang
Need use VOID instead of SI, or when real VOIDmode comes, it does not match SImode, so cause issue. This patch can fix this issue and pass testsuite. The related test code ('void' will cause CALL instead of SET): typedef void (*T)(void); f1 () { ((T) 0)(); } The related error: [ro

[PATCH] Fix typo in comments

2014-09-25 Thread Felix Yang
Please apply this patch if OK for trunk. Thanks. Index: gcc/lra.c === --- gcc/lra.c(revision 215598) +++ gcc/lra.c(working copy) @@ -933,7 +933,7 @@ lra_set_insn_recog_data (rtx_insn *insn) nalt = 1; if (nop < 0)

Re: [PATCH, Pointer Bounds Checker 23/x] Function split

2014-09-25 Thread Ilya Enkovich
On 23 Sep 09:55, Jeff Law wrote: > On 09/22/14 00:40, Ilya Enkovich wrote: > > > >Bounds don't have to vary for different pointers. E.g. p and p + 1 > >always have equal bounds. In this particular case we have function > >pointers and all of them have default bounds. > OK. It looked a bit odd an

Re: [PATCH] Fix PR63266: Keep track of impact of sign extension in bswap

2014-09-25 Thread Christophe Lyon
On 25 September 2014 08:39, Thomas Preud'homme wrote: >> From: Christophe Lyon [mailto:christophe.l...@linaro.org] >> Sent: Thursday, September 25, 2014 4:28 AM > >> >> Hi Thomas, > > Hi Christophe, > >> >> Although I could notice the improvement: >> Pass disappears [PASS => ]: >>

[PATCH i386 AVX512] [56/n] Add plus/minus/abs/neg/andnot insn patterns.

2014-09-25 Thread Kirill Yukhin
Hello, Patch in the bottom extends plus/minus/abs/andnot patterns to support AVX-512. I've used questionable hack in the patterns. Instead of writing dozen similar patterns with masking I've simply substed them, prohibiting non-mask variant in the pattern condition. E.g.: (define_expand "3" [(set

[PATCH][match-and-simplify] Fix capture change

2014-09-25 Thread Richard Biener
Of course I missed c-exprs... The following patch fixes that. Now bootstrapped (building stage3 target libs now). Applied. Richard. 2014-09-25 Richard Biener * genmatch.c (struct c_expr): Also record capture identifier to index map. (c_expr::gen_transform): Use it.

[PATCH/RFC v2 3/14] Add new optabs for reducing vectors to scalars

2014-09-25 Thread Alan Lawrence
Ok, so, I've tried making reduc_plus optab take two modes: that of the vector to reduce, and the result; thus allowing platforms to provide a widening reduction. However, I'm keeping reduc_[us](min|max)_optab with only a single mode, as widening makes no sense there. I've not gone as far as ma

[Patch 1/4] Hookize MOVE_BY_PIECES_P, remove most uses of MOVE_RATIO

2014-09-25 Thread James Greenhalgh
Hi, This patch started off by Hookizing MOVE_RATIO, but pulling on that thread made it clear that most users of MOVE_RATIO really want to know whether move_by_pieces is going to be used or not. For that we have MOVE_BY_PIECES_P. We can hookize this, and clean up most other callers of MOVE_RATIO.

[Patch 2/4] Hack out a use of MOVE_RATIO in tree-inline.c

2014-09-25 Thread James Greenhalgh
Hi, This patch hookizes the use of MOVE_RATIO in tree-inline.c:estimate_move_cost as TARGET_ESTIMATE_BLOCK_COPY_NINSNS. This hook should return an estimate for the number of instructions which will be emitted to copy a block of memory. tree-inline.c uses this in inlining heuristics to estimate t

[Patch 0/4] Re: Control SRA and IPA-SRA by a param rather than MOVE_RATIO

2014-09-25 Thread James Greenhalgh
On Wed, Aug 20, 2014 at 10:21:41AM +0100, Richard Biener wrote: > I think this is overly complicated and instead SRA should only > use the parameters. Targets can adjust their default (like they > do for other parameters). > > The default should be MOVE_RATIO which should be applied > where the c

[Patch AArch64 4/4] Wire up New target hooks

2014-09-25 Thread James Greenhalgh
Hi, This patch wires up our new target hooks for AArch64. This also means we can bring back the two failing SRA tests. Bootstrapped on AArch64 with no issues. OK for trunk? Thanks, James --- gcc/ 2014-09-25 James Greenhalgh * config/aarch64/aarch64.c (aarch64_estimate_mov

[Patchv2 3/4] Control SRA and IPA-SRA by a param rather than MOVE_RATIO

2014-09-25 Thread James Greenhalgh
Hi, After hookizing MOVE_BY_PIECES_P and migrating tree-inline.c, we are left with only one user of MOVE_RATIO - deciding the maximum size of aggregate for SRA. Past discussions have made it clear [1] that keeping this use of MOVE_RATIO is undesirable. Clearly it is now also misnamed. The previ

Commit: SH: Fix typo in atomic fetch sequence

2014-09-25 Thread Nick Clifton
Hi Alex, Hi Kaz, Hi Oleg, I am applying the patch below as an obvious fix for a typo in the instruction sequence of the atomic_fetch_nand_soft_imask pattern. I hope that this is OK with you. Cheers Nick gcc/ChangeLog 2014-09-25 Nick Clifton PR target/62218 * config/s

Re: [PATCH, 2/2] shrink wrap a function with a single loop: split live_edge

2014-09-25 Thread Jiong Wang
On 25/09/14 09:52, Zhenqiang Chen wrote: -Original Message- From: Jiong Wang [mailto:jiong.w...@arm.com] Sent: Thursday, September 25, 2014 2:13 AM To: Jeff Law; Zhenqiang Chen Cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH, 2/2] shrink wrap a function with a single loop: split live_e

Re: [AArch64] Tighten predicates on SIMD shift intrinsics

2014-09-25 Thread James Greenhalgh
On Fri, Sep 19, 2014 at 05:57:06PM +0100, Richard Henderson wrote: > On 09/11/2014 01:29 AM, James Greenhalgh wrote: > > +;; Predicates used by the various SIMD shift operations. These > > +;; fall in to 3 categories. > > +;; Shifts with a range 0-(bit_size - 1) (aarch64_simd_shift_imm) > > +;;

Re: [Patch 1/4] Hookize MOVE_BY_PIECES_P, remove most uses of MOVE_RATIO

2014-09-25 Thread Steven Bosscher
On Thu, Sep 25, 2014 at 4:57 PM, James Greenhalgh wrote: > * doc/tm.texi.in (MOVE_BY_PIECES_P): Reduce documentation to a stub > describing that this macro is deprecated. Remove it entirely and poison it in system.h? It takes changes to only a few targets: mips, arc, s390, and sh.

Re: Commit: SH: Fix typo in atomic fetch sequence

2014-09-25 Thread Oleg Endo
On Thu, 2014-09-25 at 16:04 +0100, Nick Clifton wrote: > Hi Alex, Hi Kaz, Hi Oleg, > > I am applying the patch below as an obvious fix for a typo in the > instruction sequence of the atomic_fetch_nand_soft_imask > pattern. I hope that this is OK with you. Yes, ouch. Thanks! I'll backport

Re: [PATCH] PR63300 'const volatile' sometimes stripped in debug info.

2014-09-25 Thread Mark Wielaard
On Wed, 2014-09-24 at 17:09 -0400, Jason Merrill wrote: > On 09/24/2014 02:42 PM, Mark Wielaard wrote: > > As my example shows even with older GCCs depending on whether a const > > type or volatile type was encountered first a const volatile type comes > > out either as a DIE chain const_type DIE -

Re: Avoid privatization of TLS variables

2014-09-25 Thread Ian Lance Taylor
On Wed, Sep 24, 2014 at 6:58 PM, Jan Hubicka wrote: > >b: 00 00 > 9: R_X86_64_TPOFF32 > __gcov_indirect_call_counters_ltopriv Look at the .o file where __gcov_indirect_call_counters_ltopriv is defined. That .o file must have the symbol marked as STT_TLS and it

Re: [PATCH/RFC v2 3/14] Add new optabs for reducing vectors to scalars

2014-09-25 Thread Richard Biener
On Thu, Sep 25, 2014 at 4:32 PM, Alan Lawrence wrote: > Ok, so, I've tried making reduc_plus optab take two modes: that of the > vector to reduce, and the result; thus allowing platforms to provide a > widening reduction. However, I'm keeping reduc_[us](min|max)_optab with only > a single mode, as

[PING 2, PATCH C++] - SD-6 Implementation Part N/4.

2014-09-25 Thread Ed Smith-Rowland
*PING* I would like review of my SD-6 implementation. Part 1 - __has_include__ built-in in libcpp. https://gcc.gnu.org/ml/gcc-patches/2014-09/msg00083.html Part 2 - __has_include macro and C++ language feature macros. https://gcc.gnu.org/ml/gcc-patches/2014-09/msg00084.html Part 3 - libstdc++

Re: Avoid privatization of TLS variables

2014-09-25 Thread H.J. Lu
On Thu, Sep 25, 2014 at 8:24 AM, Ian Lance Taylor wrote: > On Wed, Sep 24, 2014 at 6:58 PM, Jan Hubicka wrote: >> >>b: 00 00 >> 9: R_X86_64_TPOFF32 >> __gcov_indirect_call_counters_ltopriv > > Look at the .o file where __gcov_indirect_call_counters_ltopriv is >

Re: [PATCH 1/9] Gccgo port to s390[x] -- part I

2014-09-25 Thread Lynn A. Boger
Hi, I removed my change to statements.cc and made a change as you suggested in libgo/runtime/go-defer.c in function __go_set_defering_fn: +#if defined(__powerpc64__) && _CALL_ELF != 2 +g->defer->__defering_fn = *(void **)defering_fn; +#else +g->defer->__defering_fn = defering_fn; +#end

[patch] LWG DR 1339: uninitialized_fill_n should return the end of its range

2014-09-25 Thread Jonathan Wakely
http://cplusplus.github.io/LWG/lwg-defects.html#1339 Also make the same change to our __uninitialized_xxx_n_a extensions and change std::vector to make use of the returned iterator instead of recalculating it. Tested x86_64-linux, committed to trunk. commit 81456b32a7991351d40ca45c276892fdab5d91

Re: [AArch64] Tighten predicates on SIMD shift intrinsics

2014-09-25 Thread Richard Henderson
On 09/25/2014 08:05 AM, James Greenhalgh wrote: > > On Fri, Sep 19, 2014 at 05:57:06PM +0100, Richard Henderson wrote: >> On 09/11/2014 01:29 AM, James Greenhalgh wrote: >>> +;; Predicates used by the various SIMD shift operations. These >>> +;; fall in to 3 categories. >>> +;; Shifts with a ra

Re: [AArch64] Tighten predicates on SIMD shift intrinsics

2014-09-25 Thread Marcus Shawcroft
On 25 September 2014 16:18, Richard Henderson wrote: > On 09/25/2014 08:05 AM, James Greenhalgh wrote: >> >> On Fri, Sep 19, 2014 at 05:57:06PM +0100, Richard Henderson wrote: >>> On 09/11/2014 01:29 AM, James Greenhalgh wrote: +;; Predicates used by the various SIMD shift operations. These

Re: Avoid privatization of TLS variables

2014-09-25 Thread Jan Hubicka
> On Wed, Sep 24, 2014 at 6:58 PM, Jan Hubicka wrote: > > > >b: 00 00 > > 9: R_X86_64_TPOFF32 > > __gcov_indirect_call_counters_ltopriv > > Look at the .o file where __gcov_indirect_call_counters_ltopriv is > defined. That .o file must have the symbol marked as

[jit] Expose choose_tmpdir and use it when building tmpdir for jit compilation

2014-09-25 Thread David Malcolm
On Tue, 2014-09-23 at 23:27 +, Joseph S. Myers wrote: [...] > The code for compiling a .s file should: > > * use choose_tmpdir from libiberty rather than hardcoding /tmp (or, > better, create the files directly with make_temp_file, and delete them > individual afterwards); [...] I believe t

Re: [PATCH 2/14][Vectorizer] Make REDUC_xxx_EXPR tree codes produce a scalar result

2014-09-25 Thread Alan Lawrence
Many thanks indeed! :) --Alan Segher Boessenkool wrote: On Wed, Sep 24, 2014 at 04:02:11PM +0100, Alan Lawrence wrote: However my CompileFarm account is still pending, so to that end, if you were able to test patch 2/14 (attached inc. Richie's s/VIEW_CONVERT_EXPR/NOP_EXPR/) on the CompileFarm

Re: Commit: SH: Fix typo in atomic fetch sequence

2014-09-25 Thread Oleg Endo
On Thu, 2014-09-25 at 17:23 +0200, Oleg Endo wrote: > On Thu, 2014-09-25 at 16:04 +0100, Nick Clifton wrote: > > Hi Alex, Hi Kaz, Hi Oleg, > > > > I am applying the patch below as an obvious fix for a typo in the > > instruction sequence of the atomic_fetch_nand_soft_imask > > pattern. I ho

Re: [PATCH/RFC v2 3/14] Add new optabs for reducing vectors to scalars

2014-09-25 Thread Alan Lawrence
Well, even that C source, you'd need to be careful and ensure that the vectorized loop never went round more than once, or else the additions within the loop would be performed in 8 bits, different from the final reduction... So: original patch with updated commenting attached...Segher, is ther

Re: [PATCH, 2/2] shrink wrap a function with a single loop: split live_edge

2014-09-25 Thread Jeff Law
On 09/25/14 09:04, Jiong Wang wrote: On 25/09/14 09:52, Zhenqiang Chen wrote: -Original Message- From: Jiong Wang [mailto:jiong.w...@arm.com] Sent: Thursday, September 25, 2014 2:13 AM To: Jeff Law; Zhenqiang Chen Cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH, 2/2] shrink wrap a fun

Re: Avoid privatization of TLS variables

2014-09-25 Thread Ian Lance Taylor
On Thu, Sep 25, 2014 at 8:37 AM, H.J. Lu wrote: > On Thu, Sep 25, 2014 at 8:24 AM, Ian Lance Taylor wrote: >> On Wed, Sep 24, 2014 at 6:58 PM, Jan Hubicka wrote: >>> >>>b: 00 00 >>> 9: R_X86_64_TPOFF32 >>> __gcov_indirect_call_counters_ltopriv >> >> Look at the

Re: Avoid privatization of TLS variables

2014-09-25 Thread Jan Hubicka
> On Thu, Sep 25, 2014 at 8:37 AM, H.J. Lu wrote: > > On Thu, Sep 25, 2014 at 8:24 AM, Ian Lance Taylor wrote: > >> On Wed, Sep 24, 2014 at 6:58 PM, Jan Hubicka wrote: > >>> > >>>b: 00 00 > >>> 9: R_X86_64_TPOFF32 > >>> __gcov_indirect_call_counters_ltopriv > >

Re: [PATCH][AArch64] Fix PR63293

2014-09-25 Thread Jiong Wang
On 19/09/14 15:35, Wilco Dijkstra wrote: Jiong Wang wrote: when generating instructions to access local variable, for example a local array, if the array size very big, then we need a temp reg to keep the intermediate index, then use that temp reg as base reg, so that ldr is capable of index

Re: [PATCH] Fix typo in comments

2014-09-25 Thread Jeff Law
On 09/25/14 08:04, Felix Yang wrote: Please apply this patch if OK for trunk. Thanks. [ ... ] Index: gcc/ChangeLog === --- gcc/ChangeLog(revision 215598) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,8 @@ +2014-09-25 Felix Ya

[COMMITTED][PATCH, 2/2] shrink wrap a function with a single loop: split live_edge

2014-09-25 Thread Jiong Wang
On 25/09/14 17:24, Jeff Law wrote: On 09/25/14 09:04, Jiong Wang wrote: new patch updated. pass bootstrap and no regression, both check-gcc and check-g++, on the x86. OK for trunk? thanks. gcc/ * shrink-wrap.c (move_insn_for_shrink_wrap): Initialize the live-in of new created BB a

Re: [Patch, Fortran] Add CO_BROADCAST

2014-09-25 Thread Alessandro Fanfarillo
Hi, I'm implementing the co_broadcast on libcafmpi right now. 2014-09-25 8:08 GMT+02:00 Tobias Burnus : > Hi Paul, > > Paul Richard Thomas wrote: >> >> In the check.c error messages, you use 'A argument'. Should you not >> use 'SOURCE argument', following CO BROADCAST (SOURCE, SOURCE IMAGE [, >>

Re: [PATCH C++] - SD-6 Implementation Part 1 - __has_include.

2014-09-25 Thread Jason Merrill
On 09/01/2014 09:34 PM, Ed Smith-Rowland wrote: (open_file_failed()): Not an error to not find a header file for __has_include__. Hmm, looks like this means that __has_include__ will silently return false if a header exists but is unreadable; I would think that we want it to b

Re: parallel check output changes?

2014-09-25 Thread Segher Boessenkool
On Thu, Sep 25, 2014 at 08:22:29AM -0400, Andrew MacLeod wrote: > So to be fair, I could use test_summary, but I think the concern is > warranted because if this inconsistent ordering can happen to PASS, I > would expect the same non-deterministic behaviour if those tests happen > to FAIL. we j

Re: [RFC PATCH, RTL]: Fix PR63348, gcc.dg/pr43670.c fail -fcompare-debug on MIPS

2014-09-25 Thread Jeff Law
On 09/24/14 13:39, Uros Bizjak wrote: Hello! The failure was caused by barrier detection code, which failed to detect barrier after call insn was to be split when NOTE_CALL_ARG_LOCATION was present. This problem caused -fcompare-debug failure. Digging a bit deeped, and as hinted in the PR, the

Re: [patch] Implement move semantics for iostreams

2014-09-25 Thread Rainer Orth
Hi Jonathan, >>it does: {i386-pc, sparc-sun}-solaris2.1[01] bootstraps completed >>successfully with it. > > Great. I hope the slightly-modified version I eventually checked in > still works too :) it does indeed, as just verified by a i386-pc-solaris2.11 bootstrap :-) Rainer -- --

Re: [AArch64] Fix predicate and constraint mismatch in logical atomic operations

2014-09-25 Thread Michael Collison
Segher, The problem is the "CONST_INT 0", not a large constant. This constant is not accepted by the predicate, but is accepted by the constraint. On 09/25/2014 03:12 AM, Segher Boessenkool wrote: On Wed, Sep 24, 2014 at 09:17:23PM -0700, Andrew Pinski wrote: On Wed, Sep 24, 2014 at 9:13 PM,

[jit] Use pex_one rather than system when assembling/linking

2014-09-25 Thread David Malcolm
On Tue, 2014-09-23 at 23:27 +, Joseph S. Myers wrote: [...] > The code for compiling a .s file should: [...] > * use libiberty's pexecute to run subprocesses, not "system" (building up > a string to pass to the shell always looks like a security hole, though in > this case it may in fact be s

Re: [PATCH C++] - SD-6 Implementation Part 2 - __has_include macro and C++ language feature macros.

2014-09-25 Thread Jason Merrill
On 09/01/2014 09:41 PM, Ed Smith-Rowland wrote: + /* Return type deduction was added as an extension to C++11 +and was standardized for C+14. */ + cpp_define (pfile, "__cpp_return_type_deduction=201304"); When I try to use it with -std=c++11 I get wa.C:1:8: error:

Re: [PATCH] microblaze: microblaze.md: Use VOID instead of SI to fix "((void (*)(void)) 0)()" issue

2014-09-25 Thread Michael Eager
On 09/25/14 07:03, Chen Gang wrote: Need use VOID instead of SI, or when real VOIDmode comes, it does not match SImode, so cause issue. This patch can fix this issue and pass testsuite. Did you forget to attach the patch? -- Michael Eagerea...@eagercon.com 1960 Park Blvd., Palo Alto, CA 94

Re: [PATCH] microblaze: microblaze.md: Use VOID instead of SI to fix "((void (*)(void)) 0)()" issue

2014-09-25 Thread Michael Eager
On 09/25/14 10:38, Michael Eager wrote: On 09/25/14 07:03, Chen Gang wrote: Need use VOID instead of SI, or when real VOIDmode comes, it does not match SImode, so cause issue. This patch can fix this issue and pass testsuite. Did you forget to attach the patch? Never mind. My eyes were play

Re: [PATCH C++] - SD-6 Implementation Part 2 - __has_include macro and C++ language feature macros.

2014-09-25 Thread Jason Merrill
On 09/01/2014 09:41 PM, Ed Smith-Rowland wrote: + cpp_define (pfile, "__cpp_attribute_deprecated=201309"); Don't we support attribute deprecated in C++11? Jason

Re: [RFC PATCH, RTL]: Fix PR63348, gcc.dg/pr43670.c fail -fcompare-debug on MIPS

2014-09-25 Thread Uros Bizjak
On Thu, Sep 25, 2014 at 7:26 PM, Jeff Law wrote: > On 09/24/14 13:39, Uros Bizjak wrote: >> >> Hello! >> >> The failure was caused by barrier detection code, which failed to >> detect barrier after call insn was to be split when >> NOTE_CALL_ARG_LOCATION was present. This problem caused >> -fcompa

Re: [RFC PATCH, RTL]: Fix PR63348, gcc.dg/pr43670.c fail -fcompare-debug on MIPS

2014-09-25 Thread Jeff Law
On 09/24/14 13:39, Uros Bizjak wrote: Hello! The failure was caused by barrier detection code, which failed to detect barrier after call insn was to be split when NOTE_CALL_ARG_LOCATION was present. This problem caused -fcompare-debug failure. Digging a bit deeped, and as hinted in the PR, the

Re: [RFC PATCH, RTL]: Fix PR63348, gcc.dg/pr43670.c fail -fcompare-debug on MIPS

2014-09-25 Thread Uros Bizjak
On Thu, Sep 25, 2014 at 7:44 PM, Uros Bizjak wrote: >>> The failure was caused by barrier detection code, which failed to >>> detect barrier after call insn was to be split when >>> NOTE_CALL_ARG_LOCATION was present. This problem caused >>> -fcompare-debug failure. >>> >>> Digging a bit deeped,

Re: [PATCH i386 AVX512] [52.1/n] Add vec2mask and mask2vec insn patterns.

2014-09-25 Thread Uros Bizjak
On Thu, Sep 25, 2014 at 11:42 AM, Kirill Yukhin wrote: > Hello, > As suggested, this is splitted out part of [52/n] patch, > which introduces new vec2mask and mask2vec insn patterns. > > As suggested, I've got rid off use of UNSPEC_CVTINT2MASK > unspec. Unfortunatelly, only partially. > I suppose,

[debug-early] fix fortran regressions

2014-09-25 Thread Aldy Hernandez
push_cfun() fails when there's no cfun stack. With this patch, we use set_cfun if not stack is available. This fixes the 16 Fortran guality regressions. Now guality tests all pass, for all languages. Committed to branch. commit a6f19a625bc6f662db6f23679503458f22721de9 Author: Aldy Hernandez

Re: [PATCH i386 AVX512] [56/n] Add plus/minus/abs/neg/andnot insn patterns.

2014-09-25 Thread Uros Bizjak
On Thu, Sep 25, 2014 at 4:12 PM, Kirill Yukhin wrote: > Hello, > Patch in the bottom extends plus/minus/abs/andnot patterns > to support AVX-512. > I've used questionable hack in the patterns. > Instead of writing dozen similar patterns with masking > I've simply substed them, prohibiting non-mask

Re: [PATCH] Add -Wno-abi in c++ struct-layout-1 tests

2014-09-25 Thread Mike Stump
On Sep 25, 2014, at 1:02 AM, Uros Bizjak wrote: >>> IMO, these should be converted to dg-additional-options. >> >> That would be something like following, except that compat framework doesn't >> support dg-additional-options: >> WARNING: compat.exp does not support dg-additional-options > > Rain

Re: [PATCH IRA] update_equiv_regs fails to set EQUIV reg-note for pseudo with more than one definition

2014-09-25 Thread Jeff Law
On 09/24/14 06:07, Felix Yang wrote: Hi Jeff, Thanks for the comments. I updated the patch adding some enhancements. Bootstrapped on x86_64-suse-linux. Please apply this patch if OK for trunk. Three points: 1. For multiple-set register, it is not qualified to have a equiv no

Re: [PATCH 2/2] Add patch for debugging compiler ICEs.

2014-09-25 Thread Jeff Law
On 09/23/14 01:14, Maxim Ostapenko wrote: 2014-09-04 Jakub Jelinek Max Ostapenko * common.opt: New option. * doc/invoke.texi: Describe new option. * gcc.c (execute): Don't free first string early, but at the end of the function. Call retry_ice if c

Re: [PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-09-25 Thread Jeff Law
On 09/01/14 04:29, Ilya Tocar wrote: AVX512 added new 16 xmm registers (xmm16-xmm31). Those registers require evex encoding. Only 512-bit wide versions of instructions have evex encoding with avx512f, but all versions have it with avx512vl. Most instructions have same macroized pattern for 128/2

Re: [PATCH/RFC v2 3/14] Add new optabs for reducing vectors to scalars

2014-09-25 Thread Segher Boessenkool
On Thu, Sep 25, 2014 at 05:12:24PM +0100, Alan Lawrence wrote: > So: original patch with updated commenting attached...Segher, is there any > chance you could test this on powerpc too? (in combination with patch 2/14, > which will need to be applied first; you can skip patch 1, and >=4.) 2+3/14,

Re: [AArch64] Fix predicate and constraint mismatch in logical atomic operations

2014-09-25 Thread Segher Boessenkool
On Thu, Sep 25, 2014 at 10:33:17AM -0700, Michael Collison wrote: > The problem is the "CONST_INT 0", not a large constant. This constant is > not accepted by the predicate, but is accepted by the constraint. Yes, bad choice of words, sorry. Just read "big" as "not matching the predicate". The

Re: [PATCH] Add direct support for Linux kernel __fentry__ patching

2014-09-25 Thread Jeff Law
On 09/01/14 21:24, Andi Kleen wrote: Having a nop area at the beginning of each function can be also also useful for other things. For example it can be used to patch functions at runtime to point to different functions, to do binary updates without restarting the program (like ksplice or simila

Re: Prepare gcc for 64-bit obstacks

2014-09-25 Thread Jeff Law
On 08/04/14 05:04, Alan Modra wrote: Two small changes to gcc code to support newer obstacks: 1) gcc currently calls _obstack_begin, which requires some ugly casts on alloc and free functions, and the casts will change when/if 64-bit obstacks are available. It's cleaner to use the convenience f

ipa-devirt TLC 8 - break out polymorphic context code

2014-09-25 Thread Jan Hubicka
Hi, this patch moves all code dealing with polymorphic_call_context to ipa-polymorphic-call.c in hope that things are more manageable this way. This code contains most of the magic of analyzing GIMPLE and determining contextes. ipa-devirt.c still contains several essentially independent things - t

[patch, testsuite] don't use dg-run in gcc.dg/vect tests

2014-09-25 Thread Sandra Loosemore
While doing some arm-none-eabi testing, I noticed that a bunch of gcc.dg/vect tests were causing the target to hang from trying to execute code compiled with "-mfpu=neon -mfloat-abi=softfp", on a target that doesn't support those instructions. And, this was caused by tests specifying "dg-do ru

Re: [patch,gomp-4_0-branch] openacc parallel reduction part 1

2014-09-25 Thread Thomas Schwinge
Hi! On Tue, 8 Jul 2014 07:28:24 -0700, Cesar Philippidis wrote: > On 07/07/2014 02:55 AM, Thomas Schwinge wrote: > > On Sun, 6 Jul 2014 16:10:56 -0700, Cesar Philippidis > > wrote: > >> This patch is the first step to enabling parallel reductions in openacc. > --- /dev/null > +++ b/gcc/testsu

  1   2   >