[PATCH] [PR testsuite/81010] Fix PPC test

2018-01-06 Thread Jeff Law
As you note in the comments, the code we generate now is actually more efficient so the test needs to be tweaked. Rather than checking the form in doloop, I check the form in .combine and look for (compare:CC (zero_extend:DI (reg:SI The test is also twiddled to run on ppc64le. OK for the

Re: PR82665 - missing value range optimization for memchr

2018-01-06 Thread Prathamesh Kulkarni
On 5 January 2018 at 00:20, Jeff Law wrote: > On 01/03/2018 12:08 AM, Prathamesh Kulkarni wrote: >> On 3 January 2018 at 12:33, Prathamesh Kulkarni >> wrote: >>> On 2 January 2018 at 17:49, Jakub Jelinek wrote: On Tue, Jan

Re: [PR/middle-end 81897] make tree-ssa-uninit.c handle longer sequences

2018-01-06 Thread Jeff Law
On 01/06/2018 01:01 AM, Jeff Law wrote: > On 01/05/2018 01:59 PM, Aldy Hernandez wrote: >> This fixes the code that verifies that none of the uninitialized paths >> reaching a PHI are actually taken (uninit_uses_cannot_happen). >> >> As discussed in the PR, this is done by fixing the predicate

Re: [PATCH] correct handling of offset ranges that cross PTRDIFF_MAX (PR 83640)

2018-01-06 Thread Jeff Law
On 01/01/2018 03:30 PM, Martin Sebor wrote: > PR tree-optimization/83640 - ice in generic_overlap at > gimple-ssa-warn-restrict.c:814 highlights out a class of cases > where the -Wrestrict checker assumes that the range of a pointer > offset that us represented by a VR_RANGE has a lower bound that

Re: Restrict vector use of extract_bit_field_as_subreg (PR 83699)

2018-01-06 Thread Jeff Law
On 01/06/2018 07:19 AM, Richard Sandiford wrote: > The code in r256209 tried using subregs for two cases: to extract > a lowpart element of a vector, or to extract a subvector from a > wider vector. An earlier version of the SVE port used both variants, > but these days SVE provides vec_extract*

[PATCH improve early strlen range folding (PR 83671)

2018-01-06 Thread Martin Sebor
Bug 83671 - Fix for false positive reported by -Wstringop-overflow does not work at -O1, points out that the string length range optimization implemented as a solution for bug 83373 doesn't help at -O1. The root cause is that the fix was added to the strlen pass that doesn't run at -O1. The

Re: [4/4] [AArch64] Tests for SVE structure modes

2018-01-06 Thread Richard Sandiford
Ping Richard Sandiford writes: > This patch adds tests for the SVE structure mode move patterns > and for LD[234] and ST[234] vectorisation. > > > 2017-11-08 Richard Sandiford > Alan Hayward >

Re: [2/4] [AArch64] SVE load/store_lanes support

2018-01-06 Thread Richard Sandiford
Both a ping and a repost with the new VNx names. See: https://gcc.gnu.org/ml/gcc-patches/2017-11/msg00592.html for the full series. Thanks, Richard --- This patch adds support for SVE LD[234], ST[234] and associated structure modes. Unlike Advanced SIMD, these modes are extra-long vector

Re: [0/4] [AArch64] Add SVE support

2018-01-06 Thread Richard Sandiford
James Greenhalgh writes: > On Fri, Nov 24, 2017 at 03:59:58PM +, Richard Sandiford wrote: >> Richard Sandiford writes: >> > This series adds support for ARM's Scalable Vector Extension. >> > More details on SVE can be found here: >> >

Re: Reminder to cleanup

2018-01-06 Thread Janne Blomqvist
On Sat, Jan 6, 2018 at 7:04 PM, Jerry DeLisle wrote: > Janne, > > found this unused warning so need to delete as shown: > > diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c > index c04d243dc08..9639c3092f8 100644 > --- a/libgfortran/io/write.c > +++

Re: [3/4] [AArch64] SVE tests

2018-01-06 Thread Richard Sandiford
James Greenhalgh writes: > On Fri, Nov 03, 2017 at 05:50:54PM +, Richard Sandiford wrote: >> This patch adds gcc.target/aarch64 tests for SVE, and forces some >> existing Advanced SIMD tests to use -march=armv8-a. > > I'm going to assume that these new testcases are

[PATCH] PR 83704 Use size_t in write_character

2018-01-06 Thread Janne Blomqvist
For printing long characters, we need to use size_t instead of int in the argument to write_character. Regtested on x86_64-pc-linux-gnu, approved in the PR, committed to trunk. libgfortran/ChangeLog: 2018-01-06 Dominique d'Humieres Janne Blomqvist

Re: PING: [11/nn] [AArch64] Set NUM_POLY_INT_COEFFS to 2

2018-01-06 Thread Richard Sandiford
James Greenhalgh writes: > On Fri, Jan 05, 2018 at 11:26:59AM +, Richard Sandiford wrote: >> Ping. Here's the patch updated to apply on top of the v8.4 and >> __builtin_load_no_speculate support. >> >> Richard Sandiford writes: >> >

Re: [0/4] [AArch64] Add SVE support

2018-01-06 Thread James Greenhalgh
On Fri, Nov 24, 2017 at 03:59:58PM +, Richard Sandiford wrote: > Richard Sandiford writes: > > This series adds support for ARM's Scalable Vector Extension. > > More details on SVE can be found here: > > > > > >

Re: [3/4] [AArch64] SVE tests

2018-01-06 Thread James Greenhalgh
On Fri, Nov 03, 2017 at 05:50:54PM +, Richard Sandiford wrote: > This patch adds gcc.target/aarch64 tests for SVE, and forces some > existing Advanced SIMD tests to use -march=armv8-a. I'm going to assume that these new testcases are broadly sensible, and not spend any significant time

Re: [2/4] [AArch64] Testsuite markup for SVE

2018-01-06 Thread James Greenhalgh
On Fri, Nov 03, 2017 at 05:49:56PM +, Richard Sandiford wrote: > This patch adds new target selectors for SVE and updates existing > selectors accordingly. It also XFAILs some tests that don't yet > work for some SVE modes; most of these go away with follow-on > vectorisation enhancements.

Re: PING: [11/nn] [AArch64] Set NUM_POLY_INT_COEFFS to 2

2018-01-06 Thread James Greenhalgh
On Fri, Jan 05, 2018 at 11:26:59AM +, Richard Sandiford wrote: > Ping. Here's the patch updated to apply on top of the v8.4 and > __builtin_load_no_speculate support. > > Richard Sandiford writes: > > This patch switches the AArch64 port to use 2 poly_int

[patch, libfortran] Use macros for dtype in array intrinsics

2018-01-06 Thread Thomas Koenig
Hello world, the attached patch removes explicit use of dtype in the array intrinsics, replacing them by macros instead. Functionally, this patch changes nothing. The reason is simple: When we change the array descriptor, for example to implement Fortran 2008 array ranks, to separate size and

Restrict vector use of extract_bit_field_as_subreg (PR 83699)

2018-01-06 Thread Richard Sandiford
The code in r256209 tried using subregs for two cases: to extract a lowpart element of a vector, or to extract a subvector from a wider vector. An earlier version of the SVE port used both variants, but these days SVE provides vec_extract* for all cases and so only really needs the subvector

Re: [PATCH, PR82428] Add __builtin_goacc_{gang,worker,vector}_{id,size}

2018-01-06 Thread Jakub Jelinek
On Sat, Jan 06, 2018 at 09:21:59AM +0100, Tom de Vries wrote: > this patch adds the following builtins in C/C++: > - __builtin_goacc_gang_id > - __builtin_goacc_worker_id > - __builtin_goacc_vector_id > - __builtin_goacc_gang_size > - __builtin_goacc_worker_size > - __builtin_goacc_vector_size I

Re: Tighten LRA cycling check

2018-01-06 Thread Richard Sandiford
Jeff Law writes: > On 01/04/2018 02:28 PM, Richard Sandiford wrote: >> LRA has code to try to prevent cycling, by avoiding reloads that >> look too similar to the instruction being reloaded. E.g. if we >> have a R<-C move for some constant C, reloading the source with >> another

[PATCH] PR 50892 Latent bug in char pointer assignment

2018-01-06 Thread Janne Blomqvist
Due to r256284 (PR 78534) there was a latent bug that reared it's head due to different character length types in the pointer assignment. Fixed by this patch, which also adds a reduced testcase. Regtested on x86_64-pc-linux-gnu, committed to trunk as obvious. gcc/fortran/ChangeLog: 2018-01-06

Re: Fix Bug 83566 - cyl_bessel_j returns wrong result for x>1000 for high orders

2018-01-06 Thread Paolo Carlini
Hi, On 05/01/2018 23:46, Michele Pezzutti wrote: + __term *= (__k == 0) ? _Tp(1) : -(__mu - (2 * __k - 1) * (2 * __k - 1)) +    / (__k * __8x); In such cases, per the Coding Standards, you want an outer level of parentheses wrapping the whole right side expression. See

[PATCH, PR82428] Add __builtin_goacc_{gang,worker,vector}_{id,size}

2018-01-06 Thread Tom de Vries
Hi, this patch adds the following builtins in C/C++: - __builtin_goacc_gang_id - __builtin_goacc_worker_id - __builtin_goacc_vector_id - __builtin_goacc_gang_size - __builtin_goacc_worker_size - __builtin_goacc_vector_size We have openacc C/C++ test-cases using the following nvptx idiom: ...

Re: [PR/middle-end 81897] make tree-ssa-uninit.c handle longer sequences

2018-01-06 Thread Jeff Law
On 01/05/2018 01:59 PM, Aldy Hernandez wrote: > This fixes the code that verifies that none of the uninitialized paths > reaching a PHI are actually taken (uninit_uses_cannot_happen). > > As discussed in the PR, this is done by fixing the predicate analysis in > tree-ssa-uninit.c so that the set