Re: [C++,doc] vector conditional expression

2014-01-25 Thread Marc Glisse
On Sat, 25 Jan 2014, Gerald Pfeifer wrote: sorry for the delay. I "killed" my notebook on the first day of vaction in December by means of a few drops of water, and am still catching up from weeks without connectivity more or less. Good luck, catching up always seems to take forever... +In

Re: [C++,doc] vector conditional expression

2014-01-25 Thread Gerald Pfeifer
Hi Mark, On Wed, 22 Jan 2014, Marc Glisse wrote: > Gerald, are you ok with this version? Jason's approval is conditional > to your opinion ;-) sorry for the delay. I "killed" my notebook on the first day of vaction in December by means of a few drops of water, and am still catching up from week

[committed] TILEPro/TILE-Gx: fix atomic.c for big endian.

2014-01-25 Thread Walter Lee
This patch fixes atomic.c for big endian configurations. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 56c58dd..bcd6cb1 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,5 +1,11 @@ 2014-01-25 Walter Lee + * config/tilepro/atomic.c (BIT_OFFSET): Define. + (__atom

[committed] TILEPro/TILE-Gx: add __sync intrinsics to libgcc.

2014-01-25 Thread Walter Lee
This patch adds the legacy __sync intrinsics to libgcc, for backward compatability. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index bcd6cb1..2504076 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,5 +1,87 @@ 2014-01-25 Walter Lee + * config/tilepro/atomic.c (pre_atomi

[committed] TILEPro/TILE-Gx: fix include file issue in atomic.c.

2014-01-25 Thread Walter Lee
This patch fixes an include file issue in atomic.c. It should include tconfig.h instead of config.h and system.h. Also define bool explicitly. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 2504076..0ae676f 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,5 +1,11 @@ 2014-01-25

[committed] TILE-Gx: bundling fix for stack protector patterns.

2014-01-25 Thread Walter Lee
This patch fixes a bundling bug with code that uses stack protector. A barrier (which emits nothing) may be scheduled in the same bundle as a stack protector sequence -- when that happens the bundle markers would be emitted incorrectly. The fix is to just delete these barrier insns after bundles h

[committed] TILE-Gx: implement 16-byte alignment for __int128 types.

2014-01-25 Thread Walter Lee
This patch implements 16-byte alignment for __int128 types. In particular: - the stack is aligned to 16 bytes. - objects of type __int128 will have 16-byte alignment. - __int128 fields in structure have 16-byte alignment. - __int128 function arguments: if they are in registers they will

[committed] TILEPro/TILE-Gx: fix atomic_nand_and_fetch in libgcc.

2014-01-25 Thread Walter Lee
This patch fixes a bug in the atomic_nand_fetch routine in libgcc. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index cb6885e..56c58dd 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,10 @@ +2014-01-25 Walter Lee + + * config/tilepro/atomic.c (__atomic_do_and_fetch): Ad

[committed] TILE-Gx: fix atomic_fetch_sub pattern.

2014-01-25 Thread Walter Lee
This patch fixes a bug in the atomic_fetch_sub pattern. The negation is wrong and a register was getting clobbered. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5d7adb7..15e9194 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2014-01-25 Walter Lee + * config/tilegx

[committed] TILE-Gx/TILEPro: define __GCC_HAVE_SYNX_COMPARE_AND_SWAP_

2014-01-25 Thread Walter Lee
The patch defines __GCC_HAVE_SYNX_COMPARE_AND_SWAP_ for those that are provided in libgcc. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3a84318..5d7adb7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2014-01-25 Walter Lee + * config/tilegx/tilegx-c.c (tilegx_cpu_cp

[committed] TILE-Gx/TILEPro: prefetch scheduling fix.

2014-01-25 Thread Walter Lee
This patch marks the prefetch intrinsics as scheduling barriers. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b5487ae..39543a1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2014-01-25 Walter Lee + * config/tilegx/tilegx.c (tilegx_expand_builtin): Set + PREFE

[committed] TILEPro: fix ctzdi2, clzdi2, and ffsdi2 patterns.

2014-01-25 Thread Walter Lee
This patch fixes the predicates for the ctzdi2, clzdi2, and ffsdi2. reg_or_0_operand is a 32-bit predicate so it will never match a DI operand. It's sufficient to use register_operand. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9306621..b5487ae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog

[committed] TILE-Gx: fix pic code generation issue.

2014-01-25 Thread Walter Lee
This patch fixes a pic code generation issue on tilegx. We use crtl->uses_pic_offset_table to decide whether the pic registers are used in the function. This value is updated in tile-specific code generation routines. However, these routines may be called by the loop optimizer to get the cost of

[MIPS, committed] Fix LO liveness in MIPS16 divmod patterns

2014-01-25 Thread Richard Sandiford
This patch fixes a bug I introduced with: 2013-05-25 Richard Sandiford PR target/53916 * config/mips/constraints.md (kl): New constraint. * config/mips/mips.md (divmod4, udivmod4): Delete. (divmod4_internal): Rename to divmod4. Use "kl" as the constrain

Re: Handle XOR in canonicalize_condition

2014-01-25 Thread Richard Sandiford
Jeff Law writes: > On 01/24/14 01:24, Richard Sandiford wrote: >> Richard Sandiford writes: >>> The other problem is related to the way that MIPS16 tests for equality. >>> Conditional branches test register $24, and the only instructions that >>> set $24 are MOVE and CMP(I), which is actually an

Re: [Patch, microblaze]: Add TARGET_ASM_OUTPUT_MI_THUNK to support varargs thunk

2014-01-25 Thread Michael Eager
On 07/14/13 21:37, David Holsgrove wrote: Hi Michael, -Original Message- From: Michael Eager [mailto:ea...@eagerm.com] Sent: Saturday, 13 July 2013 9:33 am To: David Holsgrove Cc: gcc-patches@gcc.gnu.org; Edgar Iglesias; John Williams; Vinod Kathail; Vidhumouli Hunsigida; Nagaraju Mekal

[Ada] Fix slight discrepancy between fat and thin pointers

2014-01-25 Thread Eric Botcazou
Fat and thin pointers are the 2 representations used in GNAT for access-to- unconstrained-array types, i.e. pointers to arrays with bounds, and using the latter instead of the former results in slightly obfuscated code. Tested on x86_64-suse-linux, applied on the mainline. 2014-01-25 Eric Botc

[Ada] Fix error with pragma Linker_Section

2014-01-25 Thread Eric Botcazou
The compiler may refuse to apply pragma Linker_Section with the same section name to two different variables, if one is considered constant by the compiler but not declared as such. Fixed thusly. Tested on x86_64-suse-linux, applied on the mainline. 2014-01-25 Tristan Gingold * gc

[Ada] Pass in Out param with Default_Value aspect

2014-01-25 Thread Eric Botcazou
In most cases, out parameters are not passed in, but there have always been exceptions, notably access types. Ada 2012 adds a new exception for parameters of a type with a Default_Value. This patch ensures that such parameters are copied in. The following program, compiled with -gnata 1. pro

Re: [PING] Fix test case vect-nop-move.c

2014-01-25 Thread Jakub Jelinek
On Sat, Jan 25, 2014 at 09:27:21AM +0100, Bernd Edlinger wrote: > > No, check_vect () has to preceed all the vector statements in main, or > > often even better if main contains just check_vect () call and call to > > some other noinline routine that has the vector stuff in it. > > Otherwise, the t

RE: [PING] Fix test case vect-nop-move.c

2014-01-25 Thread Bernd Edlinger
Hi, On Thu, 23 Jan 2014 12:52:03, Jakub Jelinek wrote: > > On Thu, Jan 23, 2014 at 12:49:06PM +0100, Bernd Edlinger wrote: >> Hi, >> >> this might be almost obvious? > > No, check_vect () has to preceed all the vector statements in main, or > often even better if main contains just check_vect () c