Re: [libstdc++/67015, patch] Fix regex POSIX bracket parsing

2015-07-28 Thread Tim Shen
On Tue, Jul 28, 2015 at 3:27 AM, Jonathan Wakely wrote: > On 27/07/15 19:40 -0700, Tim Shen wrote: >> >> Done by s/_M_add_collating_element/_M_add_collate_element/. > > > Great, thanks. OK for trunk and gcc-5-branch. Committed. Is there no need for gcc-4_9-branch? What's the general policy for ba

RE: [Patch,tree-optimization]: Add new path Splitting pass on tree ssa representation

2015-07-28 Thread Ajit Kumar Agarwal
-Original Message- From: Richard Biener [mailto:richard.guent...@gmail.com] Sent: Thursday, July 16, 2015 4:30 PM To: Ajit Kumar Agarwal Cc: l...@redhat.com; GCC Patches; Vinod Kathail; Shail Aditya Gupta; Vidhumouli Hunsigida; Nagaraju Mekala Subject: Re: [Patch,tree-optimization]: Add

Re: [PING] Re: [PATCH] c/66516 - missing diagnostic on taking the address of a builtin function

2015-07-28 Thread Jason Merrill
Sorry about the slow response on IRC today, I got distracted onto another issue and forgot to check back. What I started to write: I'm exploring your suggestion to see if the back end could emit the diagnostics. But I'm not sure it has sufficient context (location information) to point to th

Re: [PATCH 0/9] start converting POINTER_SIZE to a hook

2015-07-28 Thread Trevor Saunders
On Tue, Jul 28, 2015 at 09:24:17PM +0100, Richard Sandiford wrote: > Trevor Saunders writes: > > On Mon, Jul 27, 2015 at 09:05:08PM +0100, Richard Sandiford wrote: > >> Alternatively we could have a new target_globals structure that is > >> initialised with the result of calling the hook. If we d

[RFC PATCH] parse #pragma GCC diagnostic in libcpp

2015-07-28 Thread Manuel López-Ibáñez
Currently, #pragma GCC diagnostic is handled entirely by the FE. This has several drawbacks: * PR c++/53431 - C++ preprocessor ignores #pragma GCC diagnostic: The C++ parser lexes (and preprocesses) before handling the pragmas. * PR 53920 - "gcc -E" does not honor #pragma GCC diagnostic ignored "

Re: [committed] Use target-insns.def for atomic_test_and_set

2015-07-28 Thread Andrew Pinski
On Tue, Jul 28, 2015 at 3:10 PM, Richard Sandiford wrote: > Andrew Pinski writes: >> On Tue, Jul 28, 2015 at 1:36 PM, Richard Sandiford >> wrote: >>> Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu. >>> Also tested via config-list.mk. Committed as preapproved. >>> >>>

Re: [committed] Use target-insns.def for atomic_test_and_set

