Re: [PATCH] teach emit_store_flag to use clz/ctz

2012-05-06 Thread Maciej W. Rozycki
On Fri, 27 Apr 2012, Paolo Bonzini wrote: What about cost considerations? We only seem to have the general branches are expensive metric - but ctz/clz may be prohibitely expensive themselves, no? Yeah, that's a general problem with this kind of tricks. In general however clz/ctz is

[PATCH, Android] Stack protector enabling for Android target

2012-05-06 Thread Igor Zamyatin
Hi! The patch enables stack protector for Android. Android targets don't contain necessary information in features.h so we explicitly enable stack protector for Android. Bootstrapped and regtested on x86_64. Ok to commit? Thanks, Igor 2012-05-06 Igor Zamyatin igor.zamya...@intel.com

Re: [PATCH] Atom: Scheduler improvements for better imul placement

2012-05-06 Thread Igor Zamyatin
Ping. Could x86 maintainer(s) look at these changes? Thanks, Igor On Fri, Apr 20, 2012 at 4:04 PM, Igor Zamyatin izamya...@gmail.com wrote: On Tue, Apr 17, 2012 at 12:27 AM, Igor Zamyatin izamya...@gmail.com wrote: On Fri, Apr 13, 2012 at 4:20 PM, Andrey Belevantsev a...@ispras.ru wrote: On

Re: [PATCH] teach emit_store_flag to use clz/ctz

