Re: Fix for PR obj-c++/48275 ("getter=namespace failing with .mm")

2011-10-14 Thread Mike Stump
On Oct 14, 2011, at 10:51 AM, Nicola Pero wrote: > Can I apply this fix to the 4.6 branch as well ? > OK to commit to the 4.6 branch ? Ok.

[PATCH] Fix mv8plus, allow targetting Linux or Solaris from other sparc host.

2011-10-14 Thread David Miller
Richard reported to me that we wouldn't have a mulsi3 pattern with "-m32 -mv8plus", which left me dumbfounded. It seemed impossible. Clarifying further, the case is when gcc is built for a target of sparc64-linux. And indeed I was able to reproduce this, a 32-bit mutliply results in a libcall.

Re: [SH] PR 49263 - underutilized "TST #imm, R0" instruction

2011-10-14 Thread Kaz Kojima
Oleg Endo wrote: > the attached patch is the same as the last proposed patch in the PR but > with some fixed formatting and comments. Hope it's fine like that. > > Tested against trunk rev 179778 with > > make -k -j4 check RUNTESTFLAGS="--target_board=sh-sim > \{-m2,-m2a-single,-m4-single,-m4a-

[SH] PR 49263 - underutilized "TST #imm, R0" instruction

2011-10-14 Thread Oleg Endo
Hello, the attached patch is the same as the last proposed patch in the PR but with some fixed formatting and comments. Hope it's fine like that. Tested against trunk rev 179778 with make -k -j4 check RUNTESTFLAGS="--target_board=sh-sim \{-m2,-m2a-single,-m4-single,-m4a-single\}\{-mb,-ml\}" an

Re: [pph] Make libcpp symbol validation a warning (issue5235061)

