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

2011-10-14 Thread Jakub Jelinek
Hi! This patch adds VI_256 vec_interleave_{high,low}mode as well as using it in the vector expander. While it needs 3 insns for each, the first two will be actually CSEd if both patterns are expanded (the usual case from the vectorizer, e.g. for vect-strided-store-u32-i2.c), so we end up with 2

[PATCH] Add mulv4di3 expander

2011-10-14 Thread Jakub Jelinek
Hi! 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 ja...@redhat.com * config/i386/sse.md (mulv2di3): Macroize using VI8_AVX2 iterator. (ashlmode3): Use VI248_AVX2 iterator

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

2011-10-14 Thread Georg-Johann Lay
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 think I prefer -mjump-noreturn, as the inverse -mno-noreturn-tail-calls is

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

2011-10-14 Thread Paolo Bonzini
On 10/13/2011 10:07 PM, H.J. Lu wrote: On Thu, Oct 13, 2011 at 11:15 AM, Richard Kenner ken...@vlsi1.ultra.nyu.edu 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 No, that's false. The same expand_compound_operation /

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

2011-10-14 Thread Georg-Johann Lay
Weddington, Eric schrieb: This is yet another attempt to fix PR46278 (fake X addressing). After the previous clean-ups it is just a small change. caller-saves.c tries to eliminate call-clobbered hard-regs allocated to pseudos around function calls and that leads to situations that

Re: [C++ Patch] PR 17212

2011-10-14 Thread Mike Stump
On Oct 13, 2011, at 4:19 PM, Paolo Carlini wrote: Ok for mainline? Ok.

Re: [Patch, Darwin] fix PR50699.

2011-10-14 Thread Iain Sandoe
On 13 Oct 2011, at 23:38, Iain Sandoe wrote: On 13 Oct 2011, at 23:22, Mike Stump wrote: +/* Add $LDBL128 suffix to long double builtins for ppc darwin. */ static void -darwin_patch_builtin (int fncode) +darwin_patch_builtin (enum built_in_function fncode) This is a property of the

Re: ObjC/ObjC++ Patch: rewrite objc/objc++ frontend hashtables

2011-10-14 Thread Mike Stump
On Oct 13, 2011, at 5:02 PM, Nicola Pero wrote: I actually forgot to post a tiny bit that is required to support the additional objc/objc-map.h and objc/objc-map.c files. It's part of the same patch. Apologies. Hum, looks fairly obvious to me. :-)

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

2011-10-14 Thread Tristan Gingold
On Oct 13, 2011, at 10:40 PM, Jan Kratochvil wrote: On Wed, 12 Oct 2011 16:18:07 +0200, Jan Kratochvil wrote: On Wed, 12 Oct 2011 16:07:24 +0200, Tristan Gingold wrote: I fear that this may degrade performance of other debuggers. What about adding a command line option ? I can test idb,

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

2011-10-14 Thread Richard Guenther
On Thu, 13 Oct 2011, Jakub Jelinek wrote: Hi! Andrew mentioned on IRC he found walk_stmt_load_store_addr_ops doesn't handle COND_EXPR weirdo first argument well, the following patch is an attempt to handle that. I've noticed similar spot in verify_ssa, though in that case I'm not sure

resent [PATCH] Fix PR50496

2011-10-14 Thread Markus Trippelsdorf
This patch, originally from Chung-Lin Tang, fixes PR50496. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50496 Can someone please review and commit it? Thanks. Bootstrapped and tested on x86_64-pc-linux-gnu. PR middle-end/50496 * cfgrtl.c (try_redirect_by_replacing_jump): Treat

[Patch Darwin/PPC] implement out-of-line FPR/GPR saves/restores.

2011-10-14 Thread Iain Sandoe
we've been building the FPR routines for ages (for compatibility with system tools).. This implements their use and also the GPRs - the latter makes an appreciable reduction in code size, the former is neutral for non-fp intensive code but, for example, makes an appreciable reduction to the

Re: [Patch Darwin/PPC] implement out-of-line FPR/GPR saves/restores.

2011-10-14 Thread Mike Stump
On Oct 14, 2011, at 2:05 AM, Iain Sandoe wrote: This implements their use and also the GPRs - the latter makes an appreciable reduction in code size, OK for trunk? Ok. Watch for problems with async stack walking (hitting sample in Activity Monitor, or the walking done by CrashReporter)...

[Patch Darwin/PR49992 1/2] remove ranlib special-casing from the darwin port.

2011-10-14 Thread Iain Sandoe
As per the PR audit trail, there is no reason to retain this special- casing for Darwin. (given that current GCC is not build-able using Darwin toolsets of the vintage that required the case). Mike has OK'd this off-list - but, since Ralf commented on the previous version, I'd like to give

[Patch Darwin/PR49992 2/2] remove ranlib special-casing from the darwin port.