2012-05-06 Thread Andrew Pinski
On Sat, May 5, 2012 at 11:52 PM, Maciej W. Rozycki ma...@linux-mips.org wrote:  For the record: MIPS processors that implement CLZ/CLO (for some reason CTZ/CTO haven't been added to the architecture, but these operations can be cheaply transformed into CLZ/CLO) generally have a dedicated unit

[PATCH] Fix a missing truncate due with combine

2012-05-06 Thread Andrew Pinski
Take the following testcase: typedef unsigned long long uint64_t; void f(uint64_t *a, uint64_t aa) __attribute__((noinline)); void f(uint64_t *a, uint64_t aa) { uint64_t new_value = aa; uint64_t old_value = *a; int bit_size = 32; uint64_t mask = (uint64_t)(unsigned)(-1); uint64_t tmp

[Patch] Bump minimum required MPFR version

2012-05-06 Thread Janne Blomqvist
Hi, in http://gcc.gnu.org/install/prerequisites.html we say that GCC requires at least MPFR 2.4.2, but in the toplevel configure.ac we only require 2.3.1, printing a warning that the result is likely to be buggy if the version is lower than 2.4.2. The attached patch bumps the minimum version to

Re: [PATCH] Fix a missing truncate due with combine

2012-05-06 Thread Eric Botcazou
Which is wrong when TRULY_NOOP_TRUNCATION_MODES_P is false which is what happens on MIPS. This patches fixes the problem by change the place where the call to gen_lowpart should have been gen_lowpart_or_truncate in simplify_comparison. There is a similar transformation in the same function:

Re: [patch] Fix cygwin ada install [was Re: Yet another issue with gcc current trunk with ada on cygwin]

2012-05-06 Thread Eric Botcazou
OK, revision 184558 now reverted. Now on the 4.7 branch as well. -- Eric Botcazou

Re: [PATCH] Fix overzealous DSE on sparc

2012-05-06 Thread Eric Botcazou
Ok, so I plan to push this sparc fix into mainline and the 4.7 branch after my testing is done. Eric, any objections? For the record, none. -- Eric Botcazou

[Ada] disable caret printing by default for Ada

2012-05-06 Thread Eric Botcazou
Like for front-end warnings. Tested on i586-suse-linux, applied on the mainline. 2012-05-06 Eric Botcazou ebotca...@adacore.com * gcc-interface/misc.c (gnat_post_options): Disable caret by default. -- Eric Botcazou Index: gcc-interface/misc.c

[Ada] Missed vectorization opportunity for assignment loop

2012-05-06 Thread Eric Botcazou
In Ada, we have issues with vectorization when full checks are enabled, most notably -gnato. This patch makes it possible to vectorize more loops at -O3. Tested on i586-suse-linux, applied on the mainline. 2012-05-06 Eric Botcazou ebotca...@adacore.com * gcc-interface/trans.c

[Ada] Fix internal error on renaming with private discriminated type

2012-05-06 Thread Eric Botcazou
We failed to use the padded type for the renaming as in the non-private case. Tested on i586-suse-linux, applied on the mainline. 2012-05-06 Eric Botcazou ebotca...@adacore.com * gcc-interface/decl.c (gnat_to_gnu_entity) object: In the renaming case, use the padded type if

[Ada] Fix 'noreturn' for reraise of exception

2012-05-06 Thread Eric Botcazou
This fixes an hole in the declaration of __gnat_reraise_zcx, so that the attached program now compiles without warnings. Tested on i586-suse-linux, applied on the mainline. 2012-05-06 Tristan Gingold ging...@adacore.com * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.

Re: [Patch] Bump minimum required MPFR version

2012-05-06 Thread Richard Guenther
On Sun, May 6, 2012 at 10:33 AM, Janne Blomqvist blomqvist.ja...@gmail.com wrote: Hi, in http://gcc.gnu.org/install/prerequisites.html we say that GCC requires at least MPFR 2.4.2, but in the toplevel configure.ac we only require 2.3.1, printing a warning that the result is likely to be

Re: [RFC] PR 53063 encode group options in .opt files

2012-05-06 Thread Joseph S. Myers
On Sat, 5 May 2012, Manuel L?pez-Ib??ez wrote: Thanks for the hints. This is what I am currently bootstrapping+regtesting. It builds and works on a few manual tests. OK if it passes? 2012-05-05 Manuel L?pez-Ib??ez m...@gcc.gnu.org PR c/53063 gcc/ * doc/options.texi

[C++ Patch] PR 53152

2012-05-06 Thread Paolo Carlini
Hi, this is about the caret not pointing to the operator in the error messages produced by op_error. To fix the problem I'm simply passing down from the parser the proper location, via build_x_* and build_op_new and this appears to work fine. In this area - accurate locations - small issues

Re: [RFC] PR 53063 encode group options in .opt files

2012-05-06 Thread Manuel López-Ibáñez
On 6 May 2012 13:56, Joseph S. Myers jos...@codesourcery.com wrote: On Sat, 5 May 2012, Manuel López-Ibáñez wrote: Thanks for the hints. This is what I am currently bootstrapping+regtesting. It builds and works on a few manual tests. OK if it passes? 2012-05-05  Manuel López-Ibáñez  

[Patch, Fortran] PR53255 - fix type-bound operator handling

2012-05-06 Thread Tobias Burnus
Dear all, if one uses TYPE(extended), the overridden specific procedure (trace_ext to the TBP trace) associated with an operator (.tr.) is not called - but the TBP of the base type. It correctly works for polymorphic types. Build and regtested on x86-64-linux. OK for the trunk? As it is a

Re: [Patch] Bump minimum required MPFR version

2012-05-06 Thread Janne Blomqvist
On Sun, May 6, 2012 at 2:39 PM, Richard Guenther richard.guent...@gmail.com wrote: On Sun, May 6, 2012 at 10:33 AM, Janne Blomqvist blomqvist.ja...@gmail.com wrote: Hi, in http://gcc.gnu.org/install/prerequisites.html we say that GCC requires at least MPFR 2.4.2, but in the toplevel

PR 53249: Multiple address modes for same address space

2012-05-06 Thread Richard Sandiford
x32 uses a mixture of MEM address modes for the same address space. Some MEMs have SImode addresses, some have DImode. This means that the currently common idiom: targetm.addr_space.address_mode (MEM_ADDR_SPACE (mem)) isn't trustworthy. We have to use the mode of the address if it has one,

Re: [RFC] PR 53063 encode group options in .opt files

2012-05-06 Thread Joseph S. Myers
On Sun, 6 May 2012, Manuel López-Ibáñez wrote: Wuninitialized is enabled by both Wall and Wextra. Wextra enables it in the common part, however, Wall does it in the FE specific part (c-family, fortran, ada). When enabled via Wall, opts_set does not get updated. What is the best way to enable

Re: [C++ Patch] fix semi-random template specialization ICE

2012-05-06 Thread H.J. Lu
On Fri, May 4, 2012 at 4:48 AM, Martin Jambor mjam...@suse.cz wrote: Hi, On Thu, May 03, 2012 at 03:17:23PM -0300, Alexandre Oliva wrote: I've recently started getting “libstdc++-v3/include/functional:2057:63: internal compiler error: tree check: expected tree_vec, have error_mark in

Re: PR 53249: Multiple address modes for same address space

2012-05-06 Thread H.J. Lu
On Sun, May 6, 2012 at 11:41 AM, Richard Sandiford rdsandif...@googlemail.com wrote: x32 uses a mixture of MEM address modes for the same address space. Some MEMs have SImode addresses, some have DImode.  This means that the currently common idiom:    targetm.addr_space.address_mode

Re: PR 53249: Multiple address modes for same address space

2012-05-06 Thread H.J. Lu
On Sun, May 6, 2012 at 11:41 AM, Richard Sandiford rdsandif...@googlemail.com wrote: x32 uses a mixture of MEM address modes for the same address space. Some MEMs have SImode addresses, some have DImode.  This means that the currently common idiom:    targetm.addr_space.address_mode

[committed] Fix lower-subreg cost calculation

2012-05-06 Thread Richard Sandiford
Georg-Johann Lay a...@gjlay.de writes: TARGET_RTX_COSTS gets called with x = (const_int 1) and outer = SET for example. How do I get SET_DEST from that information? I don't now if lower-subreg.s ever emits such cost requests, but several passes definitely do. Gah! I really should have

Re: PR 53249: Multiple address modes for same address space

2012-05-06 Thread Richard Sandiford
H.J. Lu hjl.to...@gmail.com writes: Index: gcc/sel-sched-dump.c === --- gcc/sel-sched-dump.c        2012-05-06 16:17:20.0 +0100 +++ gcc/sel-sched-dump.c        2012-05-06 16:17:20.316206160 +0100 @@ -957,7 +957,7 @@

[committed] Add SET rtx costs for MIPS

2012-05-06 Thread Richard Sandiford
This patch adds SET rtx costs to MIPS. Since FPR modes and GPR modes aren't tieable, the effect is to restore the original lower-subreg behaviour of splitting all multiword modes. Tested by setting LOG_COSTS to 1 and checking that the costs looked sensible. Also tested by compiling cc1 .ii files

[Fortran, patch] PR 52158 - Regression on character function with gfortran 4.7

2012-05-06 Thread Alessandro Fanfarillo
Hello, my name is Alessandro, I'm a newbie of GCC and helped by Tobias Burnus and Paul Thomas I'll try to add support for final subroutines. The patch is bootstrapped and tested on x86_64-unknown-linux-gnu - gcc version 4.8.0 20120506 (experimental) Best regards

Re: [committed] Add SET rtx costs for MIPS / [SH] PR 53250

2012-05-06 Thread Oleg Endo
On Sun, 2012-05-06 at 20:13 +0100, Richard Sandiford wrote: This patch adds SET rtx costs to MIPS. Since FPR modes and GPR modes aren't tieable, the effect is to restore the original lower-subreg behaviour of splitting all multiword modes. Tested by setting LOG_COSTS to 1 and checking that

Re: [C++ Patch] for c++/51214

2012-05-06 Thread Fabien Chêne
2012/2/29 Jason Merrill ja...@redhat.com: On 02/28/2012 05:06 PM, Fabien Chêne wrote: I agree, this is not efficient but I didn't find a better place. perhaps in cp_parser_enumerator_list,  that would require adding an additional parameter to keep track of all the enum DECLs. Is it what you

[Patch, Fortran, committed] PR41587 - fix diagnostic for pointer/alloc CLASS with non-derferred array spec

2012-05-06 Thread Tobias Burnus
Rather obvious after finding it … I first used t != FAILURE; however, that gives additional error messages of the form: class(t0), pointer :: foo(3) ! { dg-error must have a deferred shape } 1 Error: Component 'foo' with CLASS at (1) must be allocatable or pointer Thus, I decided to always

[PATCH, i386]: Fix PR 53227, FAIL: gcc.target/i386/movbe-2.c scan-assembler-times movbe[ \t] 4

2012-05-06 Thread Uros Bizjak
Hello! Attached patch splits bswap patterns on 32bit targets by hand, as is the case with all other DImode patterns. The patch takes into account memory operands, where it swaps high/low word load according to bswap/movbe insn availability, and generates xcgh %rX, %rY for reg-reg swaps, avoiding

[patch][m68k] Remove sched_branch_type, reduce genattrtab run time to reasonable numbers

2012-05-06 Thread Steven Bosscher
Hello, Since around trunk r135033, m68k has some scheduler attributes that are computed by C functions in m68k.c. Together with Richard Sandiford's improvements to genattrtab optimizations, the run time for genattrtab for m68k is 9 minutes on a fast machine (gcc110). With the attached patch,

Re: [committed] Add SET rtx costs for MIPS / [SH] PR 53250

2012-05-06 Thread Kaz Kojima
Oleg Endo oleg.e...@t-online.de wrote: The attached patch does pretty much the same for the SH target. Tested also by setting LOG_COSTS to 1 and checking that multi-word modes are marked for splitting (except for DImode zero_extend lowering). Also verified that newlib compiles again. OK?

Re: [PATCH] x86: emit tzcnt unconditionally

2012-05-06 Thread Uros Bizjak
On Mon, Apr 30, 2012 at 10:09 AM, Uros Bizjak ubiz...@gmail.com wrote: On Fri, Apr 27, 2012 at 3:30 PM, Paolo Bonzini bonz...@gnu.org wrote: tzcnt is encoded as rep;bsf and unlike lzcnt is a drop-in replacement if we don't care about the flags (it has the same semantics for non-zero values).

Fix the java-home OS include directory.

2012-05-06 Thread Steven Drake
If the libjava configure option --enable-java-home is used the os directory under include will always be 'linux' as it is hardcoded so. I.E. it is not configurable using '--with-os-directory' or auto-detected as suggested by the configure help text. -- Steven 2012-05-07 Steven Drake

Re: [PATCH] x86: emit tzcnt unconditionally

2012-05-06 Thread Jakub Jelinek
On Mon, May 07, 2012 at 01:04:33AM +0200, Uros Bizjak wrote: Index: i386.md === --- i386.md (revision 187217) +++ i386.md (working copy) @@ -12112,9 +12112,22 @@ (set (match_operand:SWI48 0 register_operand =r)