2011-10-14 Thread Gabriel Charette
Yes, I understand that. But when the second 2.pph is skipped when reading foo.pph, the reading of its line_table is also skipped (as foo.pph doesn't contain the line_table information for 2.h, 2.pph does and adds it when its included as a child, but if it's skipped, the line_table info for 2.h sho

Re: [google] support for building Linux kernel with FDO (issue4523061)

2011-10-14 Thread Rong Xu
You can access gcc side of patch from the following two branches: svn://gcc.gnu.org/svn/gcc/branches/google/mainorsvn://gcc.gnu.org/svn/gcc/branches/google/gcc-4_6_branch I have the patch for 2.6.36 kernel and 2.6.34 kernel and I believe I attached 2.6.36 patch to one of the early review emails. Le

Tweak again gnat.dg/specs/debug1.ads

2011-10-14 Thread Eric Botcazou
The test doesn't pass on SPARC because a different comment character is used... Fixed by not scanning comment characters at all; tested on x86 and SPARC/Linux, applied on the mainline. 2011-10-14 Eric Botcazou * gnat.dg/specs/debug1.ads: Tweak. -- Eric Botcazou Index: gnat.dg/spe

Re: [PATCH] Fix target default on biarch Linux/Sparc

2011-10-14 Thread Eric Botcazou
> Agreed, please install this patch if you haven't already. Thanks, done after successfully bootstrapping on SPARC64/Linux. -- Eric Botcazou

Re: [C++ Patch] PR 50732

2011-10-14 Thread Paolo Carlini
On 10/15/2011 12:20 AM, Jason Merrill wrote: That should work. Excellent. Then we can do something like the below, a great improvement. I'm finishing testing it (already past g++.dg), Ok if it passes? Thanks, Paolo. /// /cp 2011-10-14 Paolo Carlini PR c++/50732

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Richard Kenner
> +@item -mjump-to-noreturn > +@opindex mjump-to-noreturn > +Use a jump instruction instead of a call instruction when calling a > +no-return functions. This option is active if optimization is turned > +on and just affects the way a call instruction is printed out. > > Would "emit" be better her

[pph] Fix merging for namespaces. (issue5280048)

2011-10-14 Thread Lawrence Crowl
Factor pph_out_binding_level and pph_in_binding_level into three routines each: one to handle bindings that merge; one to handle those that do not; and one to handle the parts common to both. Streaming the global namespace now uses the mergeable version of binding level streaming. At present we a

Re: [C++ Patch] PR 50732

2011-10-14 Thread Jason Merrill
On 10/14/2011 05:58 PM, Paolo Carlini wrote: On 10/14/2011 09:08 PM, Jason Merrill wrote: How about using complete_type_or_else? The CPTK_IS_BASE_OF case becomes much simpler indeed, thanks. For the unary traits, though, I don't see an advantage in using it, because in some cases in check_trait

Re: [C++ Patch] PR 50732

2011-10-14 Thread Paolo Carlini
On 10/14/2011 09:08 PM, Jason Merrill wrote: How about using complete_type_or_else? The CPTK_IS_BASE_OF case becomes much simpler indeed, thanks. For the unary traits, though, I don't see an advantage in using it, because in some cases in check_trait_type we don't want to error out even when c

Re: [google] support for building Linux kernel with FDO (issue4523061)

2011-10-14 Thread vulcansh
I found this thread through a Google search so I didn't have much context. Can you point me to the google/main source repo for gcc and the kernel? Are there plans to migrate this patch to the gcc and Linux mainline? Sorry, but I have never used the PGO option in icc. Steve Xinliang David Li

Re: [rs6000, spu] Add vec_perm named pattern

2011-10-14 Thread Richard Henderson
On 10/14/2011 12:53 PM, Michael Meissner wrote: > I would rather change altivec_vperm_ to use the new name (and also > altivec_vperm__uns). But I can live with a wrapper function for now. As I said, I'm leaving the cleanup of the old patterns to port maintainers. > If we are adding permute optio

Re: [patch, Fortran] Change -std=f2008tr to f2008ts, update *.texi status and TR29113->TS29113

2011-10-14 Thread Tobias Burnus
*ping* http://gcc.gnu.org/ml/fortran/2011-10/msg00073.html On 12.10.2011 15:57, Tobias Burnus wrote: Hello all, this patch does two things: a) It updates the Fortran 2003 and TR/TS 29113 status in the GNU Fortran manual. b) It changes all references to Technical Report 29113 to Technical Spe

Re: [PATCH 3/7] Emit macro expansion related diagnostics

2011-10-14 Thread Jason Merrill
On 10/13/2011 01:12 PM, Dodji Seketeli wrote: + while (true) +{ + if (!linemap_macro_expansion_map_p (map0) + || !linemap_macro_expansion_map_p (map1) + || map0 == map1) + break; I'd put the test in the condition, but if you find it clearer this way, I guess tha

Re: [PATCH] Fix target default on biarch Linux/Sparc

2011-10-14 Thread David Miller
From: Eric Botcazou Date: Fri, 14 Oct 2011 22:31:53 +0200 >> If one wants a 32-bit default compiler, they should build for the >> sparc-linux target. And this is absolutely trivial to make happen >> in the environments where this is supposedly a problem. > > I have criticized so many times this

Re: [Patch,AVR] Fix PR46278, Take #3

2011-10-14 Thread Georg-Johann Lay
Gerald Pfeifer schrieb: This patch breaks bootstrap on FreeBSD 8 and FreeBSD 9 and everyone else using makeinfo 4.8 (when the minimum we require right now is version 4.7). Hence I went ahead and applied to simple patch below. If you'd like to address this differently, happy to see a different a

RE: Question about default_elf_asm_named_section function

2011-10-14 Thread Iyer, Balaji V
Attached, please find a patch fixing this issue. 2011-10-14 Balaji V. Iyer * varasm.c (default_elf_asm_named_section): Removed ATTRIBUTE_UNUSED tag before decl. Thanks, Balaji V. Iyer. -Original Message- From: Ian Lance Taylor [mailto:i...@google.com] Sent: Frid

Re: [PATCH] Fix target default on biarch Linux/Sparc

2011-10-14 Thread Eric Botcazou
> If one wants a 32-bit default compiler, they should build for the > sparc-linux target. And this is absolutely trivial to make happen > in the environments where this is supposedly a problem. I have criticized so many times this combination in the past, while Jakub and also you IIRC were defen

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Gerald Pfeifer
+@item -mjump-to-noreturn +@opindex mjump-to-noreturn +Use a jump instruction instead of a call instruction when calling a +no-return functions. This option is active if optimization is turned +on and just affects the way a call instruction is printed out. Would "emit" be better here than "prin

Re: [Patch,AVR] Fix PR46278, Take #3

2011-10-14 Thread Gerald Pfeifer
This patch breaks bootstrap on FreeBSD 8 and FreeBSD 9 and everyone else using makeinfo 4.8 (when the minimum we require right now is version 4.7). Hence I went ahead and applied to simple patch below. If you'd like to address this differently, happy to see a different approach. Testing a bootst

Re: [rs6000, spu] Add vec_perm named pattern

2011-10-14 Thread Michael Meissner
On Wed, Oct 12, 2011 at 03:42:12PM -0700, Richard Henderson wrote: > The generic support for vector permutation will allow for automatic > lowering to V*QImode, so all we need to add to support for these targets > is the single V16QI pattern that represents the base permutation insn. > > I'm not t

Re: [patch tree-optimization]: Improve handling of conditional-branches on targets with high branch costs

2011-10-14 Thread Kai Tietz
Hello, So I committed the gimplify patch separate. And here is the remaining fold-const patch. The important tests here are in gcc.dg/tree-ssa/builtin-expect[1-4].c, which cover the one special-case for branching. Also tree-ssa/20040204-1.c covers tests for branching code (on targets having high-

RE: Intrinsics for N2965: Type traits and base classes

2011-10-14 Thread Michael Spertus
:) > -Original Message- > From: Jason Merrill [mailto:ja...@redhat.com] > Sent: Friday, October 14, 2011 2:41 PM > To: Michael Spertus > Cc: Benjamin Kosnik; Jonathan Wakely; gcc-patches@gcc.gnu.org; > libstd...@gcc.gnu.org > Subject: Re: Intrinsics for N2965: Type traits and base classes

Re: Intrinsics for N2965: Type traits and base classes

2011-10-14 Thread Jason Merrill
Looks good, thanks. I'll let Benjamin check this in. Jason

RE: Intrinsics for N2965: Type traits and base classes

2011-10-14 Thread Michael Spertus
Redo test to run at compile-time per Jason's suggestion Index: libstdc++-v3/include/tr2/type_traits === --- libstdc++-v3/include/tr2/type_traits(revision 0) +++ libstdc++-v3/include/tr2/type_traits(revision 0) @@ -0,0

Re: [PATCH] Fix target default on biarch Linux/Sparc

2011-10-14 Thread David Miller
From: Eric Botcazou Date: Fri, 14 Oct 2011 20:27:03 +0200 >> If you configure a biarch Linux/Sparc compiler defaulting to >> 32-bit, but give --with-cpu= for a v9 cpu it erroneously >> turns on 64-bit in TARGET_DEFAULT. > > PR target/50354 reports the breakage of the opposite case after the chan

Re: [rs6000] Enable scalar shifts of vectors

2011-10-14 Thread Michael Meissner
.previous .type shift_right_vect, @function .L.shift_right_vect: mfvrsave 0 stw 0,-4(1) oris 0,0,0xc004 mtvrsave 0 li 0,256 mtctr 0 addis 10,2,.LC16@toc@ha addis 11,2,.LC17@toc@ha addis 9,2,.LC18@toc@ha ld 8,.

Re: [PATCH] AVX2 vec_widen_[su]mult_{hi,lo}*, sdot_prod* and udot_prod* (take 2)

2011-10-14 Thread Richard Henderson
On 10/14/2011 11:34 AM, Jakub Jelinek wrote: > 2011-10-14 Jakub Jelinek > > * config/i386/sse.md (vec_widen_smult_hi_v8hi, > vec_widen_smult_lo_v8hi, vec_widen_umult_hi_v8hi, > vec_widen_umult_lo_v8hi): Macroize using VI2_AVX2 > mode iterator and any_extend code iterator

Re: [C++ Patch] PR 50732

2011-10-14 Thread Jason Merrill
How about using complete_type_or_else? Jason

Re: C++ PATCH for c++/50614 (ICE with NSDMI and -fcompare-debug)

2011-10-14 Thread Jason Merrill
On 10/13/2011 05:22 PM, Jason Merrill wrote: + DECL_INITIAL (r) = error_mark_node; While working on 50507 I noticed that we check for error_mark_node in walk_field_subobs, so I'm changing the placeholder to void_zero_node. Tested x86_64-pc-linux-gnu, applying to trunk. commit ca436

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Pedro Alves
On Friday 14 October 2011 18:19:00, Georg-Johann Lay wrote: > Paolo Bonzini schrieb: > > On 10/14/2011 06:23 PM, Georg-Johann Lay wrote: > >> +@item -mjump-to-noreturn > >> +@opindex mjump-to-noreturn > >> +Use a jump instruction instead of a call instruction when calling a > >> +no-return function

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Paolo Bonzini
On Fri, Oct 14, 2011 at 19:19, Georg-Johann Lay wrote: > Paolo Bonzini schrieb: >> On 10/14/2011 06:23 PM, Georg-Johann Lay wrote: >>> +@item -mjump-to-noreturn >>> +@opindex mjump-to-noreturn >>> +Use a jump instruction instead of a call instruction when calling a >>> +no-return functions.  This

Re: [C++ Patch] PR 50732

2011-10-14 Thread Paolo Carlini
On 10/14/2011 08:30 PM, Paolo Carlini wrote: On 10/14/2011 08:23 PM, Paolo Carlini wrote: Hi, submitter complains that, at variance with C++11, __is_base_of doesn't handle an incomplete base type (the first parameter). The reason seems simple: in finish_trait_expr we try to complete *both* t

[PATCH] AVX2 vec_widen_[su]mult_{hi,lo}*, sdot_prod* and udot_prod* (take 2)

2011-10-14 Thread Jakub Jelinek
On Fri, Oct 14, 2011 at 09:21:15AM -0700, Richard Henderson wrote: > So what you're doing here is the low-part permutation: > > 0 4 1 5 2 6 3 7 > > followed by a shift to get > > 4 . 5 . 6 . 7 . > > But you need to load a 256-bit constant from memory to get it. Right. > I wonder i

Re: [C++ Patch] PR 50732

2011-10-14 Thread Paolo Carlini
On 10/14/2011 08:23 PM, Paolo Carlini wrote: Hi, submitter complains that, at variance with C++11, __is_base_of doesn't handle an incomplete base type (the first parameter). The reason seems simple: in finish_trait_expr we try to complete *both* types instead of doing it where/when necessary.

Re: [PATCH] Fix target default on biarch Linux/Sparc

2011-10-14 Thread Eric Botcazou
> If you configure a biarch Linux/Sparc compiler defaulting to > 32-bit, but give --with-cpu= for a v9 cpu it erroneously > turns on 64-bit in TARGET_DEFAULT. PR target/50354 reports the breakage of the opposite case after the change: configuring for sparc64-linux --with-cpu=v8 used to build a 32-

[C++ Patch] PR 50732

2011-10-14 Thread Paolo Carlini
Hi, submitter complains that, at variance with C++11, __is_base_of doesn't handle an incomplete base type (the first parameter). The reason seems simple: in finish_trait_expr we try to complete *both* types instead of doing it where/when necessary. Tested x86_64-linux. Ok? Thanks, Paolo. /

Re: [Patch, Fortran, committed] PR 50570: [4.6/4.7 Regression] Incorrect error for assignment to intent(in) pointer

2011-10-14 Thread Janus Weil
Forgot to mention: Will backport to 4.6 during the weekend (hopefully in time for 4.6.2). Cheers, Janus 2011/10/14 Janus Weil : > Hi all, > > I just committed a one-line fix for this regression (approved by > Tobias in a private mail): > > http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=18

[Patch, Fortran, committed] PR 50570: [4.6/4.7 Regression] Incorrect error for assignment to intent(in) pointer

2011-10-14 Thread Janus Weil
Hi all, I just committed a one-line fix for this regression (approved by Tobias in a private mail): http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=18 Cheers, Janus Btw: I just noticed that ABORT throws a backtrace in recent trunk versions (which didn't happen in 4.6 or earlier). I think

Re: New warning for expanded vector operations

2011-10-14 Thread Mike Stump
On Oct 14, 2011, at 8:37 AM, Artem Shinkarov wrote: > Committed with 179991. Please don't send these... If you commit for a person, you can send directly to them the fact you committed the work. If people want to know when works goes in, be sure to use a PR and put yourself on the cc list, then

C++ PATCH for c++/50507 (NSDMI for const field)

2011-10-14 Thread Jason Merrill
We should check for an initializer before complaining about lack thereof. :) Tested x86_64-pc-linux-gnu, applying to trunk. commit fc150101bb79b3b328263e272a44eecd1083e6cd Author: Jason Merrill Date: Thu Oct 13 21:57:21 2011 -0400 PR c++/50507 * method.c (walk_field_subobs): Check

C++ PATCH for c++/50563 (NSDMI and multiple declarator list)

2011-10-14 Thread Jason Merrill
The problem here was that we were saving away the second declarator as part of the NSDMI for the first declarator. Fixed by stopping at a non-nested comma. Tested x86_64-pc-linux-gnu, applying to trunk. commit 09f16be794e871607c2bb46bf74206ee40af1b74 Author: Jason Merrill Date: Thu Oct 13 1

Re: Fix for PR obj-c++/48275 ("getter=namespace failing with .mm")

2011-10-14 Thread Nicola Pero
Can I apply this fix to the 4.6 branch as well ? Some users are asking for it to be backported to the 4.6 branch. It's not a regression, because the property implementation is new in GCC 4.6, but it is still a serious bug if you're trying to use properties with ObjC++, as you can't use "namespa

[PATCH] Fix typo in Builtin infrastructure change

2011-10-14 Thread Michael Meissner
David pointed out that I had a typo in the AIX code in my builtin changes on October 11th. I've checked this patch in as obvious. 2011-10-14 Michael Meissner * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo in my change on October 11th, 2011. Index: gcc/config/rs6000

Re: [PATCH, Atom] Fix performance regression with -mtune=atom

2011-10-14 Thread H.J. Lu
On Fri, Oct 14, 2011 at 10:13 AM, Vladimir Yakovlev wrote: > Patch is attached. > > Thanks, > Vladimir > > 2011-10-14  Yakovlev Vladimir  vladimir.b.yakov...@intel.com ^ Should be in "<>". > >     * gcc/config/i386/i386.c (atom_cost): Changed cost for loading

libobjc/49883: Applied fix to 4.6 branch as well

2011-10-14 Thread Nicola Pero
I applied the following patch to backport the fix for libobjc/49883 to GCC 4.6 so that it appears in 4.6.2. This is the clang-related problem that was recently discussed. Again, it's an important fix, but safe, with users (the ObjFW guys) asking for it in 4.6.2, which made total sense, so I bac

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Georg-Johann Lay
Paolo Bonzini schrieb: > On 10/14/2011 06:23 PM, Georg-Johann Lay wrote: >> +@item -mjump-to-noreturn >> +@opindex mjump-to-noreturn >> +Use a jump instruction instead of a call instruction when calling a >> +no-return functions. This option is active if optimization is turned >> +on and just affe

libobjc/50002: Applied fix to 4.6 branch as well

2011-10-14 Thread Nicola Pero
I applied the following patch to the 4.6 branch to backport the fix for libobjc/50002. It makes sense to backport it to 4.6.x so that it appears in 4.6.2. It really is quite a bug, and the fix is simple/safe (and, the ObjFW guys were particularly keen on it). Thanks Index: class.c

[Patch,AVR,Comitted]: Avoid unwind warning from toplev.c [fix thinko]

2011-10-14 Thread Georg-Johann Lay
Denis Chertykov schrieb: > 2011/10/10 Georg-Johann Lay : >> toplev.c complains about "unwind tables currently require a frame pointer for >> correctness". >> >> This patchlet supplies a fix to avoid build warnings/test fails in that it >> sets >> flag_omit_frame_pointer to 0 if unwind needs FP. >>

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Paolo Bonzini
On 10/14/2011 06:23 PM, Georg-Johann Lay wrote: +@item -mjump-to-noreturn +@opindex mjump-to-noreturn +Use a jump instruction instead of a call instruction when calling a +no-return functions. This option is active if optimization is turned +on and just affects the way a call instruction is prin

Re: [PATCH] 32-byte integer vec_interleave_{high,low}

2011-10-14 Thread Richard Henderson
On 10/13/2011 11:16 PM, Jakub Jelinek wrote: > 2011-10-14 Jakub Jelinek > > * config/i386/sse.md (vec_interleave_high, > vec_interleave_low): Add AVX2 expanders for VI_256 > modes. > * config/i386/i386.c (expand_vec_perm_interleave3): New function. > (ix86_expand_v

Re: PATCH: PR rtl-optimization/50696: [x32] Unnecessary lea

2011-10-14 Thread H.J. Lu
On Fri, Oct 14, 2011 at 9:23 AM, Paolo Bonzini wrote: > On 10/14/2011 05:36 PM, H.J. Lu wrote: >> >> There is a testcase at >> >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50696 >> >> It passes with my patch. > > Cool, so let's wait for the results of testing. > > Paolo > Here is the complete p

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Georg-Johann Lay
Richard Henderson schrieb: > On 10/13/2011 11:31 PM, Georg-Johann Lay wrote: >> Richard Henderson schrieb: >>> On 10/13/2011 12:00 PM, Georg-Johann Lay wrote: >>> What do you propose? o A command line option that is on per default like -mnoreturn-tail-calls or -mjmp-noreturn >>

Re: PATCH: PR rtl-optimization/50696: [x32] Unnecessary lea

2011-10-14 Thread Paolo Bonzini
On 10/14/2011 05:36 PM, H.J. Lu wrote: There is a testcase at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50696 It passes with my patch. Cool, so let's wait for the results of testing. Paolo

Re: [testsuite] require arm_little_endian in two tests

2011-10-14 Thread Richard Earnshaw
On 14/10/11 16:21, Joseph S. Myers wrote: > On Fri, 14 Oct 2011, Richard Earnshaw wrote: > >> One way we might address this is to redefine our 128-bit vector types as >> structs of low/high Dwords. Each Dword remains a vector (apart from >> 64-bit lane types), but the Dword order then matches the

Re: [PATCH, Atom] Fix performance regression with -mtune=atom

2011-10-14 Thread H.J. Lu
On Fri, Oct 14, 2011 at 7:15 AM, Vladimir Yakovlev wrote: > Could anyone checkin that? Please provide a suitable patch which can be applied. H.J. > Thanks, > Vladimir > > 2011/10/14 Uros Bizjak : >> Hello! >> >>> This is a ping. Change affects Atom only and was made because it >>> really gi

Re: [PATCH] AVX2 vec_widen_[su]mult_{hi,lo}*, sdot_prod* and udot_prod*

2011-10-14 Thread Richard Henderson
On 10/14/2011 07:18 AM, Jakub Jelinek wrote: > + /* This would be 2 insns shorter if > + rperm[i] = GEN_INT (((~i & 1) << 2) + i / 2); > + has been used instead (both vpslrq insns wouldn't be needed), > + but vec_widen_*mult_hi_* is usually used together with > + vec_widen_*mult_lo

[google] AddressSanitizer for gcc, first attempt. (issue5272048)

2011-10-14 Thread Kostya Serebryany
Index: tree-asan.c === --- tree-asan.c (revision 0) +++ tree-asan.c (revision 0) @@ -0,0 +1,512 @@ +/* AddressSanitizer, a fast memory error detector. + Copyright (C) 2011 Free Software Foundation, Inc. + Contributed by Kostya Sere

Re: Predication during scheduling

2011-10-14 Thread Bernd Schmidt
On 10/14/11 17:35, Vladimir Makarov wrote: > On 10/13/2011 05:01 PM, Bernd Schmidt wrote: >> http://gcc.gnu.org/ml/gcc-patches/2011-09/msg02053.html >> >> > It is hard to read the patch without function names. Oh, you mean without -p? Not sure how that happened, svn diff seems to add them when run

Re: Intrinsics for N2965: Type traits and base classes

2011-10-14 Thread Jason Merrill
On 10/13/2011 01:35 PM, Michael Spertus wrote: +int main() { + assert(typeid(b::type) + == typeid(types)); + assert(typeid(db::type) == typeid(types)); + assert(typeid(db::type) == typeid(types<>)); + return 0; +} Let's make this a compile-time test using something like template s

Re: [PATCH] sel-sched: fix merging of LHS reg availability (PR 50340)

2011-10-14 Thread Vladimir Makarov
On 09/13/2011 12:42 PM, Alexander Monakov wrote: Fixed as follows, bootstrapped and regtested on x86_64-linux and ia64-linux (without java, with one recent SRA patch reverted to unbreak bootstrap) with sel-sched enabled at -O2. OK for trunk? Ok with a small code format change below. (a small

Re: [PATCH] sel-sched: forbid differing modes in substitution (PR 50205)

2011-10-14 Thread Vladimir Makarov
On 09/07/2011 05:38 AM, Alexander Monakov wrote: Hello, The patch repairs a problem when we attempt to substitute an insn like (... (cmp (mem (reg:DI ax)) (reg:SI ax))) (note different modes) through (set (reg:DI ax) (reg:DI dx)), which leaves the (reg:SI ax) part of the comparison intact, causi

[pph] Fix chain merging (issue5264044)

2011-10-14 Thread Diego Novillo
So, I had not fixed c1limits-externalid.cc. I had simply messed up merging decls into chains. The problem here is that we insert decls into a chain *before* we finish reading them. So, when pph_merge_into_chain inserts the partially read DECL into the chain (or returns an existing DECL), the ca

Re: New warning for expanded vector operations

2011-10-14 Thread Artem Shinkarov
On Fri, Oct 14, 2011 at 2:57 PM, Richard Guenther wrote: > On Fri, Oct 14, 2011 at 3:42 PM, Artem Shinkarov > wrote: >> On Thu, Oct 13, 2011 at 10:40 AM, Artem Shinkarov >> wrote: >>> On Thu, Oct 13, 2011 at 10:23 AM, Richard Guenther >>> wrote: On Thu, Oct 13, 2011 at 10:59 AM, Mike Stump

Re: PATCH: PR rtl-optimization/50696: [x32] Unnecessary lea

2011-10-14 Thread H.J. Lu
On Thu, Oct 13, 2011 at 11:51 PM, Paolo Bonzini wrote: > On 10/13/2011 10:07 PM, H.J. Lu wrote: >> >> On Thu, Oct 13, 2011 at 11:15 AM, Richard Kenner >>  wrote: The answer to H.J.'s "Why do we do it for MEM then?" is simply "because no one ever thought about not doing it" >>> >>>

Re: Predication during scheduling

2011-10-14 Thread Vladimir Makarov
On 10/13/2011 05:01 PM, Bernd Schmidt wrote: On 09/30/11 17:29, Bernd Schmidt wrote: This patch allows a backend to set a new scheduler flag, DO_PREDICATION, which will make the haifa scheduler try to move insns across jumps by predicating them. On C6X, the primary benefit is to fill jump delay

Re: [testsuite] require arm_little_endian in two tests

2011-10-14 Thread Joseph S. Myers
On Fri, 14 Oct 2011, Richard Earnshaw wrote: > One way we might address this is to redefine our 128-bit vector types as > structs of low/high Dwords. Each Dword remains a vector (apart from > 64-bit lane types), but the Dword order then matches the ABI > specification correctly. For example, the

Re: [PATCH] negv{32qi,16hi,8si,4di}

2011-10-14 Thread Richard Henderson
On 10/14/2011 07:19 AM, Jakub Jelinek wrote: > 2011-10-14 Jakub Jelinek > > * config/i386/sse.md (neg2): Use VI_AVX2 iterator instead > of VI_128. Ok. r~

Re: [Patch, Fortran] PR50718 Fix -fcheck=pointer 4.6/4.7 regression

2011-10-14 Thread Tobias Burnus
On 10/14/2011 12:19 PM, Tobias Burnus wrote: while testing my constructor draft patch with FGSL, I found two bugs (4.6/4.7 regressions): PR target/50721 (segfault on x86-64 after execution - one of the rare -O0 only bugs) That bug turned out to be a out-of-bounds problem between Fortran and C,

Re: [Patch,AVR] Print no-return functions as JMP

2011-10-14 Thread Richard Henderson
On 10/13/2011 11:31 PM, Georg-Johann Lay wrote: > Richard Henderson schrieb: >> On 10/13/2011 12:00 PM, Georg-Johann Lay wrote: >> >>> What do you propose? >>> >>> o A command line option that is on per default like >>> -mnoreturn-tail-calls or -mjmp-noreturn >> >> The command-line-option. I thin

Re: [testsuite] require arm_little_endian in two tests

2011-10-14 Thread Joseph S. Myers
On Fri, 14 Oct 2011, Julian Brown wrote: > * The vectorizer can use whatever layout it wants for vectors in >either endianness. Vectorizer vectors never interact with either >GCC generic (source-level) vectors, nor the NEON intrinsics. Also >they never cross ABI boundaries. I don't t

[Ada] Aliasing and objects in extended return statements

2011-10-14 Thread Arnaud Charlet
AI05-0053 forbids the use of the aliased keyword in the object declaration of an extended return statement. This avoids semantic complications with return objects that are not of an immutably limited type, and which therefore are not necesarily built in place. Compiling the following in -gnat12 m

Re: [testsuite] require arm_little_endian in two tests

2011-10-14 Thread Richard Earnshaw
On 14/10/11 11:42, Julian Brown wrote: > On Thu, 13 Oct 2011 16:12:17 +0100 > Richard Earnshaw wrote: > >> On 13/10/11 15:56, Joseph S. Myers wrote: >>> Indeed, vector initializers are part of the target-independent GNU >>> C language and have target-independent semantics that the elements >>> go

[Ada] Checks fail on right operand of "and" and "or" with Short_Circuit_And_Or

2011-10-14 Thread Arnaud Charlet
When the pragma Short_Circuit_And_Or is used, no part of the right operand of an "and" or "or" operator should be executed if the left operand would short-circuit the evaluation of the corresponding "and then" or "or else". However, run-time checks associated with such operands were being evaluated

Re: [PATCH] Add explicit VIS intrinsics for addition and subtraction.

2011-10-14 Thread Vladimir Makarov
On 09/28/2011 06:38 PM, Eric Botcazou wrote: [Vlad, if you have a few minutes, would you mind having a look at the couple of questions at the end of the message? Thanks in advance]. No problem. Here are the results of the investigation. Pseudo 116 needs to be assigned a hard register. It is

[PATCH/RFA] Fix up gcc.dg/vect/pr30858.c expected output

2011-10-14 Thread Matthew Gretton-Dann
All, The attached patch corrects the expected output of the gcc.dg/vect/pr30858.c testcase. Historically it has expected the output "Unknown def-use cycle pattern." just once. However, recent changes to GCC for ARM targets means that vectorization is attempted twice once with a vector size o

Re: [C++ Patch / RFC] PR 38174

2011-10-14 Thread Paolo Carlini
Hi, On 10/13/2011 10:37 PM, Paolo Carlini wrote: + if ((TYPE_PTR_P (type1) && TYPE_PTR_P (type2)) + || (TYPE_PTRMEM_P (type1) && TYPE_PTRMEM_P (type2)) + || TYPE_PTRMEMFUNC_P (type1)) You don't need to check TYPE_PTR_P or TYPE_PTRMEM_P for type2 here (or in the condition above)

[PATCH] negv{32qi,16hi,8si,4di}

2011-10-14 Thread Jakub Jelinek
Hi! This patch allows to vectorize negations using 32-byte vectors. 2011-10-14 Jakub Jelinek * config/i386/sse.md (neg2): Use VI_AVX2 iterator instead of VI_128. --- gcc/config/i386/sse.md.jj 2011-10-14 13:05:58.0 +0200 +++ gcc/config/i386/sse.md 2011-10-14 13:

[PATCH] AVX2 vec_widen_[su]mult_{hi,lo}*, sdot_prod* and udot_prod*

2011-10-14 Thread Jakub Jelinek
Hi! This patch improves generated code for SSE4.1 and even more for AVX2 on the attached testcases. SSE4.1 has pmuldq (where SSE2 only had pmuludq), so can handle signed widening shifts fine too. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2011-10-14 Jakub Jelinek

Re: [PATCH, Atom] Fix performance regression with -mtune=atom

2011-10-14 Thread Vladimir Yakovlev
Could anyone checkin that? Thanks, Vladimir 2011/10/14 Uros Bizjak : > Hello! > >> This is a ping. Change affects Atom only and was made because it >> really gives better performance on this architecture. This fact >> actually leads to the thought that old value is just a simple >> misprint. >> >

Re: [PATCH, i386 tests] New tests to check vectorization for AVX2 insns.

2011-10-14 Thread Jakub Jelinek
On Fri, Oct 14, 2011 at 05:53:28PM +0400, Kirill Yukhin wrote: > Thanks, done. > > Anything else? First of all, most of the testcases look very similar, the only changes in between many of them are (unimportant) function names and different type. So, I think it would be much better to just write

Re: [PATCH] Handle COND_EXPR/VEC_COND_EXPR in walk_stmt_load_store_addr_ops and ssa verification

2011-10-14 Thread Michael Matz
Hi, On Fri, 14 Oct 2011, Richard Guenther wrote: > But I'm not sure. I think we should delete this check from > verify_ssa and instead have a corresponding check in > verify_stmts (which already properly walks trees) that > for an SSA name we encounter we do have a properly linked use > (see ver

Re: [C++ Patch] PR 17212

2011-10-14 Thread Paolo Carlini
On 10/14/2011 03:57 PM, Jason Merrill wrote: On 10/13/2011 07:19 PM, Paolo Carlini wrote: -@item -Wno-format-zero-length @r{(C and Objective-C only)} +@item -Wno-format-zero-length @r{(C, C++, Objective-C and Objective-C++ only)} I would just remove the {...only} to match the other -Wformat i

Re: [patch] dwarf2out: Drop the size + performance overhead of DW_AT_sibling

2011-10-14 Thread Tom Tromey
> "Tristan" == Tristan Gingold writes: Tristan> I am not against this patch, my only concern is that there are many Tristan> many dwarf consumers and I have no idea how they will react to this Tristan> change. I tend to think that this is the wrong standard to apply. In this case we would b

Re: New warning for expanded vector operations

2011-10-14 Thread Richard Guenther
On Fri, Oct 14, 2011 at 3:42 PM, Artem Shinkarov wrote: > On Thu, Oct 13, 2011 at 10:40 AM, Artem Shinkarov > wrote: >> On Thu, Oct 13, 2011 at 10:23 AM, Richard Guenther >> wrote: >>> On Thu, Oct 13, 2011 at 10:59 AM, Mike Stump wrote: On Oct 12, 2011, at 2:37 PM, Artem Shinkarov wrote: >

Re: [C++ Patch] PR 17212

2011-10-14 Thread Jason Merrill
On 10/13/2011 07:19 PM, Paolo Carlini wrote: -@item -Wno-format-zero-length @r{(C and Objective-C only)} +@item -Wno-format-zero-length @r{(C, C++, Objective-C and Objective-C++ only)} I would just remove the {...only} to match the other -Wformat items. OK. Jason

Re: [C++ Patch / RFC] PR 38174

2011-10-14 Thread Jason Merrill
On 10/13/2011 10:37 PM, Paolo Carlini wrote: + if ((TYPE_PTR_P (type1) && TYPE_PTR_P (type2)) + || (TYPE_PTRMEM_P (type1) && TYPE_PTRMEM_P (type2)) + || TYPE_PTRMEMFUNC_P (type1)) You don't need to check TYPE_PTR_P or TYPE_PTRMEM_P for type2 here (or in the condition above

Re: [PATCH, i386 tests] New tests to check vectorization for AVX2 insns.

2011-10-14 Thread Kirill Yukhin
Thanks, done. Anything else? K On Fri, Oct 14, 2011 at 3:53 PM, Jakub Jelinek wrote: > On Fri, Oct 14, 2011 at 03:13:45PM +0400, Kirill Yukhin wrote: > > --- /dev/null > +++ b/gcc/testsuite/gcc.target/i386/avx2-vpaddb-3.c > @@ -0,0 +1,49 @@ > +/* { dg-do run } */ > +/* { dg-options "-mavx2 -O2

Re: New warning for expanded vector operations

2011-10-14 Thread Artem Shinkarov
On Thu, Oct 13, 2011 at 10:40 AM, Artem Shinkarov wrote: > On Thu, Oct 13, 2011 at 10:23 AM, Richard Guenther > wrote: >> On Thu, Oct 13, 2011 at 10:59 AM, Mike Stump wrote: >>> On Oct 12, 2011, at 2:37 PM, Artem Shinkarov wrote: This patch fixed PR50704. gcc/testsuite:      

Re: [ARM] Fix PR49641

2011-10-14 Thread Bernd Schmidt
On 07/13/11 16:03, Richard Earnshaw wrote: >> * config/arm/arm.c (store_multiple_sequence): Avoid cases where >> the base reg is stored iff compiling for Thumb1. >> >> * gcc.target/arm/pr49641.c: New test. Ping. Richard, you replied to the mail but didn't comment on the patch. Be

[PATCH] Simplify and fix restrict handling

2011-10-14 Thread Richard Guenther
This follows up Michas testcase where we fail to handle the conservatively propagated restrict tags properly. The following patch simplifies handling of restrict in the oracle and thus only excludes NONLOCAL (as designed), but not ESCAPED from conflict checking. Bootstrapped on x86_64-unknown-li

Re: [PATCH] Add mulv4di3 expander

2011-10-14 Thread Uros Bizjak
On Fri, Oct 14, 2011 at 8:18 AM, Jakub Jelinek wrote: > mulv2di3 can be expanded the same as mulv2di3. > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? > > 2011-10-14  Jakub Jelinek   > >        * config/i386/sse.md (mulv2di3): Macroize using VI8_AVX2 >        iterator. >  

Re: [PATCH, Atom] Fix performance regression with -mtune=atom

2011-10-14 Thread Uros Bizjak
Hello! > This is a ping. Change affects Atom only and was made because it > really gives better performance on this architecture. This fact > actually leads to the thought that old value is just a simple > misprint. > > > This patch fixes performance regression with -mtune=atom. Changing > > atom

Re: [pph] Make libcpp symbol validation a warning (issue5235061)

2011-10-14 Thread Diego Novillo
On 11-10-13 17:55 , Gabriel Charette wrote: I'm not sure exactly how you skip headers already parsed now (we didn't used to when I wrote this code and that was the only problem remaining in the line_table (i.e. duplicate entries for guarded headers in the non-pph compile)), but couldn't you coun

[pph] Misc cleanups (3/3) (issue5274043)

2011-10-14 Thread Diego Novillo
* pph-streamer-out.c (pph_out_tree_1): Do not call pph_trace_tree unless flag_pph_tracer is set. diff --git a/gcc/cp/pph-streamer-out.c b/gcc/cp/pph-streamer-out.c index e337a31..d534b42 100644 --- a/gcc/cp/pph-streamer-out.c +++ b/gcc/cp/pph-streamer-out.c @@ -1916,7 +1916,8 @@ p

[pph] Misc cleanups (2/3) (issue5263044)

2011-10-14 Thread Diego Novillo
* pph-streamer-in.c (pph_in_tree_1): Rename from pph_in_any_tree. Update all users. Do not call pph_trace_tree unless flag_pph_tracer is set. diff --git a/gcc/cp/pph-streamer-in.c b/gcc/cp/pph-streamer-in.c index f8d6393..5cdf4d5 100644 --- a/gcc/cp/pph-streamer-in.c +++

[pph] Misc cleanups (1/3) (issue5282043)

2011-10-14 Thread Diego Novillo
* pph-streamer-out.c (pph_out_tree_1): Rename from pph_out_any_tree. Update all users. diff --git a/gcc/cp/pph-streamer-out.c b/gcc/cp/pph-streamer-out.c index ffbe710..e337a31 100644 --- a/gcc/cp/pph-streamer-out.c +++ b/gcc/cp/pph-streamer-out.c @@ -619,16 +619,15 @@ pph_out_st

  1   2   >