2011-10-14 Thread Iain Sandoe
As per the PR audit trail, there is no reason to retain this in the building of GCC. As for its use as a general option in tool-builds; With current darwin toolsets it has the potential to cause issues when using convenience libs containing common. OK for trunk? Iain gcc/ada: PR

[PATCH] Fix PR50723, GSI_NEW subtlety

2011-10-14 Thread Richard Guenther
This fixes PR50723, a common error when inserting stmts after some others and using GSI_NEW (which will make the iterator point to the _first_ newly inserted stmt). Bootstrap and regtest running on x86_64-unknown-linux-gnu. Richard. 2011-10-14 Richard Guenther rguent...@suse.de PR

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

2011-10-14 Thread Denis Chertykov
2011/10/14 Georg-Johann Lay a...@gjlay.de: Weddington, Eric schrieb: This is yet another attempt to fix PR46278 (fake X addressing). After the previous clean-ups it is just a small change. caller-saves.c tries to eliminate call-clobbered hard-regs allocated to pseudos around function calls

Re: [PR50672, PATCH] Fix ice triggered by -ftree-tail-merge: verify_ssa failed: no immediate_use list

2011-10-14 Thread Richard Guenther
On Fri, Oct 14, 2011 at 1:12 AM, Tom de Vries tom_devr...@mentor.com wrote: On 10/12/2011 02:19 PM, Richard Guenther wrote: On Wed, Oct 12, 2011 at 8:35 AM, Tom de Vries vr...@codesourcery.com wrote: Richard, I have a patch for PR50672. When compiling the testcase from the PR with

Re: RFC: Add ADD_RESTRICT tree code

2011-10-14 Thread Richard Guenther
On Wed, Oct 12, 2011 at 7:16 PM, Michael Matz m...@suse.de wrote: Hi, this adds a mean to retain restrict information without relying on restrict casts.  In the patch it's emitted by the gimplifier when it sees a norestrict-restrict cast (which from then on is useless), at which point also

Re: Vector alignment tracking

2011-10-14 Thread Richard Guenther
On Thu, Oct 13, 2011 at 6:57 PM, Andi Kleen a...@firstfloor.org wrote: Or I am missing someting? I often see the x86 vectorizer with -mtune=generic generate a lot of complicated code just to adjust for potential misalignment. My thought was just if the alias oracle knows what the original

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

2011-10-14 Thread Tobias Burnus
Hello, 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) - and while trying to debug it, I found this bug. The problem is that for -fcheck=pointer, gfortran expects

Re: [testsuite] require arm_little_endian in two tests

2011-10-14 Thread Julian Brown
On Thu, 13 Oct 2011 16:12:17 +0100 Richard Earnshaw rearn...@arm.com 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 in memory order, corresponding to

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

2011-10-14 Thread Kirill Yukhin
Hello guys, Here is a bunch of tests which check basic vectorization abilities to generate AVX2 instructions. testsuite/ChangeLog entry is: 2011-10-14 Kirill Yukhin kirill.yuk...@intel.com * gcc.target/i386/avx2-vpaddd-3.c: New test. * gcc.target/i386/avx2-vpaddw-3.c: Ditto.

Re: resent [PATCH] Fix PR50496

2011-10-14 Thread Eric Botcazou
This patch, originally from Chung-Lin Tang, fixes PR50496. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50496 Can someone please review and commit it? A proper patch submission should include a description of the problem and a rationale for the proposed fix (unless it is trivial). -- Eric

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

2011-10-14 Thread Vladimir Yakovlev
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. Please look. Vladimir 2011/9/30 Vladimir Yakovlev vbyakov...@gmail.com: This patch fixes

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

2011-10-14 Thread Richard Guenther
On Thu, Oct 13, 2011 at 3:25 PM, Kai Tietz ktiet...@googlemail.com wrote: Hello, this new version addresses the comments from you. On gimplify.c's gimplify_expr we didn't handled the case that operands for TRUTH-AND/OR/XOR expressions need to have same operand-size in case  of transformation

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

2011-10-14 Thread Georg-Johann Lay
Denis Chertykov schrieb: Georg-Johann Lay : Weddington, Eric schrieb: This is yet another attempt to fix PR46278 (fake X addressing). After the previous clean-ups it is just a small change. caller-saves.c tries to eliminate call-clobbered hard-regs allocated to pseudos around function

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

