Re: [PATCH][AARCH64]Support full addressing modes for ldr/str in vectorization scenarios

2014-06-05 Thread Bin.Cheng
On Wed, Jun 4, 2014 at 7:18 PM, Charles Baylis wrote: > On 4 June 2014 10:06, Charles Baylis wrote: >> On 4 June 2014 03:11, Bin.Cheng wrote: >> >>> Yes, If there is a PR, I can evaluate how this can help and ask >>> release maintainer for approval. >> >> I'll reduce the test case and create one

Re: [PATCH] Support asan-instrumentation-with-call-threshold in GCC (second try)

2014-06-05 Thread Jakub Jelinek
On Fri, Jun 06, 2014 at 09:08:17AM +0400, Yury Gribov wrote: > Build_check_stmt is now unified for const/variable lengths > but I'd still prefer to treat the use_calls case specially > because calling single __asan_loadN is more space-efficient > than emitting two separate calls with a length check

[GOMP4, COMMITTED] OpenACC update directive.

2014-06-05 Thread Thomas Schwinge
From: tschwinge gcc/c-family/ * c-pragma.c (oacc_pragmas): Add "update". * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_UPDATE. (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_HOST and PRAGMA_OMP_CLAUSE_SELF. gcc/c/ * c-parser.c (c_parser_

Re: [PATCH 4/5] add gcc/gdb interface files

2014-06-05 Thread Jakub Jelinek
On Thu, Jun 05, 2014 at 07:54:30PM -0600, Tom Tromey wrote: > > "Jakub" == Jakub Jelinek writes: > > Jakub> Another possibility would be to give the macros twice as many arguments > Jakub> as there are parameters and just through the odd arguments away when > Jakub> expanding to the template

[PATCH] Clean bswap messages and tests

2014-06-05 Thread Thomas Preud'homme
This patch include 2 cleanup that were requested in PR61320: * Use dg-additional-options to specify the extra option s390 target needs * Use the correct vocabulary of target endianness instead of host endianness in comments, pass dump and the past ChangeLog entry. Here are the ChangeLog: *** gc

Re: [PATCH] Support asan-instrumentation-with-call-threshold in GCC (second try)

2014-06-05 Thread Yury Gribov
Jakub, Here is an updated patch. I have not addressed some of the points: > Also note (but, already preexisting issue) is that the > __asan_report* and __asan_{load,store}* calls are declared in > sanitizer.def as having 1st argument PTR type, while in the library > it is uptr (aka PTRMODE). So

Re: RFA: Small tweak to ira-lives.c:single_reg_class

2014-06-05 Thread Vladimir Makarov
On 2014-06-05, 4:12 PM, Richard Sandiford wrote: It looks like there's a missing break after the 'G' and 'H' handling. Tested on x86_64-linux-gnu. I also did an assembly comparison for a range of targets and Alpha and MIPS seemed to be the only ones affected. OK to install? Sorry for the lon

Re: [PATCH 4/5] add gcc/gdb interface files

2014-06-05 Thread Tom Tromey
> "Jakub" == Jakub Jelinek writes: Jakub> Another possibility would be to give the macros twice as many arguments Jakub> as there are parameters and just through the odd arguments away when Jakub> expanding to the template parameters. That would mean you write Jakub> GCC_METHOD7 (gcc_decl, b

Re: [patch, mips, tree] align microMIPS functions to 16 bits with -Os

2014-06-05 Thread Sandra Loosemore
On 06/05/2014 03:50 PM, Richard Sandiford wrote: Sandra Loosemore writes: On 06/05/2014 01:39 AM, Richard Biener wrote: [snip] Ok, we definitely need to preserve that (documented) behavior. I suppose it also sets DECL_USER_ALIGN. -falign-functions is probably another setter of DECL_ALIGN h

Re: [RS6000] PR61300 K&R incoming args

2014-06-05 Thread Alan Modra
On Thu, Jun 05, 2014 at 02:52:31PM -0600, Jeff Law wrote: > >+@defmac INCOMING_REG_PARM_STACK_SPACE (@var{fndecl}) > >+Like @code{REG_PARM_STACK_SPACE}, but for incoming register arguments. > >+Define this macro if space guaranteed when compiling a function body > >+is different to space required w

Re: [Patch ARM/testsuite 00/22] Neon intrinsics executable tests

2014-06-05 Thread Joseph S. Myers
Have these been tested for both big and little endian (especially for tests where memory layout matters - load / store / lane number tests - remembering that GNU C vector initializers always use array ordering, which is not the same as the architecture-defined lane numbering for big endian)? -

[Patch ARM/testsuite 22/22] Add vuzp and vzip tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vuzp.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vuzp.c new file mode 100644 index 000..53f875e --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vuzp.c @@ -0,0 +1,245 @@ +#include +#include "arm-neon-ref.h" +#incl

[Patch ARM/testsuite 20/22] Add vmul tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vmul.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vmul.c new file mode 100644 index 000..7527861 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vmul.c @@ -0,0 +1,156 @@ +#include +#include "arm-neon-ref.h" +#incl

[Patch ARM/testsuite 21/22] Add vshl tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vshl.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vshl.c new file mode 100644 index 000..e64d6e3 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vshl.c @@ -0,0 +1,230 @@ +#include +#include "arm-neon-ref.h" +#incl

[Patch ARM/testsuite 19/22] Add vld2_lane, vld3_lane and vld4_lane tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vldX_lane.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vldX_lane.c new file mode 100644 index 000..8887c3e --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vldX_lane.c @@ -0,0 +1,679 @@ +#include +#include "arm-neo

[Patch ARM/testsuite 17/22] Add vld1_dup tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vld1_dup.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vld1_dup.c new file mode 100644 index 000..6aa16cf --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vld1_dup.c @@ -0,0 +1,189 @@ +#include +#include "arm-neon-r

[Patch ARM/testsuite 18/22] Add vld2/vld3/vld4 tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vldX.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vldX.c new file mode 100644 index 000..f0156c1 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vldX.c @@ -0,0 +1,812 @@ +#include +#include "arm-neon-ref.h" +#incl

[Patch ARM/testsuite 16/22] Add vdup and vmov tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vdup-vmov.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vdup-vmov.c new file mode 100644 index 000..b5132f4 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vdup-vmov.c @@ -0,0 +1,253 @@ +#include +#include "arm-neo

[Patch ARM/testsuite 14/22] Add vbsl tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vbsl.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vbsl.c new file mode 100644 index 000..bb17f0a --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vbsl.c @@ -0,0 +1,124 @@ +#include +#include "arm-neon-ref.h" +#incl

[Patch ARM/testsuite 15/22] Add vclz tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vclz.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vclz.c new file mode 100644 index 000..ad28d2d --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vclz.c @@ -0,0 +1,194 @@ +#include +#include "arm-neon-ref.h" +#incl

[Patch ARM/testsuite 07/22] Add binary saturating operators: vqadd, vqsub.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/binary_sat_op.inc b/gcc/testsuite/gcc.target/arm/neon-intrinsics/binary_sat_op.inc new file mode 100644 index 000..35d7701 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/binary_sat_op.inc @@ -0,0 +1,91 @@ +/* Template

[Patch ARM/testsuite 13/22] Add vaddw tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vaddw.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vaddw.c new file mode 100644 index 000..5804cd7 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vaddw.c @@ -0,0 +1,122 @@ +#include +#include "arm-neon-ref.h" +#i

[Patch ARM/testsuite 11/22] Add vaddhn tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vaddhn.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vaddhn.c new file mode 100644 index 000..74b4b4d --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vaddhn.c @@ -0,0 +1,109 @@ +#include +#include "arm-neon-ref.h"

[Patch ARM/testsuite 12/22] Add vaddl tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vaddl.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vaddl.c new file mode 100644 index 000..861abec --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vaddl.c @@ -0,0 +1,122 @@ +#include +#include "arm-neon-ref.h" +#i

[Patch ARM/testsuite 10/22] Add vabdl tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vabdl.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vabdl.c new file mode 100644 index 000..28018ab --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vabdl.c @@ -0,0 +1,109 @@ +#include +#include "arm-neon-ref.h" +#i

[Patch ARM/testsuite 09/22] Add vabd tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vabd.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vabd.c new file mode 100644 index 000..e95404f --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vabd.c @@ -0,0 +1,153 @@ +#include +#include "arm-neon-ref.h" +#incl

[Patch ARM/testsuite 08/22] Add vabal tests.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/vabal.c b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vabal.c new file mode 100644 index 000..cd31062 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/vabal.c @@ -0,0 +1,161 @@ +#include +#include "arm-neon-ref.h" +#i

[Patch ARM/testsuite 04/22] Add comparison operators: vceq, vcge, vcgt, vcle and vclt.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/cmp_op.inc b/gcc/testsuite/gcc.target/arm/neon-intrinsics/cmp_op.inc new file mode 100644 index 000..a09c5f5 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/cmp_op.inc @@ -0,0 +1,224 @@ +#include +#include "arm-neon-r

[Patch ARM/testsuite 06/22] Add unary saturating operators: vqabs and vqneg.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/unary_sat_op.inc b/gcc/testsuite/gcc.target/arm/neon-intrinsics/unary_sat_op.inc new file mode 100644 index 000..3f6d984 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/unary_sat_op.inc @@ -0,0 +1,80 @@ +/* Template fi

[Patch ARM/testsuite 02/22] Add unary operators: vabs and vneg.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/unary_op.inc b/gcc/testsuite/gcc.target/arm/neon-intrinsics/unary_op.inc new file mode 100644 index 000..33f9b5f --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/unary_op.inc @@ -0,0 +1,72 @@ +/* Template file for unary

[Patch ARM/testsuite 03/22] Add binary operators: vadd, vand, vbic, veor, vorn, vorr, vsub.

2014-06-05 Thread Christophe Lyon
vadd tests also show how to add directives to scan the assembly output. diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/binary_op.inc b/gcc/testsuite/gcc.target/arm/neon-intrinsics/binary_op.inc new file mode 100644 index 000..3483e0e --- /dev/null +++ b/gcc/testsuite/gcc.target/arm

[Patch ARM/testsuite 05/22] Add comparison operators with floating-point operands: vcage, vcagt, vcale and cvalt.

2014-06-05 Thread Christophe Lyon
diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/cmp_fp_op.inc b/gcc/testsuite/gcc.target/arm/neon-intrinsics/cmp_fp_op.inc new file mode 100644 index 000..33451d7 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/neon-intrinsics/cmp_fp_op.inc @@ -0,0 +1,75 @@ +/* Template file for th

[Patch ARM/testsuite 00/22] Neon intrinsics executable tests

2014-06-05 Thread Christophe Lyon
This is patch series is a more complete version of the patch I sent some time ago: https://gcc.gnu.org/ml/gcc-patches/2013-10/msg00624.html I have created a series of patches to help review. The 1st one adds some documentation, the common .h files defining helpers used in the actual tests, and tw

[Patch ARM/testsuite 01/22] Neon intrinsics execution tests initial framework.

2014-06-05 Thread Christophe Lyon
* documentation (README) * dejanu driver (neon-intrinsics.exp) * support macros (arm-neon-ref.h, compute-ref-data.h) * Tests for 2 intrinsics: vaba, vld1 diff --git a/gcc/testsuite/gcc.target/arm/neon-intrinsics/README b/gcc/testsuite/gcc.target/arm/neon-intrinsics/README new file mode 100644 ind

Re: [patch, mips, tree] align microMIPS functions to 16 bits with -Os

2014-06-05 Thread Richard Sandiford
Sandra Loosemore writes: > On 06/05/2014 01:39 AM, Richard Biener wrote: >> >> [snip] >> >> Ok, we definitely need to preserve that (documented) behavior. I suppose >> it also sets DECL_USER_ALIGN. -falign-functions is probably another >> setter of DECL_ALIGN here. >> >> If we add a target hook

[PATCH 8/8] Add a common .md file and define standard constraints there

2014-06-05 Thread Richard Sandiford
This final patch uses a common .md file to define all standard constraints except 'g'. It then gets rid of explicit case statements for the standard constraints, except in two cases: (1) recog.c:asm_operand_ok still needs to handle 'o' specially for targets like ia64 that don't have offsettab

[PATCH 7/8] Remove 'I'-'P' and 'G'/'H' cases

2014-06-05 Thread Richard Sandiford
After the previous patch, we can remove the separate 'I'-'P' and 'G'/'H' cases without increasing compile time. I didn't bother adding the kind of fast-path for 'G'/'H' that I did for 'I'-'P' since it should be much rarer. This removes the last use of CONST_DOUBLE_OK_FOR_CONSTRAINT_P, so I delete

[PATCH 6/8] Treat 'I'-'P' as separate subtype

2014-06-05 Thread Richard Sandiford
This patch extends patch 4 to have a CT_CONST_INT type for CONST_INT constraints ('I'-'P'), which are already handled by things like constraint_satisfied_p. On its own this has little effect, since most places handle 'I'-'P' as a separate case statement anyway. It's really just making way for the

Re: [PATCH 5/5] add libcc1

2014-06-05 Thread Mike Stump
On Jun 5, 2014, at 12:34 PM, Tom Tromey wrote: > If you could enumerate the things you think are necessary to check, I > can arrange for the plugin to not be built if those are not available. So, I think it a single check on socketpair is likely good enough. If it is present, likely all the res

[PATCH 5/8] Remove unused operand_alternative fields

2014-06-05 Thread Richard Sandiford
This patch just gets rid of some write-only operand_alternative fields, which makes things easier for the later patches to preprocess_constraints. Richard gcc/ * recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok, decmem_ok and incmem_ok. Reformat other bitfields for c

[PATCH 4/8] Remove old macros and make lookup_constraint explicit

2014-06-05 Thread Richard Sandiford
Now that all extra constraints are defined in .md files, there's no real need for the old REG_CLASS_FROM_CONSTRAINT-style macros. The macros also seem dangerous performance-wise, since each one contains an embedded call to lookup_constraint. This means that code like: if (REG

[PATCH 3/8] Speed up constraint_satisfied_p

2014-06-05 Thread Richard Sandiford
After the earlier changes, the only important function that switches on constraint_num is constraint_satisfied_p (now constraint_satisfied_p_1). Since constraint_num is a dense enum, it seems faster to use a jump table instead. In many cases this allows the handling function to be a simple sibcall

[PATCH 2/8] Speed up lookup_constraint

2014-06-05 Thread Richard Sandiford
lookup_constraint is also an out-of-line switch-based function. Since most constraints are still single-letter ones, it should be more efficient to have a lookup array for the single-character case and an out-of-line function for the more complicated ones. This becomes even more important with the

[PATCH 1/8] Faster checks for constraint types

2014-06-05 Thread Richard Sandiford
genpreds.c defines routines insn_extra_memory_constraint and insn_extra_address_constraint for testing whether a particular constraint_num is a memory or address constraint. At the moment it uses an out-of-line switch-based function to do this, but if we organise the constraint_num enum differentl

[PATCH 0/8] Constraint matching TLC

2014-06-05 Thread Richard Sandiford
This series of patches tries to improve the way that constraints are matched. It breaks down into three parts: (a) the first three patches speed up the routines generated by genpreds.c. (b) the fourth patch avoids repeated calls to lookup_constraint. (c) the final four patches (which are really a

Re: [RS6000] PR61300 K&R incoming args

2014-06-05 Thread Jeff Law
On 05/29/14 00:55, Alan Modra wrote: One of the nice features of the ELFv2 ABI is that stack frames are smaller compared to ELFv1. We don't allocate a parameter save area unless we actually use it. However, for variable argument lists, we kept the simple va_list type which is a pointer to the m

Re: [Google/4_8] Reduce memory overhead of LIPO COMDAT fixups

2014-06-05 Thread Rong Xu
This patch looks good to me. -Rong On Thu, Jun 5, 2014 at 12:45 PM, Teresa Johnson wrote: > (cc'ing a few additional people to help with review as David is out > and I'm not sure Rong is available) > > This patch greatly reduces the memory overhead of the new COMDAT fixup > analysis, by changing

RFA: Small tweak to ira-lives.c:single_reg_class

2014-06-05 Thread Richard Sandiford
I'm about to post a series of patches that reworks the handling of standard constraints. As part of that I needed to make single_reg_class handle "extra" constraints in a similar way to the standard ones. It's not a particularly worthwhile change in itself -- not enough to justify this long essay

Re: [patch, mips, tree] align microMIPS functions to 16 bits with -Os

2014-06-05 Thread Sandra Loosemore
On 06/05/2014 01:39 AM, Richard Biener wrote: [snip] Ok, we definitely need to preserve that (documented) behavior. I suppose it also sets DECL_USER_ALIGN. -falign-functions is probably another setter of DECL_ALIGN here. If we add a target hook that may adjust function alignment then it has

[PATCH, rs6000][trunk, 4.9, 4.8] Fix PR target/61415, long double 128 issues

2014-06-05 Thread Peter Bergner
PR61415 shows a problem for two test cases that should only be tested if the target supports a 128-bit long double. In addition, the 128-bit long double pack and unpack builtins should not be enabled unless the target supports 128-bit long double. The following patch accomplishes that, as well as

[Google/4_8] Reduce memory overhead of LIPO COMDAT fixups

2014-06-05 Thread Teresa Johnson
(cc'ing a few additional people to help with review as David is out and I'm not sure Rong is available) This patch greatly reduces the memory overhead of the new COMDAT fixup analysis, by changing the second level hash tables to linked lists. I found that almost none of the second level hash table

Re: [PATCH] Fix logic for detection of zero initializer (PR c/53119)

2014-06-05 Thread Jeff Law
On 06/04/14 10:47, S. Gilles wrote: PR c/53119 c/ * c-typeck.c (push_init_level, process_init_element, pop_init_level): Correct check for zero initialization, move missing brace warning to respect zero initialization. * gcc.dg/pr53119.c: New testcase. Than

Re: [PATCH 5/5] add libcc1

2014-06-05 Thread Tom Tromey
> "Mike" == Mike Stump writes: Mike> On May 16, 2014, at 11:48 AM, Tom Tromey wrote: >> This patch adds the plugin to the gcc tree Mike> So, this code isn’t as portable as gcc (I can run a native gcc Mike> bootstrap on my binutils sim simulator for my target, and I’m a newlib Mike> target),

Re: [PATCH 4/5] add gcc/gdb interface files

2014-06-05 Thread Jakub Jelinek
On Thu, Jun 05, 2014 at 01:23:37PM -0600, Jeff Law wrote: > >>>+GCC_METHOD7 (gcc_decl, build_decl, > >>>+ const char */* name */, > >>>+ enum gcc_c_symbol_kind /* sym_kind */, > >>>+ gcc_type /* sym_type */, > >>>+ const char */* substitution_name */, > >>>+ gcc_addres

Handle MULTILIB_REUSE in auto-generated SYSROOT_SUFFIX_SPEC macro

2014-06-05 Thread Julian Brown
Hi, The print-sysroot-suffix.sh script that can be used (via the t-sysroot-suffix makefile fragment) to auto-generate the SYSROOT_SUFFIX_SPEC macro for non-trivial multilib setups does not take into account the MULTILIB_REUSE target fragment variable. I'm not sure of a way to demonstrate how this

Re: [PATCH 4/5] add gcc/gdb interface files

2014-06-05 Thread Jeff Law
On 06/04/14 14:39, Tom Tromey wrote: "Jakub" == Jakub Jelinek writes: +GCC_METHOD7 (gcc_decl, build_decl, +const char */* name */, +enum gcc_c_symbol_kind /* sym_kind */, +gcc_type /* sym_type */, +const char */* substitution_name */, +

Re: Fix address space computation in expand_debug_expr

2014-06-05 Thread Jeff Law
On 06/05/14 06:19, Senthil Kumar Selvaraj wrote: gcc/ChangeLog 2014-06-05 Senthil Kumar Selvaraj PR target/52472 * cfgexpand.c (expand_debug_expr): Use address space of nested TREE_TYPE for ADDR_EXPR and MEM_REF. gcc/testsuite/ChangeLog 2014-06-05 Senthil Kumar Selv

Re: [patch][gomp4] openacc loops

2014-06-05 Thread Tobias Burnus
Janne Blomqvist wrote: Fortran does not allow aliasing of dummy arguments, That's not quite true: It permits aliasing variables (also without TARGET or POINTER attribute) – but if you modify one, you may no longer access the other, unless they do have the POINTER or TARGET attribute. (See be

[PR tree-optimization/61289] Fix equivalence invalidation when threading across loop backedge

2014-06-05 Thread Jeff Law
When I wrote the improved support for threading across backedges I tried to minimize the cost to invalidate equivalences. This led to some convoluted code to track things which might need invalidation (at PHI nodes), then further hacks to invalidate equivalences implied by traversal of parti

Re: [Patch] PR55189 enable -Wreturn-type by default

2014-06-05 Thread Joseph S. Myers
On Thu, 5 Jun 2014, Sylvestre Ledru wrote: > > Some of those patches appear to be addressing cases where control appears > > to reach the end of a function returning non-void, as opposed to cases > > where the return type defaults to int. > Do you have an example of the patches you are talking

Re: libgo patch committed: Merge from revision 18783 of master

2014-06-05 Thread Ian Lance Taylor
On Thu, Jun 5, 2014 at 9:38 AM, Uros Bizjak wrote: > >> I have committed a patch to libgo to merge from revision >> 18783:00cce3a34d7e of the master library. This revision was committed >> January 7. I picked this revision to merge to because the next revision >> deleted a file that is explicitl

C++ PATCH to be more helpful about noexcept/thread_local in C++98 mode

2014-06-05 Thread Jason Merrill
We end up in cp_parser_diagnose_invalid_type_name for uses of noexcept and thread_local as well as constexpr, and we can give the same helpful message. Tested x86_64-pc-linux-gnu, applying to trunk. commit df531541273db6a1f885f48f7a4923bfbc437999 Author: Jason Merrill Date: Wed Jun 4 13:29:0

C++ PATCH for c++/61343 (missing init for thread_local)

2014-06-05 Thread Jason Merrill
The bug here was that we were setting DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P for a variable where the explicitly written initializer is constant, but becomes a non-constant constructor call. Fixed thus. Tested x86_64-pc-linux-gnu, applying to trunk. commit 210aa8e75e0827163fd3041890404d39d

Re: [C++ RFH] PR 56961

2014-06-05 Thread Jason Merrill
On 06/05/2014 09:35 AM, Richard Biener wrote: I suppose it's ok to re-order side-effects lhs, rhs to rhs, lhs? Yes. Jason

Re: [patch i386]: Fix PR/46219 Generate indirect jump instruction

2014-06-05 Thread Richard Henderson
On 06/05/2014 09:47 AM, Kai Tietz wrote: > +(define_insn "*sibcall_intern" > + [(call (unspec [(mem:QI (match_operand:W 0 "memory_operand"))] Probably best to use memory_nox32_operand here (and the other define_insn patterns) too. Otherwise ok. r~

Re: [PATCH, x86] Improves x86 permutation expand

2014-06-05 Thread Richard Henderson
On 06/05/2014 08:29 AM, Evgeny Stupachenko wrote: > + /* Figure out where permutation elements stay not in their > + respective lanes. */ > + for (i = 0, which = 0; i < nelt; ++i) > +{ > + unsigned e = d->perm[i]; > + if (e != i) > + which |= (e < nelt ? 1 : 2); > +}

Re: [patch i386]: Fix PR/46219 Generate indirect jump instruction

2014-06-05 Thread Kai Tietz
Thanks for all your hints. Here is the updated patch ChangeLog testsuite 2014-06-05 Kai Tietz PR target/46219 * gcc.target/i386/sibcall-4.c: Remove xfail. ChangeLog 2014-06-05 Kai Tietz Richard Henderson PR target/46219 * config/i386/predicates.md (memory_nox32

Re: libgo patch committed: Merge from revision 18783 of master

2014-06-05 Thread Uros Bizjak
Hello! > I have committed a patch to libgo to merge from revision > 18783:00cce3a34d7e of the master library. This revision was committed > January 7. I picked this revision to merge to because the next revision > deleted a file that is explicitly merged in by the libgo/merge.sh > script. crypt

Re: [PATCH]Code size optimization for the fmul/fdiv and dmul/ddiv function in libgcc

2014-06-05 Thread Richard Earnshaw
On 04/06/14 07:56, Tony Wang wrote: > Hi there, > > In libgcc the file ieee754-sf.S and ieee754-df.S have some function > pairs which will be bundled into one .o file and sharing the same > .text section. For example, the fmul and fdiv, the libgcc makefile > will build them into one .o file and ar

Re: std::quoted doesn't respect padding

2014-06-05 Thread Jonathan Wakely
On 05/06/14 11:43 -0400, Ed Smith-Rowland wrote: On 04/01/2014 07:33 AM, Jonathan Wakely wrote: [CCing gcc-patches] On 11/03/14 11:18 -0400, Ed Smith-Rowland wrote: On 02/14/2014 07:56 PM, Jonathan Wakely wrote: We need to implement this fix (probably after 4.9 is released though) http://cpl

Re: std::quoted doesn't respect padding

2014-06-05 Thread Ed Smith-Rowland
On 04/01/2014 07:33 AM, Jonathan Wakely wrote: [CCing gcc-patches] On 11/03/14 11:18 -0400, Ed Smith-Rowland wrote: On 02/14/2014 07:56 PM, Jonathan Wakely wrote: We need to implement this fix (probably after 4.9 is released though) http://cplusplus.github.io/LWG/lwg-active.html#2344 Here i

Re: [PATCH 3/5] introduce the binding oracle

2014-06-05 Thread Tom Tromey
> "Jeff" == Jeff Law writes: Jeff> Just a nit. C-style comment would be appreciated. It might also help Jeff> to clarify what "much more sane" really means here. I made this change locally. The new comment reads: /* Temporarily hide any binding oracle. Without this, calls to debug

[PATCH, x86] Improves x86 permutation expand

2014-06-05 Thread Evgeny Stupachenko
Hi, The patch passed bootstrap and make check. No new fails. The patch gives ~10% to test in pr52252 and potentially in pr61403. Is it ok? Thanks, Evgeny ChangeLog: 2014-06-05 Evgeny Stupachenko * config/i386/i386.c (expand_vec_perm_pblendv): New. Permutation expand using

Re: [PATCH, Pointer Bounds Checker 19/x] Support bounds in expand

2014-06-05 Thread Ilya Enkovich
On 04 Jun 16:36, Michael Matz wrote: > Hi, > > On Mon, 2 Jun 2014, Ilya Enkovich wrote: > > > > There is exactly one place (except for the self-recursive ones) where > > > you call the new store_expr with a non-null argument for bounds > > > target, and it seems to be only necessary for when so

[PATCH] Remove some (now) pointless current_loops checks

2014-06-05 Thread Richard Biener
This removes the obvious ones. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2014-06-05 Richard Biener * cfgexpand.c (expand_gimple_cond): Remove check for current_loops. (construct_init_block): Likewise. (construct_exit_block): Likewise.

Re: [PATCH, Fortan] fix initialization of flag_errno_math and flag_associative_math

2014-06-05 Thread Dominique Dhumieres
> Ok for trunk. Thanks! Please don't rush! The behavior of -fno-signed-zeros -fno-trapping-math implying associative math has been changed (as in reverted) between r165758 (implied associative math) and r165930 (lost associative math). AFAICT it could be due to 165823. Investigating! I am also loo

Re: [C++ RFH] PR 56961

2014-06-05 Thread Paolo Carlini
Hi, On 06/05/2014 03:35 PM, Richard Biener wrote: On Thu, Jun 5, 2014 at 3:26 PM, Paolo Carlini wrote: Hi, On 06/05/2014 03:20 PM, Richard Biener wrote: I think the operands have to be reversed though - the type matches that of op0. Sorry ;) Something like this, then? Yes. I suppose it's

[Google/4_8] Fix testsuite/gcc.dg/ipa/ipa-sra-6.c

2014-06-05 Thread Teresa Johnson
I just committed the following patch to google/4_8 as 211279. This fixes a test failure with my backport of tree-sra fix r211180 from trunk. It turns out that the bug I fixed affected this test case, but because the dumping format is slightly different between google/4_8 and both google/4_9 and tr

[AArch64] Make sure start callee-save offset for D registers aligned

2014-06-05 Thread Jiong Wang
For AArch64, there may have been an odd num core registers need to be saved. This small patch ensure we remain 16 byte aligned for subsequent STP writes of D registers. OK for trunk? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_layout_frame): Make sure start offset for vector regist

[GOMP4, COMMITTED] OpenACC deviceptr clause.

2014-06-05 Thread Thomas Schwinge
From: tschwinge gcc/c/ * c-typeck.c (handle_omp_array_sections, c_finish_omp_clauses): Handle OMP_CLAUSE_MAP_FORCE_DEVICEPTR. gcc/ * gimplify.c (gimplify_scan_omp_clauses) (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_MAP_FORCE_DEVICEPTR.

[GOMP4, COMMITTED] OpenACC present data clause.

2014-06-05 Thread Thomas Schwinge
From: tschwinge gcc/ * gimplify.c (gimplify_scan_omp_clauses) : Don't block OMP_CLAUSE_MAP_FORCE_PRESENT. gcc/testsuite/ * c-c++-common/goacc/data-clause-duplicate-1.c: Extend. * c-c++-common/goacc/present-1.c: New file. git-svn-id: svn+ssh://gcc.g

Re: libgo patch committed: Merge from revision 18783 of master

2014-06-05 Thread Ian Lance Taylor
On Thu, Jun 5, 2014 at 3:24 AM, Matthias Klose wrote: > Am 05.06.2014 03:28, schrieb Ian Lance Taylor: >> I have committed a patch to libgo to merge from revision >> 18783:00cce3a34d7e of the master library. This revision was committed >> January 7. I picked this revision to merge to because the

Re: [PATCH] Move get_addr_base_and_unit_offset_1() out of tree-dfa.h

2014-06-05 Thread Richard Biener
On Thu, Jun 5, 2014 at 3:46 PM, Andrew MacLeod wrote: > I'd like to move this rather large inline function out of the header file > and into the .c file. The function has the following comment: > > /* ??? This is a static inline here to avoid the overhead of the indirect > calls > +to VALUEIZ

[PATCH] Move get_addr_base_and_unit_offset_1() out of tree-dfa.h

2014-06-05 Thread Andrew MacLeod
I'd like to move this rather large inline function out of the header file and into the .c file. The function has the following comment: /* ??? This is a static inline here to avoid the overhead of the indirect calls +to VALUEIZE. But is this overhead really that significant? And should w

Re: [PATCH][match-and-simplify] Annotate generated source with line directives

2014-06-05 Thread Richard Biener
On Thu, 5 Jun 2014, Richard Earnshaw wrote: > On 05/06/14 14:25, Richard Biener wrote: > > > > The following makes genmatch annotate gimple-match.c with (commented > > for now) line directives, similar to other generator programs. > > This should help associating generated code with parts in matc

Re: [PATCH][match-and-simplify] Annotate generated source with line directives

2014-06-05 Thread Richard Earnshaw
On 05/06/14 14:25, Richard Biener wrote: > > The following makes genmatch annotate gimple-match.c with (commented > for now) line directives, similar to other generator programs. > This should help associating generated code with parts in match.pd. > I've often found these annotations more of a

Re: [C++ RFH] PR 56961

2014-06-05 Thread Richard Biener
On Thu, Jun 5, 2014 at 3:26 PM, Paolo Carlini wrote: > Hi, > > > On 06/05/2014 03:20 PM, Richard Biener wrote: >> >> I think the operands have to be reversed though - the type matches that of >> op0. Sorry ;) > > Something like this, then? Yes. I suppose it's ok to re-order side-effects lhs, rhs

Re: [C++ RFH] PR 56961

2014-06-05 Thread Paolo Carlini
Hi, On 06/05/2014 03:20 PM, Richard Biener wrote: I think the operands have to be reversed though - the type matches that of op0. Sorry ;) Something like this, then? Thanks, Paolo. /// Index: cp-gimplify.c === --- cp-

[PATCH][match-and-simplify] Annotate generated source with line directives

2014-06-05 Thread Richard Biener
The following makes genmatch annotate gimple-match.c with (commented for now) line directives, similar to other generator programs. This should help associating generated code with parts in match.pd. Bootstrapped on x86_64-unknown-linux-gnu, applied. Richard. 2014-06-05 Richard Biener

Re: patch to fix PR61325

2014-06-05 Thread Christophe Lyon
On 5 June 2014 14:37, James Greenhalgh wrote: > On Wed, Jun 04, 2014 at 08:00:51PM +0100, Vladimir Makarov wrote: >> On 2014-06-03, 6:02 PM, James Greenhalgh wrote: >> > On Thu, May 29, 2014 at 06:38:22PM +0100, Vladimir Makarov wrote: >> >>The following patch PR61325. The details can be foun

Re: [C++ RFH] PR 56961

2014-06-05 Thread Richard Biener
On Thu, Jun 5, 2014 at 3:12 PM, Paolo Carlini wrote: > Hi, > > > On 06/05/2014 03:12 PM, Jason Merrill wrote: >> >> On 06/05/2014 09:05 AM, Richard Biener wrote: >>> >>> + *expr_p = build2 (COMPOUND_EXPR, TREE_TYPE (*expr_p), >>> + op0, build_fold_addr

Re: [C++ RFH] PR 56961

2014-06-05 Thread Paolo Carlini
Hi, On 06/05/2014 03:12 PM, Jason Merrill wrote: On 06/05/2014 09:05 AM, Richard Biener wrote: + *expr_p = build2 (COMPOUND_EXPR, TREE_TYPE (*expr_p), + op0, build_fold_addr_expr (op1)); That seems like a fine approach. Thanks a lot guys. Therefor

[COMMITTED][AArch64] Add frame_size and hard_fp_offset to machine.frame

2014-06-05 Thread Marcus Shawcroft
Each of the various frame related functions in the backend contains a bespoke set of frame layout calculations. This patch recognizes that all of these functions require three pieces of information from which they can trivially compute the various offsets and sizes they need. We compute the S

Re: [C++ RFH] PR 56961

2014-06-05 Thread Jason Merrill
On 06/05/2014 09:05 AM, Richard Biener wrote: + *expr_p = build2 (COMPOUND_EXPR, TREE_TYPE (*expr_p), + op0, build_fold_addr_expr (op1)); That seems like a fine approach. Jason

Re: [PATCH, Fortan] fix initialization of flag_errno_math and flag_associative_math

2014-06-05 Thread Janne Blomqvist
On Thu, Jun 5, 2014 at 3:54 PM, VandeVondele Joost wrote: > I have now verified that both new testcases indeed pass with > > gcc version 4.6.0 20100520 (experimental) [trunk revision 159620] (GCC) > > that is the revision where Tobias enabled associative math by default. So > that this patch fix

Re: [C++ RFH] PR 56961

2014-06-05 Thread Richard Biener
On Thu, Jun 5, 2014 at 2:59 PM, Paolo Carlini wrote: > Hi, > > in this minor issue, after a permerror about "passing ‘volatile foo’ as > ‘this’ argument discards qualifiers" we crash with an infinite recursion in > the gimplifier. The testcase: > > struct foo { }; > > typedef struct > { > volatile

[C++ RFH] PR 56961

2014-06-05 Thread Paolo Carlini
Hi, in this minor issue, after a permerror about "passing ‘volatile foo’ as ‘this’ argument discards qualifiers" we crash with an infinite recursion in the gimplifier. The testcase: struct foo { }; typedef struct { volatile foo fields; } CSPHandleState; CSPHandleState a; void fn1 () { CSPH

Re: [PATCH, Pointer Bounds Checker 13/x] Early versioning

2014-06-05 Thread Ilya Enkovich
2014-06-05 15:58 GMT+04:00 Richard Biener : > On Thu, Jun 5, 2014 at 1:18 PM, Ilya Enkovich wrote: >> On 04 Jun 11:59, Richard Biener wrote: >>> On Wed, Jun 4, 2014 at 8:46 AM, Jeff Law wrote: >>> > On 06/03/14 03:29, Richard Biener wrote: >>> >> >>> >> On Tue, Jun 3, 2014 at 7:55 AM, Ilya Enkovi

[COMMITTED][AArch64] Unify callee save slot allocation for X29 and X30.

2014-06-05 Thread Marcus Shawcroft
This patch restructures the callee slave slot allocation code to handle X29 and X30 consistently with the other core registers. The patch also ensures that the offset recorded for X30 is accurate. Committed. /Marcus 2014-06-05 Marcus Shawcroft Jiong Wang * config/aa

RE: [PATCH, Fortan] fix initialization of flag_errno_math and flag_associative_math

2014-06-05 Thread VandeVondele Joost
I have now verified that both new testcases indeed pass with gcc version 4.6.0 20100520 (experimental) [trunk revision 159620] (GCC) that is the revision where Tobias enabled associative math by default. So that this patch fixes a regression.

  1   2   >