PING
> -Original Message-
> From: Claudiu Zissulescu
> Sent: Monday, May 30, 2016 2:33 PM
> To: gcc-patches@gcc.gnu.org
> Cc: Claudiu Zissulescu ; g...@amylaar.uk;
> francois.bed...@synopsys.com
> Subject: [PATCH 0/2] [ARC] Refurbish backend options
>
> This series of patches redefines th
PING
> -Original Message-
> From: Claudiu Zissulescu
> Sent: Tuesday, April 26, 2016 1:29 PM
> To: gcc-patches@gcc.gnu.org
> Cc: Claudiu Zissulescu ; g...@amylaar.uk;
> francois.bed...@synopsys.com; jeremy.benn...@embecosm.com
> Subject: [PATCH] [ARC] Fix emitting jump tables for ARCv2
>
PING
> -Original Message-
> From: Claudiu Zissulescu
> Sent: Thursday, May 19, 2016 1:58 PM
> To: gcc-patches@gcc.gnu.org
> Cc: Claudiu Zissulescu ; g...@amylaar.uk;
> francois.bed...@synopsys.com
> Subject: [PATCH] [ARC] New CPU C-define handler.
>
> This patch refactors how we handle th
On 14/06/16 22:34 +0200, François Dumont wrote:
On 14/06/2016 13:22, Jonathan Wakely wrote:
On 13/06/16 21:49 +0200, François Dumont wrote:
Hi
I eventually would like to propose the attached patch.
In tr1 I made sure we use a special past-the-end iterator that
makes usage of lower_bound
On 14/06/16 22:04 +0200, François Dumont wrote:
Hi
Here is the patch to limit burden on compiler in finding out what
is the right method to call eventually when we already know it.
Very nice, OK for trunk, thanks.
On 9 June 2016 at 14:46, Jakub Jelinek wrote:
> On Thu, Jun 09, 2016 at 02:40:43PM +0200, Christophe Lyon wrote:
>> > Bet it depends if this happens before the signal(SIGILL, sig_ill_handler);
>> > call or after it. If before, then I guess you'd better rewrite the
>> > long long a = 0, b = 1;
This patch series adds a new enum and routines for classifying a vector
load or store implementation. Originally there were three motivations:
(1) Reduce cut-&-paste
(2) Make the chosen vectorisation strategy more obvious. At the
moment this is derived implicitly from various other bi
I recently relaxed the peeling-for-gaps conditions for LD3 but
kept them as-is for load-and-permute. I don't think the conditons
are needed for load-and-permute either though. No current load-and-
permute should load outside the group, so if there is no gap at the end,
the final vector element lo
For a PHI to be used outside the loop it needs to be vectorized. However
the
vectorizer currently will only vectorize PHIs that are an induction.
This patch fixes PR 71439 by only allowing a live PHI to be vectorized if
it
is an induction. In addition, live PHIs need to pass a
vectorizable_live_op
Add a bit more commentary and try to make the structure more obvious.
The horrendous:
if (grouped_access_p
&& represents_group_p
&& !store_lanes_p
&& !STMT_VINFO_STRIDED_P (stmt_info)
&& !slp_node)
checks go away in patch 6.
Tested on aarch64-linux-gnu and x86_64-linux-
vect_model_store_cost had:
/* Costs of the stores. */
if (STMT_VINFO_STRIDED_P (stmt_info)
&& !STMT_VINFO_GROUPED_ACCESS (stmt_info))
{
/* N scalar stores plus extracting the elements. */
inside_cost += record_stmt_cost (body_cost_vec,
This patch just refactors the gather/scatter support so that all
information is in a single structure, rather than separate variables.
This reduces the number of arguments to a function added in patch 6.
Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install?
Thanks,
Richard
gcc/
This patch moves the fix for PR65518 to the code that checks whether
load-and-permute operations are supported. If the group size is
greater than the vectorisation factor, it would still be possible
to fall back to elementwise loads (as for strided groups) rather
than fail vectorisation entirely.
This is the main patch in the series. It adds a new enum and routines
for classifying a vector load or store implementation.
Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install?
Thanks,
Richard
gcc/
* tree-vectorizer.h (vect_memory_access_type): New enum.
(_stmt_ve
This patch uses the vect_memory_access_type from patch 6 to represent
the effect of a negative contiguous stride or a zero stride. The latter
is valid only for loads.
Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install?
Thanks,
Richard
gcc/
* tree-vectorizer.h (vect_memory
On Tue, 14 Jun 2016, Bill Schmidt wrote:
> Hi Richard,
>
> As nobody else has replied, let me take a stab at this one.
>
> > On Jun 10, 2016, at 2:06 AM, Richard Biener wrote:
> >
> > On Thu, 9 Jun 2016, Michael Meissner wrote:
> >
> >> I'm including the global reviewers on the list. I just
This patch handles the cases when subreg:QI of a CONST or LABEL_REF is to be
moved to a QImode register. The original patch only handled SYMBOL_REFs.
OK for trunk and backport?
Johann
--
gcc/
PR target/71103
* config/avr/avr.md (movqi): Handle loading subreg:qi (const).
gc
Hi,
On 15/06/2016 03:30, Jason Merrill wrote:
On Tue, Jun 14, 2016 at 6:12 PM, Paolo Carlini wrote:
constexpr-specialization.C:7:26: error: redeclaration ‘constexpr int foo(T)
[with T = int]’ differs in ‘constexpr’
constexpr-specialization.C:6:16: error: from previous declaration ‘constexpr
i
Hi,
According to review comments, I split the original patch @
https://gcc.gnu.org/ml/gcc-patches/2016-05/msg01182.html into two, as well as
refined the comments. Here is the first one implementing vcond_mask/vec_cmp
patterns on AArch64. These new patterns will be used in the second patch for
Hi,
This is the second patch. It rewrites vcond patterns using vcond_mask/vec_cmp
patterns introduced in the first one. It also implements vcond patterns which
were missing in the current AArch64 backend. After this patch, I have a simple
follow up change enabling testing requirement "vect_co
On Wed, Jun 15, 2016 at 10:49 AM, Alan Hayward wrote:
> For a PHI to be used outside the loop it needs to be vectorized. However
> the
> vectorizer currently will only vectorize PHIs that are an induction.
>
> This patch fixes PR 71439 by only allowing a live PHI to be vectorized if
> it
> is an i
On 06/15/2016 03:30 AM, Alan Modra wrote:
Between these two calls to _gfortran_string_verify,
if (verify(c4, "A", back = .true.) .ne. 3) call abort
if (verify(c4, "AB") .ne. 0) call abort
it seems that gfortran is assuming that parameters passed on the stack
are unchanged.
How? Is this some
* include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
new overloaded functions.
* include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
to avoid creating a redundant temporary.
* testsuite/23_containers/vector/modifiers/insert_vs_em
On Mon, 2016-06-13 at 17:48 +0200, Georg-Johann Lay wrote:
> Pitchumani Sivanupandi schrieb:
> >
> > $ avr-gcc test.c -Wno-misspelled-isr
> > $
> What about -Werror=misspelled-isr?
Updated patch.
> >
> > diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
> > index ba5cd91..587bdbc 100644
On Mon, 2016-06-13 at 17:48 +0200, Georg-Johann Lay wrote:
> Pitchumani Sivanupandi schrieb:
> >
> > $ avr-gcc test.c -Wno-misspelled-isr
> > $
> What about -Werror=misspelled-isr?
Updated patch.
> >
> > diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
> > index ba5cd91..587bdbc 100644
On Tue, Jun 14, 2016 at 10:15 PM, Jason Merrill wrote:
> As discussed in bug 71104, the C++ P0145 proposal specifies the evaluation
> order of certain operations:
>
> 1. a.b
> 2. a->b
> 3. a->*b
> 4. a(b1, b2, b3)
> 5. b @= a
> 6. a[b]
> 7. a << b
> 8. a >> b
>
> The second patch introduces a flag
On 15/06/16 11:15 +0100, Jonathan Wakely wrote:
* include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
new overloaded functions.
* include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
to avoid creating a redundant temporary.
* test
On Thu, May 19, 2016 at 9:39 PM, Ilya Enkovich wrote:
> Hi,
>
> This patch introduces changes required to run vectorizer on loop epilogue.
> This also enables epilogue vectorization using a vector of smaller size.
While the idea of epilogue vectorization sounds straight-forward the
implementation
On Thu, May 19, 2016 at 9:42 PM, Ilya Enkovich wrote:
> Hi,
>
> This patch introduces analysis to determine if loop can be masked
> (compute LOOP_VINFO_CAN_BE_MASKED and LOOP_VINFO_REQUIRED_MASKS)
> and compute how much masking costs.
Maybe in a different patch, but it looks like you assume say,
Adding missing patch.
Martin
>From 35ba97e0139d955c04e67ca157f8899bbb468bf1 Mon Sep 17 00:00:00 2001
From: marxin
Date: Thu, 9 Jun 2016 17:51:38 +0200
Subject: [PATCH] Fix code emission for FAIL_ALLOC predictor
gcc/ChangeLog:
2016-06-13 Martin Liska
* predict.def: Define a new predictor.
On Thu, May 19, 2016 at 9:44 PM, Ilya Enkovich wrote:
> Hi,
>
> This patch introduces support for loop epilogue combining. This includes
> support in cost estimation and all required changes required to mask
> vectorized loop.
I wonder why you compute a minimum number of iterations to make maski
On Tue, Jun 14, 2016 at 11:13:28AM -0600, Martin Sebor wrote:
> >Here is an untested patch for that. Except that the middle-end considers
> >conversions between BOOLEAN_TYPE and single bit unsigned type as useless,
> >so in theory this can't work well, and in practice only if we are lucky
> >enoug
Hi!
The following testcase ICEs on the 4.8 branch, starting with r198314,
but works in 4.9+.
Is the testcase ok for trunk? Tested on x86_64-linux and i686-linux.
2016-06-15 Jakub Jelinek
* g++.dg/cpp0x/ref-qual17.C: New test.
--- gcc/testsuite/g++.dg/cpp0x/ref-qual17.C.jj 2016-06-
> Adding missing patch.
>
> Martin
> >From 35ba97e0139d955c04e67ca157f8899bbb468bf1 Mon Sep 17 00:00:00 2001
> From: marxin
> Date: Thu, 9 Jun 2016 17:51:38 +0200
> Subject: [PATCH] Fix code emission for FAIL_ALLOC predictor
>
> gcc/ChangeLog:
>
> 2016-06-13 Martin Liska
>
> * predic
Hi!
This testcase ICEs on aarch64 at -O2 on the 4.8 branch, got fixed with
PR52714 fix (r208204).
Is the testcase ok for trunk? Tested on x86_64-linux and i686-linux.
2016-06-15 Jakub Jelinek
* gcc.c-torture/compile/20160615-1.c: New test.
--- gcc/testsuite/gcc.c-torture/compile
On Thu, May 19, 2016 at 9:46 PM, Ilya Enkovich wrote:
> Hi,
>
> This patch enables vectorization of loop epilogues and low trip count
> loops using masking.
I wonder why we have the epilogue masking restriction with respect to
the original vectorization factor - shouldn't this simply be handled b
On Thu, May 19, 2016 at 9:35 PM, Ilya Enkovich wrote:
> Hi,
>
> This series is an extension of previous work on loop epilogue combining [1].
>
> It introduces three ways to handle vectorized loop epilogues: combine it with
> vectorized loop, vectorize it with masks, vectorize it using a smaller ve
> On 10 Jun 2016, at 01:28, Jim Wilson wrote:
>
> On Tue, May 31, 2016 at 2:56 AM, James Greenhalgh
> wrote:
>> As you're proposing to have this on by default, I'd like to give a chance
>> to hear whether there is consensus as to this being the right choice for
>> the thunderx, xgene1, exynos-m
On Wed, 15 Jun 2016, Jakub Jelinek wrote:
> The only thing I'm unsure about is what to do with bitfield types.
> For __builtin_{add,sub,mul}_overflow it is not an issue, as one can't take
> address of a bitfield. For __builtin_{add,sub,mul}_overflow_p right now,
> the C FE doesn't promote the las
On Wed, Jun 15, 2016 at 2:49 AM, Bernd Schmidt wrote:
> On 06/15/2016 03:30 AM, Alan Modra wrote:
>>
>> Between these two calls to _gfortran_string_verify,
>> if (verify(c4, "A", back = .true.) .ne. 3) call abort
>> if (verify(c4, "AB") .ne. 0) call abort
>> it seems that gfortran is assuming
On Wed, Jun 15, 2016 at 11:01:05AM +0200, Richard Biener wrote:
> On Tue, 14 Jun 2016, Bill Schmidt wrote:
>
> > Hi Richard,
> >
> > As nobody else has replied, let me take a stab at this one.
> >
> > > On Jun 10, 2016, at 2:06 AM, Richard Biener wrote:
> > >
> > > On Thu, 9 Jun 2016, Michael
On Wed, 15 Jun 2016, Michael Meissner wrote:
> On Wed, Jun 15, 2016 at 11:01:05AM +0200, Richard Biener wrote:
> > On Tue, 14 Jun 2016, Bill Schmidt wrote:
> >
> > > Hi Richard,
> > >
> > > As nobody else has replied, let me take a stab at this one.
> > >
> > > > On Jun 10, 2016, at 2:06 AM, Ri
-06-15 Jakub Jelinek
>
> * gcc.c-torture/compile/20160615-1.c: New test.
>
> --- gcc/testsuite/gcc.c-torture/compile/20160615-1.c.jj 2016-06-15
> 11:17:54.690689056 +0200
> +++ gcc/testsuite/gcc.c-torture/compile/20160615-1.c2016-06-15
> 11:17:48.811765657 +0200
> @@ -0,0
On Wed, Jun 15, 2016 at 10:48 AM, Richard Sandiford
wrote:
> I recently relaxed the peeling-for-gaps conditions for LD3 but
> kept them as-is for load-and-permute. I don't think the conditons
> are needed for load-and-permute either though. No current load-and-
> permute should load outside the
On Wed, Jun 15, 2016 at 10:49 AM, Richard Sandiford
wrote:
> Add a bit more commentary and try to make the structure more obvious.
> The horrendous:
>
> if (grouped_access_p
> && represents_group_p
> && !store_lanes_p
> && !STMT_VINFO_STRIDED_P (stmt_info)
> && !slp_node)
Hi all,
This is a respin of https://gcc.gnu.org/ml/gcc-patches/2016-06/msg00952.html
following feedback.
I've changed the code to cast the operand to an unsigned type before applying
the multiplication algorithm
and cast it back to the signed type at the end.
Whether to perform the cast is now
Hi all,
This is a respin of https://gcc.gnu.org/ml/gcc-patches/2016-06/msg00951.html.
This just moves the necessary declarations to expmed.h so that a file that
includes
expmed.h can access the mult synthesis algorithms.
Bootstrapped and tested on x86_64, aarch64, arm.
Ok for trunk?
Thanks,
K
On Wed, Jun 15, 2016 at 10:50 AM, Richard Sandiford
wrote:
> vect_model_store_cost had:
>
> /* Costs of the stores. */
> if (STMT_VINFO_STRIDED_P (stmt_info)
> && !STMT_VINFO_GROUPED_ACCESS (stmt_info))
> {
> /* N scalar stores plus extracting the elements. */
> inside_
On Wed, Jun 15, 2016 at 10:51 AM, Richard Sandiford
wrote:
> This patch just refactors the gather/scatter support so that all
> information is in a single structure, rather than separate variables.
> This reduces the number of arguments to a function added in patch 6.
>
> Tested on aarch64-linux-g
On Wed, Jun 15, 2016 at 10:52 AM, Richard Sandiford
wrote:
> This patch moves the fix for PR65518 to the code that checks whether
> load-and-permute operations are supported. If the group size is
> greater than the vectorisation factor, it would still be possible
> to fall back to elementwise lo
On Wed, Jun 15, 2016 at 3:24 PM, Kyrill Tkachov
wrote:
> Hi all,
>
> This is a respin of
> https://gcc.gnu.org/ml/gcc-patches/2016-06/msg00951.html.
> This just moves the necessary declarations to expmed.h so that a file that
> includes
> expmed.h can access the mult synthesis algorithms.
>
> Boot
On Wed, Jun 15, 2016 at 11:49:50AM +0200, Bernd Schmidt wrote:
> On 06/15/2016 03:30 AM, Alan Modra wrote:
> >Between these two calls to _gfortran_string_verify,
> > if (verify(c4, "A", back = .true.) .ne. 3) call abort
> > if (verify(c4, "AB") .ne. 0) call abort
> >it seems that gfortran is assu
On 06/15/2016 04:03 PM, Alan Modra wrote:
On Wed, Jun 15, 2016 at 11:49:50AM +0200, Bernd Schmidt wrote:
On 06/15/2016 03:30 AM, Alan Modra wrote:
Between these two calls to _gfortran_string_verify,
if (verify(c4, "A", back = .true.) .ne. 3) call abort
if (verify(c4, "AB") .ne. 0) call abor
On 06/15/2016 06:16 AM, Joseph Myers wrote:
On Wed, 15 Jun 2016, Jakub Jelinek wrote:
The only thing I'm unsure about is what to do with bitfield types.
For __builtin_{add,sub,mul}_overflow it is not an issue, as one can't take
address of a bitfield. For __builtin_{add,sub,mul}_overflow_p righ
Hello,
> First of all, do you or your employer have a copyright assignment
> to the FSF? The above link contains instructions on how to do that.
> It is a necessary prerequisite to accepting any non-small change.
Sorry for a late response, but it took me some time to fulfill
requirements mentione
Is it ok for trunk? If possible, If possible, please merge it also to GCC-6 and
GCC-5 branches.
2016-06-15 Jakub Sejdak
* config.host: Add suport for arm*-*-phoenix* targets.
---
libgcc/ChangeLog | 4
libgcc/config.host | 7 +++
2 files changed, 11 insertions(+)
diff --git a/
This patch disables libgcj and libgloss in main configure.ac for new OS port -
Phoenix-RTOS.
Those libs are unnecessary to build GCC or newlib for arm-phoenix.
Is it ok for trunk? If possible, If possible, please merge it also to GCC-6 and
GCC-5 branches.
2016-06-15 Jakub Sejdak
* confi
Is it ok for trunk? If possible, If possible, please merge it also to GCC-6 and
GCC-5 branches.
2016-06-15 Jakub Sejdak
* config.gcc: Add support for arm*-*-phoenix* targets.
* config/arm/t-phoenix: New.
* config/phoenix.h: New.
---
gcc/ChangeLog| 6 ++
gcc/config.
On Wed, Jun 15, 2016 at 08:08:22AM -0600, Martin Sebor wrote:
> I like the idea of being able to use the built-ins for this, but
> I think it would be confusing for them to follow subtly different
> rules for C than for C++. Since the value of the last argument
I think it isn't that hard to tweak
On Tue, Jun 14, 2016 at 11:45 PM, Rainer Orth
wrote:
> Uros Bizjak writes:
>
>> testsuite/ChangeLog:
>>
>> 2016-06-12 Uros Bizjak
>>
>> PR target/71241
>> * testsuite/gcc.dg/torture/float128-nan.c: New test.
>>
>> Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.
>
> The
Hello.
This corrects a typo in predict.c, which is pre-approved by Honza.
Survives regression tests & bootstraps on x86_64-linux-gnu.
Installed as r237481.
Martin
>From 5d755d1a83094b24319d4a31d1c951c8aa622a87 Mon Sep 17 00:00:00 2001
From: marxin
Date: Wed, 15 Jun 2016 14:37:29 +0200
Subject:
On Wed, Jun 15, 2016 at 7:06 AM, Bernd Schmidt wrote:
>
>
> On 06/15/2016 04:03 PM, Alan Modra wrote:
>>
>> On Wed, Jun 15, 2016 at 11:49:50AM +0200, Bernd Schmidt wrote:
>>>
>>> On 06/15/2016 03:30 AM, Alan Modra wrote:
Between these two calls to _gfortran_string_verify,
if (verif
On 15/06/16 11:34 +0100, Jonathan Wakely wrote:
On 15/06/16 11:15 +0100, Jonathan Wakely wrote:
* include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
new overloaded functions.
* include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
to avo
On June 14, 2016 4:14:20 PM GMT+02:00, Alan Hayward
wrote:
>In the given testcase, g++ splits a live operation into two scalar
>statements
>and four vector statements.
>
>_5 = _4 >> 2;
> _7 = (short int) _5;
>
>Is turned into:
>
>vect__5.32_80 = vect__4.31_76 >> 2;
> vect__5.32_81 = vect__4.31_
Hi,
Currently chkp_build_instrumented_fndecl copies arguments list
in case function has no body. Copied arguments have incorrect
DECL_CONTEXT and this patch fixes it.
Bootstrapped and regtested for x86_64-unknown-linux-gnu. I'm
going to commit it to trunk and later port to gcc-6-branch.
Thanks
Hi all,
The parentheses in these two patterns are a bit of a mess and we can remove
them.
Do that. also, use '{' and '}' for the C code so that we can avoid escaping the
strings
in the block. Also, use GET_MODE_UNIT_BITSIZE directly instead of taking
GET_MODE_UNIT_SIZE and
multiplying by BITS
Kyrill Tkachov writes:
> diff --git a/gcc/config/aarch64/aarch64-simd.md
> b/gcc/config/aarch64/aarch64-simd.md
> index
> 6effd7d42d18c9b526aaaec93a44e8801908e164..a19d1711b5bcb516e4aca6a22d1b79df4f32923f
> 100644
> --- a/gcc/config/aarch64/aarch64-simd.md
> +++ b/gcc/config/aarch64/aarch64-si
On 15/06/16 17:12, Andreas Schwab wrote:
Kyrill Tkachov writes:
diff --git a/gcc/config/aarch64/aarch64-simd.md
b/gcc/config/aarch64/aarch64-simd.md
index
6effd7d42d18c9b526aaaec93a44e8801908e164..a19d1711b5bcb516e4aca6a22d1b79df4f32923f
100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++
2016-06-15 12:11 GMT+03:00 Georg-Johann Lay :
> This patch handles the cases when subreg:QI of a CONST or LABEL_REF is to be
> moved to a QImode register. The original patch only handled SYMBOL_REFs.
>
> OK for trunk and backport?
>
>
> Johann
>
> --
>
> gcc/
> PR target/71103
> *
2016-06-15 13:19 GMT+03:00 Pitchumani Sivanupandi
:
> On Mon, 2016-06-13 at 17:48 +0200, Georg-Johann Lay wrote:
>> Pitchumani Sivanupandi schrieb:
>> >
>> > $ avr-gcc test.c -Wno-misspelled-isr
>> > $
>> What about -Werror=misspelled-isr?
>
> Updated patch.
>
>> >
>> > diff --git a/gcc/config/avr/
OK.
Jason
Segher Boessenkool writes:
> On Tue, Jun 14, 2016 at 03:53:59PM +0100, Jiong Wang wrote:
>> "bl to pop" into "pop" which is "jump to return" into "return", so a better
>> place to fix this issue is at try_optimize_cfg where we are doing these
>> jump/return optimization already:
>>
>> /* Try
On Jun 14, 2016, at 11:09 AM, Ilya Verbin wrote:
>
> On Fri, Apr 29, 2016 at 11:19:47 -0700, Mike Stump wrote:
>> On Apr 29, 2016, at 5:41 AM, Rainer Orth
>> wrote:
>>> diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
>>> --- a/gcc/config/darwin.h
>>> +++ b/gcc/config/darwin.h
>>> @@ -179
2016-06-14 23:22 GMT+02:00 Daniel Krügler :
> This is an implementation of the Standard is_swappable traits according to
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0185r1.html
>
> During that work it has been found that std::array's member swap's exception
> specification for zero
Andrew Burgess writes:
> In md.texi it says:
>
> Predicates written with @code{define_special_predicate} do not get any
> automatic mode checks, and are treated as having special mode handling
> by @command{genrecog}.
>
> However, in genrecog, when validating a SET pattern, if either the
> s
On Tue, Jun 14, 2016 at 05:53:46PM -0500, Segher Boessenkool wrote:
> On Mon, Jun 13, 2016 at 02:29:41PM -0400, Michael Meissner wrote:
> > It would help if I included the patch.
>
> :-)
>
> > > Are these changes ok to install in the trunk? Assuming they go in the
> > > trunk,
> > > can I insta
Richard Biener writes:
> With the proposed cost change for vector construction we will end up
> vectorizing the testcase in PR68961 again (on x86_64 and likely
> on ppc64le as well after that target gets adjustments). Currently
> we can't optimize that away again noticing the direct overlap of
>
> On Fri, May 27, 2016 at 02:50:15PM +0100, Kyrill Tkachov wrote:
> >
> > As mentioned in
> > https://gcc.gnu.org/ml/gcc-patches/2016-05/msg00297.html,
> > frename-registers registers can be beneficial for aarch64 and the
> > patch at https://gcc.gnu.org/ml/gcc-patches/2016-05/msg01618.html
> > res
Hi!
As the following testcase shows, CSE mishandles const/pure calls, it assumes
that const/pure calls can't clobber even their argument slots. But, the
argument slots are owned by the callee, so need to be volatile across the
calls. On the testcase the second round of argument stores is elimina
Hi!
I've noticed 3 spots in the C++ FE test just DECL_BUILT_IN and then
immediately compare DECL_FUNCTION_CODE against BUILT_IN_* constants.
That is only meaningful for BUILT_IN_NORMAL, while DECL_BUILT_IN
macro is DECL_BUILT_IN_CLASS != NOT_BUILT_IN, so it also e.g. includes
BUILT_IN_MD. If peop
On Wed, Jun 15, 2016 at 02:24:41PM -0400, Michael Meissner wrote:
> > > ; Some DImode loads are best done as a load of -1 followed by a mask
> > > ; instruction.
> > > (define_split
> > > - [(set (match_operand:DI 0 "gpc_reg_operand")
> > > + [(set (match_operand:DI 0 "int_reg_operand_not_pseu
On Wed, Jun 15, 2016 at 08:08:22AM -0600, Martin Sebor wrote:
> I like the idea of being able to use the built-ins for this, but
> I think it would be confusing for them to follow subtly different
> rules for C than for C++. Since the value of the last argument
Here is incremental patch to the pa
Hi!
On the builtin-arith-overflow-p-1{2,3}.c testcases (posted earlier today)
i?86 miscompiles e.g. t111_4mul function. Before peephole2 we have:
(insn 9 6 50 2 (parallel [
(set (reg:CCO 17 flags)
(eq:CCO (mult:DI (sign_extend:DI (reg/v:SI 0 ax [orig:90 x ]
[90]))
Hi,
looks like last year I forgot to grep for %q+F and %q+#F. Tested
x86_64-linux. Should be obvious...
Thanks,
Paolo.
//
2016-06-15 Paolo Carlini
* decl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and
"%qF" in warning_at instead of "%q+F
Yep, that looks obvious.
Jason
On Wed, Jun 15, 2016 at 9:57 PM, Jakub Jelinek wrote:
> Hi!
>
> On the builtin-arith-overflow-p-1{2,3}.c testcases (posted earlier today)
> i?86 miscompiles e.g. t111_4mul function. Before peephole2 we have:
> (insn 9 6 50 2 (parallel [
> (set (reg:CCO 17 flags)
> (eq:
On Wed, Jun 15, 2016 at 02:51:20PM -0500, Segher Boessenkool wrote:
> On Wed, Jun 15, 2016 at 02:24:41PM -0400, Michael Meissner wrote:
> > > > ; Some DImode loads are best done as a load of -1 followed by a mask
> > > > ; instruction.
> > > > (define_split
> > > > - [(set (match_operand:DI 0 "
On Wed, 15 Jun 2016, Kyrill Tkachov wrote:
This is a respin of https://gcc.gnu.org/ml/gcc-patches/2016-06/msg00952.html
following feedback.
I've changed the code to cast the operand to an unsigned type before applying
the multiplication algorithm
and cast it back to the signed type at the end.
On 06/15/2016 01:46 PM, Jakub Jelinek wrote:
Hi!
As the following testcase shows, CSE mishandles const/pure calls, it assumes
that const/pure calls can't clobber even their argument slots. But, the
argument slots are owned by the callee, so need to be volatile across the
calls. On the testcase
On 06/15/2016 08:21 AM, Jakub Sejdak wrote:
Hello,
First of all, do you or your employer have a copyright assignment
to the FSF? The above link contains instructions on how to do that.
It is a necessary prerequisite to accepting any non-small change.
Sorry for a late response, but it took me
On Wed, Jun 15, 2016 at 03:12:55PM +0200, Richard Biener wrote:
> On Wed, 15 Jun 2016, Michael Meissner wrote:
> > Eventually, I decided to punt having to have explicit paths for widening. I
> > used fractional modes for IFmode (ibm long double format) and KFmode (IEEE
> > 128-bit format). IFmode
On Wed, Jun 15, 2016 at 04:03:04PM -0600, Jeff Law wrote:
> FWIW I don't think ownership of the argument slots has ever been
> definitively addressed by any ABI and it's been an open question in my mind
> for 20+ years -- though I've largely leaned towards callee ownership on my
> own thinking. In
On 06/15/2016 01:51 PM, Jakub Jelinek wrote:
On Wed, Jun 15, 2016 at 08:08:22AM -0600, Martin Sebor wrote:
I like the idea of being able to use the built-ins for this, but
I think it would be confusing for them to follow subtly different
rules for C than for C++. Since the value of the last arg
Ping.
Cesar
On 06/01/2016 02:35 PM, Cesar Philippidis wrote:
> This patch teaches c and c++ front ends and omp-low how to deal with
> subarray involving GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} data
> mappings. As the libgomp test case shows, it might be possible for a
> subarray to have zero leng
This patch addresses the following problems with acc routines:
* incorrectly permitting 'acc seq' loops to call gang, worker and
vector routines
* lto-wrapper errors when a function or subroutine isn't marked as
'acc routine'
The solution to the first problem is straightforward. It only
On 06/15/2016 07:14 PM, Alan Modra wrote:
On Wed, Jun 15, 2016 at 04:03:04PM -0600, Jeff Law wrote:
FWIW I don't think ownership of the argument slots has ever been
definitively addressed by any ABI and it's been an open question in my mind
for 20+ years -- though I've largely leaned towards cal
On 06/15/2016 06:05 AM, Richard Biener wrote:
So I've gone over the patches and gave mostly high-level comments.
The vectorizer is already in somewhat messy (aka not easy to follow)
state, this series doesn't improve the situation (heh). Esp. the
high-level structure for code generation and its
On 05/20/2016 05:40 AM, Ilya Enkovich wrote:
2016-05-20 14:17 GMT+03:00 Richard Biener :
On Fri, May 20, 2016 at 11:50 AM, Ilya Enkovich wrote:
2016-05-20 12:26 GMT+03:00 Richard Biener :
On Thu, May 19, 2016 at 9:36 PM, Ilya Enkovich wrote:
Hi,
This patch introduces new options used for l
On 05/19/2016 01:38 PM, Ilya Enkovich wrote:
Hi,
This patch adds new fields to _loop_vec_info structure to support loop
epilogue vectorization.
Thanks,
Ilya
--
gcc/
2016-05-19 Ilya Enkovich
* tree-vectorizer.h (struct _loop_vec_info): Add new fields
can_be_masked, required_
On 06/15/2016 05:03 AM, Richard Biener wrote:
On Thu, May 19, 2016 at 9:39 PM, Ilya Enkovich
wrote:
Hi,
This patch introduces changes required to run vectorizer on loop
epilogue. This also enables epilogue vectorization using a vector
of smaller size.
While the idea of epilogue vectorization
1 - 100 of 105 matches
Mail list logo