2011-10-14 Thread Jakub Jelinek
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 -ftree-vectorize -save-temps } */ +/* { dg-require-effective-target avx2 } */ + ... + +/* { dg-final {

Re: resent2 [PATCH] Fix ICE in redirect_jump, at jump.c:1497 PR50496

2011-10-14 Thread Markus Trippelsdorf
Consider this testcase: $ cat test.cpp class GCAlloc { }; class BaseAlloc { }; class String; class Base { public: virtual void destroy( String *str ) const =0; }; class String: public GCAlloc { const Base *m_class; public: enum constants { }; String( const char *data );

[pph] Unify chain streaming (issue5262045)

2011-10-14 Thread Diego Novillo
This cleans up the chain streaming code under a single core function and various entry points. In the process it fixes the timeout problem in c1limits-externalid.cc (we were just messing up the chain when streaming it in reverse). Tested on x86_64. Committed to branch. *

[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] 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 @@

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

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 cost

Re: [PATCH] Add mulv4di3 expander

2011-10-14 Thread Uros Bizjak
On Fri, Oct 14, 2011 at 8:18 AM, Jakub Jelinek ja...@redhat.com 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  ja...@redhat.com        * config/i386/sse.md (mulv2di3): Macroize using

[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

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. Bernd

Re: New warning for expanded vector operations

2011-10-14 Thread Artem Shinkarov
On Thu, Oct 13, 2011 at 10:40 AM, Artem Shinkarov artyom.shinkar...@gmail.com wrote: On Thu, Oct 13, 2011 at 10:23 AM, Richard Guenther richard.guent...@gmail.com wrote: On Thu, Oct 13, 2011 at 10:59 AM, Mike Stump mikest...@comcast.net wrote: On Oct 12, 2011, at 2:37 PM, Artem Shinkarov

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 ja...@redhat.com 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

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: [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: New warning for expanded vector operations

2011-10-14 Thread Richard Guenther
On Fri, Oct 14, 2011 at 3:42 PM, Artem Shinkarov artyom.shinkar...@gmail.com wrote: On Thu, Oct 13, 2011 at 10:40 AM, Artem Shinkarov artyom.shinkar...@gmail.com wrote: On Thu, Oct 13, 2011 at 10:23 AM, Richard Guenther richard.guent...@gmail.com wrote: On Thu, Oct 13, 2011 at 10:59 AM, Mike

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

2011-10-14 Thread Tom Tromey
Tristan == Tristan Gingold ging...@adacore.com 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

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

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

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, Atom] Fix performance regression with -mtune=atom

2011-10-14 Thread Vladimir Yakovlev
Could anyone checkin that? Thanks, Vladimir 2011/10/14 Uros Bizjak ubiz...@gmail.com: 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

[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

[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 ja...@redhat.com * config/i386/sse.md (negmode2): Use VI_AVX2 iterator instead of VI_128. --- gcc/config/i386/sse.md.jj 2011-10-14 13:05:58.0 +0200 +++

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)

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

[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: [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 rearn...@arm.com 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

[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

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

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 think I prefer

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

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 ja...@redhat.com * config/i386/sse.md (negmode2): Use VI_AVX2 iterator instead of VI_128. Ok. r~

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: 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 bonz...@gnu.org wrote: On 10/13/2011 10:07 PM, H.J. Lu wrote: On Thu, Oct 13, 2011 at 11:15 AM, Richard Kenner ken...@vlsi1.ultra.nyu.edu  wrote: The answer to H.J.'s Why do we do it for MEM then? is simply because no one ever thought about

[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

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,

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: 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(bF::type) + == typeid(typesA,C,D,A,C,D,B,C,C,D,B,E)); + assert(typeid(dbF::type) == typeid(typesA,B,E)); + assert(typeid(dbint::type) == typeid(types)); + return 0; +} Let's make this a compile-time test

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 on my

[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

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_* and

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 vbyakov...@gmail.com wrote: Could anyone checkin that? Please provide a suitable patch which can be applied. H.J. Thanks, Vladimir 2011/10/14 Uros Bizjak ubiz...@gmail.com: Hello! This is a ping. Change affects Atom only and was

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 ABI

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: [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 The command-line-option.

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 bonz...@gnu.org 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

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

2011-10-14 Thread Richard Henderson
On 10/13/2011 11:16 PM, Jakub Jelinek wrote: 2011-10-14 Jakub Jelinek ja...@redhat.com * config/i386/sse.md (vec_interleave_highmode, vec_interleave_lowmode): Add AVX2 expanders for VI_256 modes. * config/i386/i386.c (expand_vec_perm_interleave3): New function.

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

[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 a...@gjlay.de: 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.

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

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

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 vbyakov...@gmail.com 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

[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 meiss...@linux.vnet.ibm.com * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo in my change on October 11th,

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

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 ja...@redhat.com Date: Thu Oct 13 21:57:21 2011 -0400 PR c++/50507 * method.c

[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] 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

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

[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 if it

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*

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 a...@gjlay.de 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: [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 functions. This

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

Re: [C++ Patch] PR 50732

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

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 ja...@redhat.com * 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

Re: [rs6000] Enable scalar shifts of vectors

2011-10-14 Thread Michael Meissner
shift_right_vect,.-.L.shift_right_vect .comm c,4096,32 .comm b,4096,32 .comm a,4096,32 .ident GCC: (GNU) 4.7.0 20111014 (experimental) .file foo.c .section.toc,aw .section.text .section.toc,aw .LC1

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

2011-10-14 Thread David Miller
From: Eric Botcazou ebotca...@adacore.com 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

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: 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
:) -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: [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

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

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

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

  1   2   >