[ARM][PATCH] Vectorizer generates unaligned access when -mno-unaligned-access is enabled

2014-02-02 Thread Kugan
With the 2013-09-21 version of trunk, attached test case results in bus error when simultaneously enabling both -mno-unaligned-access and -ftree-vectorize. The error is caused by unaligned vector load via two vldr instructions: vldr d16, [r3, #-16] vldr d17, [r3, #-8] Cause for this error is, e

Re: [MIPS] Use soft-fp for libgcc floating-point routines

2014-02-02 Thread Joseph S. Myers
On Sun, 2 Feb 2014, Joseph S. Myers wrote: > On Sun, 2 Feb 2014, Richard Sandiford wrote: > > > This patch (finally!) moves MIPS over to the soft-fp routines. The main > > advantage is that we now handle 128-bit long-double exceptions properly > > on hard-float targets. > > Thanks for doing thi

Re: PR ipa/59831 (ipa-cp devirt issues)

2014-02-02 Thread Jan Hubicka
Hi, this patch fixes the bug in extr_type_from_vtbl_ptr_store that made it to consider store of construction virtual table or virtual table of virtual base as store of type's virtual table. In the testcase we have after early inlining: virtual C::~C() (struct C * const this) { unsigned int i;

[patch, committed] Nios II GOT pointer initialization

2014-02-02 Thread Sandra Loosemore
The initial commit of the Nios II GCC backend has an ABI conformance bug in that it initializes the GOT pointer from _GLOBAL_OFFSET_TABLE_ rather than _gp_got, as specified in the ABI. As a consequence of this, GCC-generated code can only address 32K of GOT rather than 64K as documented in the

Re: [Patch, Fortran, 4.7 Regression] PR 59941: ICE with polymorphic types

2014-02-02 Thread Mikael Morin
Le 02/02/2014 21:31, Janus Weil a écrit : > Hi all, > > the attached patch fixes an OOP-related 4.7-only regression. Pretty > much straightforward, for details see PR. > > Regtested on x86_64-unknown-linux-gnu. Ok for 4.7? > Yes, thanks. Mikael

[Patch, Fortran, 4.7 Regression] PR 59941: ICE with polymorphic types

2014-02-02 Thread Janus Weil
Hi all, the attached patch fixes an OOP-related 4.7-only regression. Pretty much straightforward, for details see PR. Regtested on x86_64-unknown-linux-gnu. Ok for 4.7? Cheers, Janus 2014-02-02 Janus Weil PR fortran/59941 * expr.c (replace_comp): Check for isym to avoid ICE. 2014

[4.7 PATCH]: Backport 'gcc_update explicit use of "svn"'

2014-02-02 Thread Uros Bizjak
Hello! Attached patch backports 'gcc_update explicit use of "svn"' patch [1] to 4.7 branch. Without this patch, contrib/gcc_update command produces corrupted gcc/REVISION on my F20 system. 2014-02-02 Uros Bizjak Backport from mainline 2012-05-09 David Edelsohn * g

Re: PATCH: PR middle-end/60013: [4.9 Regression] Build of 176.gcc from CPU2000 loops in cc1 starting with r207231

2014-02-02 Thread Jan Hubicka
> > basic block 13 only contains > > ABNORMAL_DISPATCHER (0); > > which is an internal function and will be expanded to empty block: > > ;; Generating RTL for gimple basic block 13 > > ;; ABNORMAL_DISPATCHER (0); > > (nil) > > compute_bb_predicates goes into an infinite loop due to OK, h

Re: [C,C++] integer constants in attribute arguments

2014-02-02 Thread Joseph S. Myers
On Sun, 2 Feb 2014, Marc Glisse wrote: > An alternative could be to have a helper function that does nothing in C and > calls default_conversion in C++. Or make the C version of default_conversion > return its argument unchanged instead of asserting when it sees an unexpected > tree. Well, in pri

Re: [MIPS] Use soft-fp for libgcc floating-point routines

2014-02-02 Thread Joseph S. Myers
On Sun, 2 Feb 2014, Richard Sandiford wrote: > This patch (finally!) moves MIPS over to the soft-fp routines. The main > advantage is that we now handle 128-bit long-double exceptions properly > on hard-float targets. Thanks for doing this. At some point I intend to add soft-fp support for aft

[PATCH][AARCH64]Resolves testsuite/gcc.target/aarch64/aapcs64/ret-func-1.c regression

2014-02-02 Thread Renlin Li
Hi all, This is a simple patch which resolves testsuite/gcc.target/aarch64/aapcs64/ret-func-1.c regression. Basically, no special operations are needed for vector type i32in128 or f32in64 in big-endian mode any more due the aarch64 back-end change. Okay for trunk? Kind regards, Renlin Li d

Re: [C,C++] integer constants in attribute arguments

2014-02-02 Thread Marc Glisse
On Sun, 2 Feb 2014, Joseph S. Myers wrote: On Sat, 1 Feb 2014, Marc Glisse wrote: Ping http://gcc.gnu.org/ml/gcc-patches/2014-01/msg01168.html As I understand it, this is only relevant to C++ (in C you should have an INTEGER_CST here, and if you don't then default_conversion won't give you o

Re: [C,C++] integer constants in attribute arguments

2014-02-02 Thread Joseph S. Myers
On Sat, 1 Feb 2014, Marc Glisse wrote: > Ping > http://gcc.gnu.org/ml/gcc-patches/2014-01/msg01168.html As I understand it, this is only relevant to C++ (in C you should have an INTEGER_CST here, and if you don't then default_conversion won't give you one), so would best be reviewed by Jason no

PATCH: PR middle-end/60013: [4.9 Regression] Build of 176.gcc from CPU2000 loops in cc1 starting with r207231

2014-02-02 Thread H.J. Lu
Hi, Before r207231, we generate: ;; basic block 12, loop depth 0 ;; Invalid sum of incoming frequencies 8210, should be 4809 ;;pred: 4 ;;13 ;;5 ;;6 ;;7 ;;10 ;;11 _33 = _setjmp (&float_e

Re: [PATCH, i386]: Fix PR 60017 Struct not returned correctly

2014-02-02 Thread Uros Bizjak
On Sun, Feb 2, 2014 at 5:35 PM, Jakub Jelinek wrote: > On Sun, Feb 02, 2014 at 04:31:35PM +0100, Uros Bizjak wrote: >> There is off-by-one error in classify_argument, when processing >> integer atomic types. When bit_offset is 64, two X86_64_INTEGER CLASS >> registers should be used. >> >> Attache

Re: [PATCH, i386]: Fix PR 60017 Struct not returned correctly

2014-02-02 Thread Jakub Jelinek
On Sun, Feb 02, 2014 at 04:31:35PM +0100, Uros Bizjak wrote: > There is off-by-one error in classify_argument, when processing > integer atomic types. When bit_offset is 64, two X86_64_INTEGER CLASS > registers should be used. > > Attached patch fixes this off-by-one error, so we won't use size =

Re: PR ipa/59831 (ipa-cp devirt issues)

2014-02-02 Thread Jan Hubicka
Hi, since we hit can of worms here, I decided to decompose the changes into minimal patches. This is first one fixing small bug introduced last July in Martin's change to add a flags to passthrough about the type preservation. This does not affect gcc-4.8 Bootstrapped/regtested x86_64-linux, w

[MIPS] Use soft-fp for libgcc floating-point routines

2014-02-02 Thread Richard Sandiford
This patch (finally!) moves MIPS over to the soft-fp routines. The main advantage is that we now handle 128-bit long-double exceptions properly on hard-float targets. This also removes the last use of TPBIT in libgcc. It might be worth removing support for that at some point -- including the ass

[MIPS] Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV

2014-02-02 Thread Richard Sandiford
This patch implements TARGET_ATOMIC_ASSIGN_EXPAND_FENV for MIPS, along the lines of the SSE handling. The #defines aren't very elegant. I might try to do something better for 4.10, such as add a .def file. Tested on mips64-linux-gnu and mipsisa64-sde-elf. It fixes the c11-atomic-exec-5.c failur

[MIPS] Add __builtin_mips_{get,set}_fcsr

2014-02-02 Thread Richard Sandiford
This patch adds built-in functions for getting and setting the value of the FPU's FCSR. Unlike any of the existing built-in functions, these two can be used in both MIPS16 and non-MIPS16 code. The functions are needed for the two patches that I'm about to post, which fix c11-atomic-exec-5.c for m

[MIPS] Generalise __mips16_rdhwr handling

2014-02-02 Thread Richard Sandiford
This patch generalises the code used to handle __mips16_rdhwr stubs so that it can be reused in the next patch. I also threw in a couple of #undefs for macros in surrounding code. Tested on mips64-linux-gnu and mipsisa64-sde-elf. Applied. Thanks, Richard gcc/ * config/mips/mips.c (mip

[PATCH, i386]: Fix PR 60017 Struct not returned correctly

2014-02-02 Thread Uros Bizjak
Hello! There is off-by-one error in classify_argument, when processing integer atomic types. When bit_offset is 64, two X86_64_INTEGER CLASS registers should be used. Attached patch fixes this off-by-one error, so we won't use size = 0 when bit_offset = 64. 2014-02-02 Uros Bizjak PR targ