2015-07-28 Thread Richard Sandiford
Andrew Pinski writes: > On Tue, Jul 28, 2015 at 1:36 PM, Richard Sandiford > wrote: >> Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu. >> Also tested via config-list.mk. Committed as preapproved. >> >> Thanks, >> Richard >> >> >> gcc/ >> * target-insns.def (at

Re: [committed] Use target-insns.def for atomic_test_and_set

2015-07-28 Thread Andrew Pinski
On Tue, Jul 28, 2015 at 1:36 PM, Richard Sandiford wrote: > Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu. > Also tested via config-list.mk. Committed as preapproved. > > Thanks, > Richard > > > gcc/ > * target-insns.def (atomic_test_and_set): New targetm inst

Re: [committed] Use target-insns.def for indirect_jump

2015-07-28 Thread Andrew Pinski
On Tue, Jul 28, 2015 at 1:35 PM, Richard Sandiford wrote: > Continuing after a break for the fr30 patch... > > Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu. > Also tested via config-list.mk. Committed as preapproved. > > Thanks, > Richard > > > gcc/ > * targe

[committed] Use target-insns.def for reload_load_address

2015-07-28 Thread Richard Sandiford
Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu. Also tested via config-list.mk. Committed as preapproved. Thanks, Richard gcc/ * target-insns.def (reload_load_address): New targetm instruction pattern. * reload1.c (gen_reload): Use it instead

[committed] Use target-insns.def for atomic_test_and_set

2015-07-28 Thread Richard Sandiford
Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu. Also tested via config-list.mk. Committed as preapproved. Thanks, Richard gcc/ * target-insns.def (atomic_test_and_set): New targetm instruction pattern. * optabs.c (maybe_emit_atomic_test_and_se

[committed] Use target-insns.def for can_extend and ptr_extend

2015-07-28 Thread Richard Sandiford
Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu. Also tested via config-list.mk. Committed as preapproved. Thanks, Richard gcc/ * target-insns.def (can_extend, ptr_extend): New targetm instruction patterns. * optabs.c (can_extend_p): Use them i

[committed] Use target-insns.def for eh_return

2015-07-28 Thread Richard Sandiford
The thread_prologue_and_epilogue_insns code that used to be protected by #ifdef HAVE_eh_return is unconditionally correct and isn't on any kind of hot path (it's only run once per function). Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu. Also tested via config-list.mk.

[committed] Use target-insns.def for indirect_jump

2015-07-28 Thread Richard Sandiford
Continuing after a break for the fr30 patch... Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu. Also tested via config-list.mk. Committed as preapproved. Thanks, Richard gcc/ * target-insns.def (indirect_jump): New targetm instruction pattern. * optab

Re: [PATCH][1/N] Change GET_MODE_INNER to always return a non-void mode

2015-07-28 Thread Richard Sandiford
"David Sherwood" writes: > Hi, > > I have updated the comment above GET_MODE_INNER and while there I have > fixed a spelling mistake in the comment above GET_MODE_UNIT_SIZE. > > Tested: > aarch64 and aarch64_be - no regressions in gcc testsuite > x86_64 - bootstrap build, no testsuite regressions

Re: [PATCH 0/9] start converting POINTER_SIZE to a hook

2015-07-28 Thread Richard Sandiford
Trevor Saunders writes: > On Mon, Jul 27, 2015 at 09:05:08PM +0100, Richard Sandiford wrote: >> Alternatively we could have a new target_globals structure that is >> initialised with the result of calling the hook. If we do that though, >> it might make sense to consolidate the hooks rather than

Re: C++ delayed folding branch review

2015-07-28 Thread Kai Tietz
2015-07-28 1:14 GMT+02:00 Kai Tietz : > 2015-07-27 18:51 GMT+02:00 Jason Merrill : >> I've trimmed this to the previously mentioned issues that still need to be >> addressed; I'll do another full review after these are dealt with. > > Thanks for doing this summary of missing parts of prior review.

Re: [RFC] [Patch]: Try and vectorize with shift for mult expr with power 2 integer constant.

2015-07-28 Thread Jakub Jelinek
Hi! > This is just an initial patch and tries to optimize integer type power 2 > constants. I wanted to get feedback on this . I bootstrapped and reg > tested on aarch64-none-linux-gnu . Thanks for working on it. ChangeLog entry for the patch is missing, probably also some testcases. > @@ -90,

[gomp4] unify open acc level constants

2015-07-28 Thread Nathan Sidwell
I've committed this to the gomp4 branch. It cleans up the existing OACC_foo constants defined in omp-low.h, replacing them with the ones I just defined in gomp-constants.h nathan 2015-07-28 Nathan Sidwell * omp-low.h (enum oacc_loop_levels): Delete. (OACC_LOOP_MASK): Delete. * omp-low.c

Re: [C/C++ PATCH] Implement -Wtautological-compare (PR c++/66555, c/54979)

2015-07-28 Thread Marek Polacek
On Tue, Jul 28, 2015 at 09:02:51AM -0700, Steve Ellcey wrote: > Marek, > > I have run into a problem with this warning and building glibc. > > sysdeps/ieee754/s_matherr.c has: > > int > weak_function > __matherr(struct exception *x) > { > int n=0; > if(x->arg1!=x->arg1) return 0;

Re: [PING] Re: [PATCH] New configure option to default enable Smart Stack Protection

2015-07-28 Thread Magnus Granberg
måndag 20 juli 2015 16.32.01 skrev Magnus Granberg: > > Patch updated and tested on x86_64-unknown-linux-gnu (Gentoo) > > > > Changlogs > > /gcc > > 2015-07-05 Magnus Granberg > > > > * common.opt (fstack-protector): Initialize to -1. > > (fstack-protector-all): Likewise. > >

Re: Re: ira.c update_equiv_regs patch causes gcc/testsuite/gcc.target/arm/pr43920-2.c regression

2015-07-28 Thread Alex Velenko
On 21/04/15 06:27, Jeff Law wrote: On 04/20/2015 01:09 AM, Shiva Chen wrote: Hi, Jeff Thanks for your advice. can_replace_by.patch is the new patch to handle both cases. pr43920-2.c.244r.jump2.ori is the original jump2 rtl dump pr43920-2.c.244r.jump2.patch_can_replace_by is the jump2 rtl du

Re: [PATCHv2] [fixincludes] Ignore .DS_Store junk files when running make check

2015-07-28 Thread Mike Stump
On Jul 27, 2015, at 7:36 PM, Eric Gallager wrote: > On 7/27/15, Andreas Schwab wrote: >> Eric Gallager writes: >> >>> Okay, I tried embedding "! -name CVS/ ! -name .svn/" into the find >> >> -name does an exact match, so you don't need the slash. > Okay, attached a new version of the patch; m

Re: [PATCHv2] [fixincludes] Ignore .DS_Store junk files when running make check

2015-07-28 Thread Mike Stump
On Jul 28, 2015, at 6:38 AM, Bruce Korb wrote: > Definitely much better. I won't apply it until the weekend, so > someone else will likely beat me to it. Looks good to me as well, I checked it in. Committed revision 226317.

Re: Another benefit of the new if converter: better performance for half hammocks when running the generated code on a modern high-speed CPU with write-back caching, relative to the code produced by t

2015-07-28 Thread Abe
[Richard wrote:] Note the store to *pointer can be done unconditionally Yes; if I`m mapping things correctly in my mind, this is something that Sebastian [and Alan, via email?] and I have already discussed and which we plan to fix in good time. Please note that this is a minor problem at most,

Re: Re: [PATCH] [PATCH][ARM] Fix sibcall testcases.

2015-07-28 Thread Alex Velenko
Hi, Following last patch, this patch patch prevents arm_thumb1 XPASS in sibcall-3.c and sibcall-4.c by skipping on arm_thumb1 and arm_thumb2 respectively. This patch also documents arm_thumb1 and arm_thumb2 effective target options. Is patch ok for trunk and fsf-5? gcc/testsuite 2015-07-28

[PATCH, PR 66521] Fix bootstrap segfault with vtable verification enabled

2015-07-28 Thread Caroline Tice
I believe the following patch fixes a problem with bootstrap failures on some architectures with vtable verification enabled. The problem was related to a change in name mangling, where classes with anonymous namespaces get "" as their DECL_ASSEMBLER_NAME, rather than the real mangled name. This

Re: [gomp4] Redesign oacc_parallel launch API

2015-07-28 Thread Nathan Sidwell
Oh, one more thing. I placed constants for the 3 launch dimensions into gomp-constants.h, as they are needed by both library and compiler. Working on a patch to remove the current set of constants from omp-low.h nathan

[gomp4] Redesign oacc_parallel launch API

2015-07-28 Thread Nathan Sidwell
I've committed this patch to the gomp4 branch to redo the launch API. I'll post a version for trunk once the versioning patch gets approved & committed. This changes the API in a number of ways, allowing device-specific knowledge to be moved into the device compiler and out of the host compile

[Patch, MIPS] MIPS specific optimization for o32 ABI

2015-07-28 Thread Steve Ellcey
This patch implements a MIPS o32 ABI specific optimization called frame header optimization. In the o32 ABI, routines allocate 16 bytes on the stack before calling another routine. This space is used by the callee as space to write the register arguments to if their address is taken. The n32 and

Re: [C/C++ PATCH] Implement -Wtautological-compare (PR c++/66555, c/54979)

2015-07-28 Thread Steve Ellcey
Marek, I have run into a problem with this warning and building glibc. sysdeps/ieee754/s_matherr.c has: int weak_function __matherr(struct exception *x) { int n=0; if(x->arg1!=x->arg1) return 0; return n; } And arg1 is a floating point type. I think that if the value o

[PATCH][AARCH64] Make arm_align_max_stack_pwr.c and arm_align_max_pwr.c compile testcase, instead of execution.

2015-07-28 Thread Renlin Li
Hi all, This is a simple patch to make arm_align_max_stack_pwr.c and arm_align_max_pwr.c compile test cases, instead of execution tests. In my local machine, those test cases pass. However, they fail on some systems with process memory usage restrictions. Anyway, the required space for those

Re: [PATCH] warn for unsafe calls to __builtin_return_address

2015-07-28 Thread Martin Sebor
gcc/ChangeLog 2015-07-27 Martin Sebor * c-family/c.opt (-Wbuiltin-address): New warning option. * doc/invoke.texi (Wbuiltin-address): Document it. * doc/extend.texi (__builtin_frame_addrress, __builtin_return_addrress): Typoes (rr). Fixed. - rtx tem - = expand

Re: [PATCH 3/4] Add libgomp plugin for Intel MIC

2015-07-28 Thread Maxim Blumental
Applied the idea with python script alternative. Review, please. 2015-07-24 17:18 GMT+03:00 David Malcolm : > On Fri, 2015-07-24 at 10:01 +0200, Jakub Jelinek wrote: >> #!/usr/bin/python >> import sys >> with open(sys.argv[1],"rb") as f: >> nextblock = f.read(12) >> while 1: >> bl

Re: [gomp4] Add new oacc_transform patch

2015-07-28 Thread Cesar Philippidis
On 07/28/2015 02:21 AM, Thomas Schwinge wrote: > Cesar, please address the following compiler diagnostig: > >> 2015-07-21 Cesar Philippidis >> >> gcc/ >> * omp-low.c (execute_oacc_transform): New function. >> (class pass_oacc_transform): New function. >> (make_pass_oacc_tra

Re: [Patch] Small refactor on _State<>

2015-07-28 Thread Jonathan Wakely
On 26/07/15 13:38 -0700, Tim Shen wrote: On Sat, Jul 25, 2015 at 8:31 AM, Jonathan Wakely wrote: On 25/07/15 00:11 -0700, Tim Shen wrote: It's not a very necessary refactoring, but simply can't resist. :) I'm not sure of the ::memcpy calls. It looks not very idiomatic, but std::copy on char*

[RFC] [Patch]: Try and vectorize with shift for mult expr with power 2 integer constant.

2015-07-28 Thread Kumar, Venkataramanan
Hi Richard, For Aarch64 target, I was trying to vectorize the expression "arr[i]=arr[i]*4;" via vector shifts instructions since they don't have vector mults. unsigned long int __attribute__ ((aligned (64)))arr[100]; int i; #if 1 void test_vector_shifts() { for(i=0; i<=99;i++)

Re: [PATCH] warn for unsafe calls to __builtin_return_address

2015-07-28 Thread Segher Boessenkool
On Mon, Jul 27, 2015 at 09:08:34PM -0600, Martin Sebor wrote: > >>So, my suggestion would be to warn for any call with a nonzero value. > > > >The current documentation says that you should only use nonzero values > >for debug purposes. A warning would help yes, how many people read the > >manual

Re: [gomp4] Fix some gomp tests

2015-07-28 Thread Nathan Sidwell
On 07/28/15 08:30, Thomas Schwinge wrote: I do agree that a copy clause is wrong (expected to fail at runtime), but why do you say an implicit copy clause is created? OpenACC 2.0a, 2.5.1 Parallel Construct, says that »[...] An array or variable of aggregate data type referenced in the parallel

Re: [PATCH][AArch64] Properly handle simple arith+extend ops in rtx costs

2015-07-28 Thread pinskia
> On Jul 28, 2015, at 3:25 AM, Kyrill Tkachov wrote: > > Hi all, > > Currently we assign the wrong rtx cost to instructions of the form > add x0, x0, x1, sxtw > > that is, an arith operation plus a single extend (no shifting). > We correctly catch the cases where the extend is inside a sh

Re: [PATCHv2] [fixincludes] Ignore .DS_Store junk files when running make check

2015-07-28 Thread Bruce Korb
Definitely much better. I won't apply it until the weekend, so someone else will likely beat me to it. Thank you. On Mon, Jul 27, 2015 at 7:36 PM, Eric Gallager wrote: > On 7/27/15, Andreas Schwab wrote: >> Eric Gallager writes: >> >>> Okay, I tried embedding "! -name CVS/ ! -name .svn/" into

[AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt

2015-07-28 Thread Jiong Wang
The instruction sequences for preparing argument for TLS descriptor runtime resolver and the later function call to resolver can actually be hoisted out of the loop. Currently we can't because we have exposed the hard register X0 as destination of "set". While GCC's RTL data flow infrastructure

Re: [PATCH] PR fortran/66942 -- avoid referencing a NULL C++ thing

2015-07-28 Thread Steve Kargl
On Tue, Jul 28, 2015 at 03:04:52PM +0200, Mikael Morin wrote: > Le 21/07/2015 21:08, Steve Kargl a ?crit : > > When C++ was injected into trans-expr.c in the form of vec, > > it seems whomever did the conversion to vec forgot to check > > for a NULL C++ thing. This patch seems to avoid the problem

[PATCH] Fix uninitialized variable with ubsan on ARM (PR sanitizer/66977)

2015-07-28 Thread Marek Polacek
This fixes a problem where on ARM ubsan can introduce an uninitialized variable. It's ARM only since the ARM C++ ABI says that when creating a pointer to member function, the LSB of ptr discriminates between the address of a non-virtual member function and the offset in the class's virtual table o

Re: [PATCH] PR fortran/66942 -- avoid referencing a NULL C++ thing

2015-07-28 Thread Mikael Morin
Le 21/07/2015 21:08, Steve Kargl a écrit : When C++ was injected into trans-expr.c in the form of vec, it seems whomever did the conversion to vec forgot to check for a NULL C++ thing. This patch seems to avoid the problem, but having zero knowledge of C++ I could be wrong. OK for trunk? 2015-

Re: [gomp4] Fix some gomp tests

2015-07-28 Thread Thomas Schwinge
Hi Nathan! On Tue, 28 Jul 2015 08:19:17 -0400, Nathan Sidwell wrote: > On 07/28/15 06:14, Thomas Schwinge wrote: > > On Sat, 25 Jul 2015 16:02:01 -0400, Nathan Sidwell wrote: > >> I've committed this to gomp4 branch. It fixes some tests that were > >> incorrect > > > > Hmm, I fail to see what

Re: [gomp4] Fix some gomp tests

2015-07-28 Thread Nathan Sidwell
On 07/28/15 06:14, Thomas Schwinge wrote: Hi Nathan! On Sat, 25 Jul 2015 16:02:01 -0400, Nathan Sidwell wrote: I've committed this to gomp4 branch. It fixes some tests that were incorrect Hmm, I fail to see what you deem incorrect in the following two Fortran test cases? Implicit present_o

Re: [PATCH] Allow non-overflow ops in vect_is_simple_reduction_1

2015-07-28 Thread Tom de Vries
On 28/07/15 09:59, Richard Biener wrote: On Fri, Jul 24, 2015 at 4:39 PM, Tom de Vries wrote: Hi, this patch allows parallelization and vectorization of reduction operators that are guaranteed to not overflow (such as min and max operators), independent of the overflow behaviour of the type.

Re: [PATCH 1/2] Allow REG_EQUAL for ZERO_EXTRACT

2015-07-28 Thread Kugan
On 27/07/15 05:38, Andreas Schwab wrote: > Kugan writes: > >> * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor >> clean up. > > This breaks > > gcc.target/m68k/tls-ie-xgot.c scan-assembler jsr __m68k_read_tp > gcc.target/m68k/tls-ie.c scan-assembler jsr __m68k_re

[PATCH][22/n] Remove GENERIC stmt combining from SCCVN

2015-07-28 Thread Richard Biener
This implements some remaining parts of fold_comparison address comparisons but still no complete part of it. Still it is good enough to make fold_stmt not regress when not dispatching to fold_binary. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2015-07-28 R

[PATCH] Improve compare with min/max simplification for bools

2015-07-28 Thread Richard Biener
For types with just two values max - 1 is equal to min and thus we fail to optimize some cases of comparisons. With fold-const.c bool < 0 needed the abs(x) < 0 simplification to trigger it (same issue with mis-ordered if / else-ifs). Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.

Re: [gomp4] fiuxup openacc default handling

2015-07-28 Thread Nathan Sidwell
On 07/27/15 11:21, Tom de Vries wrote: On 26/07/15 19:09, Nathan Sidwell wrote: I've committed this update to my earlier breakout of default handling. After complaining about something because of 'none', we should fall through to the default handling, to prevent ICEing later (on patch seriesI'm

[PATCH 15/15][ARM] Update sourcebuild.texi with testsuite/effective-target hooks

2015-07-28 Thread Alan Lawrence
This documents the change to arm_neon_fp16_ok in the first patch; the addition of arm_neon_fp16_hw_ok in the last patch; and corrects a cross-reference. (I tried using an @ref instead of "Implies previous." but the page ref looked very out-of-place in PDF when I am referring to the previous ite

[PATCH 13/15][ARM/AArch64 Testsuite] Add float16 tests to advsimd-intrinsics testsuite

2015-07-28 Thread Alan Lawrence
This is a respin of https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00488.html, fixing up the testsuite for float16 vectors. Relative to the previous version, most of the additions to the tests are now within #if..#endif such that they are only compiled if we have a scalar __fp16 type (the excepti

[PATCH 12/15][AArch64] Add vcvt(_high)?_f32_f16 intrinsics, with BE RTL fix

2015-07-28 Thread Alan Lawrence
The fix here (as noted https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01345.html) is that this changes the vector indices present in the RTL on bigendian for float vec_unpacks, to be the same as for integer vec_unpacks. This appears consistent with the usage of VEC_UNPACK_(FLOAT_)?EXPR in tree-ve

[PATCH 14/15][ARM/AArch64 Testsuite]Add test of vcvt{,_high}_{f16_f32,f32_f16}

2015-07-28 Thread Alan Lawrence
gcc/testsuite/ChangeLog: * gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: set additional flags for neon-fp16 support. * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c: New. commit e6cc7467ddf5702d3a122b8ac4163621d0164b37 Author: Alan Lawrence Date: Wed

[PATCH 11/15][AArch64] vreinterpret(q?), vget_(low|high), vld1(q?)_dup

2015-07-28 Thread Alan Lawrence
gcc/ChangeLog: * config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16, vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16, vrei

[PATCH 10/15][AArch64] Implement vcvt_{,high_}f16_f32

2015-07-28 Thread Alan Lawrence
gcc/ChangeLog: * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf): Reparameterize to... (aarch64_float_truncate_lo_): ...this, for both V2SF and V4HF. (aarch64_float_truncate_hi_v4sf): Reparameterize to... (aarch64_float_truncate_hi_): ...thi

[PATCH 8/15][AArch64] Add support for float14x{4,8}_t vectors/builtins

2015-07-28 Thread Alan Lawrence
gcc/ChangeLog: * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support V4HFmode and V8HFmode. (aarch64_split_simd_move): Add case for V8HFmode. * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define. (aarch64_simd_builtin_std_type): Ha

[PATCH 9/15][AArch64] vld{2,3,4}{,_lane,_dup}, vcombine, vcreate

2015-07-28 Thread Alan Lawrence
gcc/ChangeLog: * config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode. * config/aarch64/aarch64-builtins.c (VAR13, VAR14): New. (aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types): Add __builtin_aarch64_simd_hf. * config/aa

[PATCH 7/15][ARM/AArch64 Testsuite] Add basic fp16 tests

2015-07-28 Thread Alan Lawrence
gcc/testsuite/ChangeLog: * gcc.target/aarch64/fp16/fp16.exp: New. * gcc.target/aarch64/fp16/f16_convs_1.c: New. * gcc.target/aarch64/fp16/f16_convs_2.c: New. commit bc5045c0d3dd34b8cb94910281384f9ab9880325 Author: Alan Lawrence Date: Thu May 7 10:08:12 2015 +0100 (

[PATCH 6/15][AArch64] Add basic FP16 support

2015-07-28 Thread Alan Lawrence
gcc/ChangeLog: * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New. (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16. * config/aarch64/aarch64-modes.def: Add HFmode. * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define

[PATCH 3/15][ARM] Add V8HFmode and float16x8_t type

2015-07-28 Thread Alan Lawrence
This is a respin of https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00477.html. The only change is to publish float16x8_t only if we actually have a scalar __fp16 type. gcc/ChangeLog: * config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode. * config/arm/arm.c (arm_vector_mode_supported_

[PATCH 4/15][ARM] float16x8_t intrinsics in arm_neon.h

2015-07-28 Thread Alan Lawrence
This is a respin of https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00478.html , again making the intrinsics available only if we have a scalar __fp16 type. (This covers the intrinsics whose implementation is entirely within arm_neon.h; those requiring .md changes follow in the next patch). gcc/

[PATCH 5/15][ARM] Remaining intrinsics

2015-07-28 Thread Alan Lawrence
This is a respin of https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00479.html, again to make the intrinsics available only if we have a scalar __fp16 type. This does not fix existing indentation issues in neon.md but rather keeps the affected lines consistent with those around them. gcc/Change

[PATCH 2/15][ARM] float16x4_t intrinsics in arm_neon.h

2015-07-28 Thread Alan Lawrence
This is a respin of https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00476.html. The change is to provide all the new float16 intrinsics only if we actually have an scalar __fp16 type. (This covers the intrinsics whose implementation is entirely within arm_neon.h; those requiring .md changes follow

[PATCH 1/15][ARM] Hide existing float16 intrinsics unless we have a scalar __fp16 type

2015-07-28 Thread Alan Lawrence
This makes the existing float16 vector intrinsics available only when we have an __fp16 type (i.e. when one of the ARM_FP16_FORMAT_... macros is defined). Thus, we also rearrange the float16x[48]_t types to use the same type as __fp16 for the element type (ACLE says that __fp16 should be an ali

[PATCH 0/15][ARM/AArch64] Add support for float16_t vectors (v3)

2015-07-28 Thread Alan Lawrence
All AArch64 patches are unchanged from previous version. However, in response to discussion, the ARM patches are changed (much as I suggested https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02249.html); this version: * Hides the existing vcvt_f16_f32 and vcvt_f32_f16 intrinsics, and float16x4

RE: [PATCH][1/N] Change GET_MODE_INNER to always return a non-void mode

2015-07-28 Thread David Sherwood
Hi, I have updated the comment above GET_MODE_INNER and while there I have fixed a spelling mistake in the comment above GET_MODE_UNIT_SIZE. Tested: aarch64 and aarch64_be - no regressions in gcc testsuite x86_64 - bootstrap build, no testsuite regressions arm-none-eabi - no regressions in gcc te

Re: [PATCH] [gomp] Simplify thread pool initialization

2015-07-28 Thread Sebastian Huber
Ping. This is a pre-requisite for: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02347.html On 22/07/15 14:56, Sebastian Huber wrote: Move the thread pool initialization from the team start to the team creation. This eliminates one conditional expression. In addition this is a preparation pa

[PATCH 3/3] [gomp] Add thread attribute customization

2015-07-28 Thread Sebastian Huber
libgomp/ChangeLog 2015-07-28 Sebastian Huber * config/posix/pool.h (gomp_adjust_thread_attr): New. * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise. (gomp_thread_pool_reservoir): Add priority member. * confi/rtems/proc.c (allocate_thread_pool_reservoir):

[PATCH 2/3] [gomp] Thread pool management

2015-07-28 Thread Sebastian Huber
In RTEMS we may have multiple scheduler instances with different scheduling algorithms. In addition we have a single process environment so all threads run in one address space. In order to support work stealing applications it is important to limit the number of thread pools used for OpenMP sinc

[PATCH 1/3] [gomp] Add RTEMS configuration

2015-07-28 Thread Sebastian Huber
libgomp/ChangeLog 2015-07-28 Sebastian Huber * config/rtems/bar.c: New. * config/rtems/bar.h: Likewise. * config/rtems/mutex.c: Likewise. * config/rtems/mutex.h: Likewise. * config/rtems/sem.c: Likewise. * config/rtems/sem.h: Likewise. * c

Re: [RFC] Elimination of zext/sext - type promotion pass

2015-07-28 Thread Richard Biener
On Tue, Jun 2, 2015 at 1:14 AM, Kugan wrote: > Sorry for replying so late... > On 08/05/15 22:48, Richard Biener wrote: >> You compute which promotions are unsafe, like sources/sinks of memory >> (I think you miss call arguments/return values and also asm operands here). >> But instead of simply

Re: [PATCH][AArch64] Properly handle simple arith+extend ops in rtx costs

2015-07-28 Thread Richard Earnshaw
On 28/07/15 11:25, Kyrill Tkachov wrote: > Hi all, > > Currently we assign the wrong rtx cost to instructions of the form >add x0, x0, x1, sxtw > > that is, an arith operation plus a single extend (no shifting). > We correctly catch the cases where the extend is inside a shift, but > not

Re: [PATCH] Unswitching outer loops.

2015-07-28 Thread Richard Biener
On Thu, Jul 23, 2015 at 4:45 PM, Yuri Rumyantsev wrote: > Hi Richard, > > I checked that both test-cases from 23855 are sucessfully unswitched > by proposed patch. I understand that it does not catch deeper loop > nest as >for (i=0; i<10; i++) > for (j=0;j for (k=0;k<20;k++) > .

Re: [libstdc++/67015, patch] Fix regex POSIX bracket parsing

2015-07-28 Thread Jonathan Wakely
On 27/07/15 19:40 -0700, Tim Shen wrote: Done by s/_M_add_collating_element/_M_add_collate_element/. Great, thanks. OK for trunk and gcc-5-branch.

[PATCH][AArch64] Properly handle simple arith+extend ops in rtx costs

2015-07-28 Thread Kyrill Tkachov
Hi all, Currently we assign the wrong rtx cost to instructions of the form add x0, x0, x1, sxtw that is, an arith operation plus a single extend (no shifting). We correctly catch the cases where the extend is inside a shift, but not the simple case. This patch fixes that oversight by catc

Re: Another benefit of the new if converter: better performance for half hammocks when running the generated code on a modern high-speed CPU with write-back caching, relative to the code produced by t

2015-07-28 Thread Richard Biener
On Fri, Jul 17, 2015 at 10:12 PM, Abe wrote: > Dear all, > > Another benefit of the new if converter that perhaps I neglected to > mention/explain... > > TLDR: for some source code which can reasonably be expected to exist in > "real-world code", > when the false/true values of the condition bits

Re: Re: [PATCH][ARM] PR target/66731 Fix vnmul insn with -frounding-math

2015-07-28 Thread Szabolcs Nagy
On 24/07/15 12:27, Kyrill Tkachov wrote: On 24/07/15 12:10, Szabolcs Nagy wrote: (-a)*b should not be compiled to vnmul a,b with -frounding-math. Added a new -(a*b) pattern for vnmul and the old one is only used if !flag_rounding_math. Updated the costs too. This is the ARM version of https://

Re: [PATCH][RTL-ifcvt] Make non-conditional execution if-conversion more aggressive

2015-07-28 Thread Kyrill Tkachov
Hi Jeff, On 27/07/15 17:40, Kyrill Tkachov wrote: On 27/07/15 17:09, Jeff Law wrote: On 07/27/2015 04:17 AM, Kyrill Tkachov wrote: I experimented with resource.c and the roadblock I hit is that it seems to have an assumption that it operates on hard regs (in fact the struct it uses to describe

Re: [gomp4] Fix some gomp tests

2015-07-28 Thread Thomas Schwinge
Hi Nathan! On Sat, 25 Jul 2015 16:02:01 -0400, Nathan Sidwell wrote: > I've committed this to gomp4 branch. It fixes some tests that were incorrect Hmm, I fail to see what you deem incorrect in the following two Fortran test cases? Implicit present_or_copy clauses should be added by the compi

Re: [PATCH, PR66846] Mark inner loop for fixup in parloops

2015-07-28 Thread Richard Biener
On Fri, Jul 24, 2015 at 12:10 PM, Tom de Vries wrote: > On 20/07/15 15:04, Tom de Vries wrote: >> >> On 16/07/15 12:15, Richard Biener wrote: >>> >>> On Thu, Jul 16, 2015 at 11:39 AM, Tom de Vries >>> wrote: On 16/07/15 10:44, Richard Biener wrote: > > > On Wed, Jul 15, 2015

[PATCH GCC]Improve loop bound info by simplifying conversions in iv base

2015-07-28 Thread Bin Cheng
Hi, For now, SCEV may compute iv base in the form of "(signed T)((unsigned T)base + step))". This complicates other optimizations/analysis depending on SCEV because it's hard to dive into type conversions. For many cases, such type conversions can be simplified with additional range information i

[PATCH GCC]Improve bound information in loop niter analysis

2015-07-28 Thread Bin Cheng
Hi, Loop niter computes inaccurate bound information for different loops. This patch is to improve it by using loop initial condition in determine_value_range. Generally, loop niter is computed by subtracting start var from end var in loop exit condition. Moreover, loop bound is computed using v

RE: [PATCH][1/N] Change GET_MODE_INNER to always return a non-void mode

2015-07-28 Thread David Sherwood
> > On 07/27/2015 04:25 AM, David Sherwood wrote: > > Hi, > > > > Part 1 of this change is a clean-up. I have changed calls to GET_MODE_INNER > > (m) > > so that it returns m in cases where there is no inner mode. This simplifies > > some > > of the calling code by removing the need to check for

Re: [gomp4] Add new oacc_transform patch

2015-07-28 Thread Thomas Schwinge
Hi! On Tue, 21 Jul 2015 10:15:05 -0700, Cesar Philippidis wrote: > Jakub, > > Nathan pointed out that I should make the fold_oacc_reductions pass that > I introduced in my reduction patch more generic so that other openacc > transformations may use it. This patch introduces an empty skeleton pa

[PATCH GCC]By pass following iterations if expr has already been simplified into const.

2015-07-28 Thread Bin Cheng
Hi, This is an obvious change to bypass following iterations if expr has already been simplified into constant in function simplify_using_loop_initial_conditions. Is it OK? Thanks, bin 2015-07-28 Bin Cheng * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break Loo

[C++ Patch, preapproved] Prefer DECL_SOURCE_LOCATION to "+D" and "+#D" (2/n)

2015-07-28 Thread Paolo Carlini
Hi, other bits. Tested x86_64-linux. Thanks, Paolo. / 2015-07-28 Paolo Carlini * call.c (build_op_delete_call, convert_like_real, build_over_call): Use Use DECL_SOURCE_LOCATION and "%qD" in inform and pedwarn instead of "%q+D". * constexpr

[gomp4, committed] Handle double reduction in oacc kernels pass group

2015-07-28 Thread Tom de Vries
Hi, this patch adds a test-case with a double reduction in an oacc kernels region. In order to get it in the proper shape for parloops to deal with, I needed to repeat the pass_lim/pass_copy_prop sequence. Bootstrapped and reg-tested on x86_64. Committed to gomp-4_0-branch. Thanks, - Tom

[gomp4,committed] Replace pass_fre with pass_copy_prop in kernels pass group

2015-07-28 Thread Tom de Vries
Hi, I couldn't reproduce the need for pass_fre in the oacc kernels pass group, so I've replaced it with an instance of pass_copy_prop. Bootstrapped and reg-tested on x86_64. Committed to gomp-4_0-branch. Thanks, - Tom Replace pass_fre with pass_copy_prop in kernels pass group 2015-07-28 To

[gomp4, committed] more parloops-related backports

2015-07-28 Thread Tom de Vries
Hi I've backported these parloops-related patches to gomp-4_0-branch. - Simplify gather_scalar_reductions - Update outer-4.c and uns-outer-4.c - Handle double reduction in parloops Thanks, - Tom Simplify gather_scalar_reductions 2015-07-27 Tom de Vries backport from trunk: 2015-07-27 To

Re: rx: remove some asserts

2015-07-28 Thread Nicholas Clifton
Hi DJ, There is no need to assert these just to say "not supported" and gcc may rarely generate addresses from valid code which trigger these asserts. Ok? OK - please apply. Cheers Nick

Re: [PATCH] Allow non-overflow ops in vect_is_simple_reduction_1

2015-07-28 Thread Richard Biener
On Fri, Jul 24, 2015 at 4:39 PM, Tom de Vries wrote: > Hi, > > this patch allows parallelization and vectorization of reduction operators > that are guaranteed to not overflow (such as min and max operators), > independent of the overflow behaviour of the type. > > Bootstrapped and reg-tested on x

Re: [PING][PATCH, PR66851] Handle double reduction in parloops

2015-07-28 Thread Richard Biener
On Tue, Jul 28, 2015 at 12:32 AM, Tom de Vries wrote: > On 24/07/15 12:30, Tom de Vries wrote: >> >> On 13/07/15 16:55, Tom de Vries wrote: >>> >>> Hi, >>> >>> this patch fixes PR66851. >>> >>> In parloops, we manage to parallelize outer loops, but not if the inner >>> loop contains a reduction. T

Re: [PATCH] Optimize certain end of loop conditions into min/max operation

2015-07-28 Thread Richard Biener
On Mon, Jul 27, 2015 at 6:20 PM, Jeff Law wrote: > On 07/27/2015 03:25 AM, Richard Biener wrote: >> >> On Mon, Jul 27, 2015 at 5:41 AM, Michael Collison >> wrote: >>> >>> This patch is designed to optimize end of loop conditions involving of >>> the >>> form >>> i < x && i < y into i < min (x,

[committed, gomp4] Handle non-overflow reductions in graphite

2015-07-28 Thread Tom de Vries
On 26/07/15 18:53, Tom de Vries wrote: On 26/07/15 18:49, Tom de Vries wrote: On 24/07/15 16:39, Tom de Vries wrote: Hi, this patch allows parallelization and vectorization of reduction operators that are guaranteed to not overflow (such as min and max operators), independent of the overflow b

[committed, gomp4] Allow non-overflow ops in vect_is_simple_reduction_1

2015-07-28 Thread Tom de Vries
On 24/07/15 16:39, Tom de Vries wrote: Hi, this patch allows parallelization and vectorization of reduction operators that are guaranteed to not overflow (such as min and max operators), independent of the overflow behaviour of the type. Bootstrapped and reg-tested on x86_64. OK for trunk?

[committed, gomp4, PR46193] Handle mix/max pointer reductions in parloops

2015-07-28 Thread Tom de Vries
On 22/07/15 20:15, Tom de Vries wrote: On 13/07/15 13:02, Tom de Vries wrote: Hi, this patch fixes PR46193. It handles min and max reductions of pointer type in parloops. Bootstrapped and reg-tested on x86_64. OK for trunk? Ping. Committed to gomp-4_0-branch. Thanks, - Tom 0001-Hand

[PATCH][21/n] Remove GENERIC stmt combining from SCCVN

2015-07-28 Thread Richard Biener
This moves/merges the equality folding of decl addresses from fold_comparison with that from fold_binary in match.pd. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2015-07-28 Richard Biener * fold-const.c (fold_comparison): Remove equality folding

  1   2   >