Hi,
I am starting to work on a new project and won't be able to continue with
vectorizer maintenance.
I'd like to thank all the people I had a chance to work with for making my
GCC experience so enjoyable.
All the best,
Ira
2012-02-08 Ira Rosen i...@il.ibm.com
* MAINTAINERS
Hi,
This patch enhances mixed condition pattern detection to work with
non-constant integral then and else clauses. It checks that 'then' and
'else' are results of type conversion from the comparison type to their
current type, and generates the whole cond_epxr in comparison type
(ignoring the
Hi,
This patch adds a support of pattern recognition in basic block SLP.
Bootstrapped and tested on powerpc64-suse-linux.
Ira
ChangeLog:
* tree-vectorizer.h (vect_pattern_recog): Add new argument.
* tree-vect-loop.c (vect_analyze_loop_2): Update call to
===
--- ChangeLog (revision 183901)
+++ ChangeLog (working copy)
@@ -1,3 +1,31 @@
+2012-02-05 Ira Rosen i...@il.ibm.com
+
+ PR tree-optimization/52091
+ * tree-vectorizer.h (vect_is_simple_use): Add an argument.
+ (vect_is_simple_use_1): Likewise
Jakub Jelinek ja...@redhat.com wrote on 01/02/2012 06:40:13 PM:
Hi!
Hi,
vinfo_for_stmt can't be used on stmts outside of the current loop.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
Yes.
Thanks,
Ira
2012-02-01 Jakub Jelinek ja...@redhat.com
PR
Hi,
In over-widening pattern we expect the last statement to be a type
demotion, but don't check this properly. The patch fixes the check, and
also updates vect-widen-shift-u8.c to expect additional widening shift
pattern instead of over-widening pattern.
Bootstrapped and tested on
Hi,
As described in PR 51269, the vectorizer adjusts number of prologue loop
iterations according to cost model, but never uses the result. This happens
because the result is not returned from the function that computes it, and
is, therefore, ignored.
Bootstrapped and tested on
-* with
corresponding flags.
(See attached file: patch.txt)Index: ChangeLog
===
--- ChangeLog (revision 182767)
+++ ChangeLog (working copy)
@@ -1,3 +1,10 @@
+2012-01-01 Ira Rosen i...@il.ibm.com
+
+ PR tree-optimization
-half-u8.c: Likewise.
* gcc.dg/vect/vect-widen-mult-half.c: Likewise.
* gcc.dg/vect/vect-widen-mult-sum.c: Likewise.
* gcc.dg/vect/vect-widen-mult-u16.c: Likewise.
* gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise.
[attachment 51097.patch deleted by Ira Rosen/Haifa/IBM]
Igor Zamyatin izamya...@gmail.com wrote on 29/12/2011 02:04:45 PM:
When compiler configured with, say corei7-avx, it outputs twice more
diagnostics on integer tests since AVX deals mostly with floats. I.e.
compiler tries to vectorize on AVX vector size, than fails and then
vectorizes on
that all this looks quite bulky but it's hard to create
something which looks better without loosing generality
On Thu, Dec 29, 2011 at 4:15 PM, Ira Rosen i...@il.ibm.com wrote:
Igor Zamyatin izamya...@gmail.com wrote on 29/12/2011 02:04:45 PM:
When compiler configured with, say corei7-avx
Hi,
This patch fixes an attempt to access gsi of pattern statement.
Bootstrapped and tested on ia64-unknown-linux-gnu by Uros and on
powerpc64-suse-linux by me.
Committed.
Ira
ChangeLog:
PR tree-optimization/51684
* tree-vect-slp.c (vect_schedule_slp_instance): Get gsi of
Jakub Jelinek ja...@redhat.com wrote on 15/12/2011 03:51:25 PM:
On Thu, Dec 15, 2011 at 03:35:34PM +0200, Ira Rosen wrote:
This patch also fixes
a problem where vect_determine_vectorization_factor would iterate the
same
stmt twice - for some reason both the original stmt and pattern
Jakub Jelinek ja...@redhat.com wrote on 15/12/2011 09:02:57 AM:
On Thu, Dec 15, 2011 at 08:32:26AM +0200, Ira Rosen wrote:
+ cond = build2 (LT_EXPR, boolean_type_node, oprnd0, build_int_cst
(itype, 0));
+ gsi = gsi_for_stmt (last_stmt);
+ if (rhs_code == TRUNC_DIV_EXPR
Uros Bizjak ubiz...@gmail.com wrote on 15/12/2011 09:56:12 AM:
On Thu, Dec 15, 2011 at 5:16 AM, Michael Zolotukhin
michael.v.zolotuk...@gmail.com wrote:
Thanks!
Fixed patch is attached.
Any other comments?
Changelog:
2011-12-14 Michael Zolotukhin michael.v.zolotuk...@intel.com
Jakub Jelinek ja...@redhat.com wrote on 15/12/2011 12:54:29 PM:
Perhaps it would be even cleaner to get rid of the pattern stmt and def
stmt
seq distinction and just have pattern as whole be represented as
gimple_seq,
but perhaps that cleanup can be deferred for later.
Sounds good.
This
Jakub Jelinek ja...@redhat.com wrote on 15/12/2011 03:51:25 PM:
On Thu, Dec 15, 2011 at 03:35:34PM +0200, Ira Rosen wrote:
This patch also fixes
a problem where vect_determine_vectorization_factor would iterate the
same
stmt twice - for some reason both the original stmt and pattern
Jakub Jelinek ja...@redhat.com wrote on 14/12/2011 02:25:13 PM:
@@ -1573,6 +1576,211 @@ vect_recog_vector_vector_shift_pattern (
return pattern_stmt;
}
+/* Detect a signed division by power of two constant that wouldn't be
+ otherwise vectorized:
+
+ type a_t, b_t;
+
+ S1
gcc-patches-ow...@gcc.gnu.org wrote on 12/12/2011 01:00:52 PM:
I changed xfails to target-checks - for now I use common
vect_multiple_sizes (though it'll fail when wider vectors emerge).
Also, I changed AVX-check to the version Uros suggested. Please check
updated patch (attached).
As for
Michael Zolotukhin michael.v.zolotuk...@gmail.com wrote on 12/12/2011
01:57:09 PM:
By the way, how could we check if '-mprefer-avx128' was specified from
target-supports.exp?
If I understand your question correctly, you can use check-flags (see
check_effective_target_arm_fp16_ok_nocache
gcc-patches-ow...@gcc.gnu.org wrote on 13/12/2011 04:05:57 AM:
On core2, unaligned vector load/store using movdqu is a very slow
operation.
Experiments show it is six times slower than movdqa (aligned) and this is
irrespective of whether the resulting data happens to be aligned or not.
For
On 9 December 2011 19:08, Jakub Jelinek ja...@redhat.com wrote:
Hi!
As mentioned in the PR, we ICE on the following testcase, because
there are DRs in a GIMPLE_CALL stmt and when there is just one, we
compute vectype for the call as if it were a load or store, but during
computation of
gcc-patches-ow...@gcc.gnu.org wrote on 05/12/2011 10:39:07 AM:
From: Michael Zolotukhin michael.v.zolotuk...@gmail.com
To: Richard Guenther richard.guent...@gmail.com
Cc: gcc-patches@gcc.gnu.org, izamya...@gmail.com
Date: 05/12/2011 10:39 AM
Subject: Re: [Patch] Increase array sizes in
Hi,
This patch adds a missing exit phi node for outer loop in
vectorization of double reduction.
Bootstrapped and tested on powerpc64-suse-linux.
Committed.
Ira
ChangeLog:
PR middle-end/51285
* tree-vect-loop.c (vect_create_epilog_for_reduction): Create exit
phi nodes
-strided-u8-i8-gap4.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.
--
---
Best regards,
Michael V. Zolotukhin,
Software Engineer
Intel Corporation.
[attachment vect_tests.patch deleted by Ira Rosen/Haifa/IBM]
).
This is ok with me.
Thanks,
Ira
On 2 December 2011 20:49, Ira Rosen i...@il.ibm.com wrote:
gcc-patches-ow...@gcc.gnu.org wrote on 02/12/2011 06:23:25 PM:
Hi,
This patch increases array sizes in tests from vect.exp suite, thus
enabling 256-bit vectorization where it's available.
Ok
On 1 December 2011 18:41, Jakub Jelinek ja...@redhat.com wrote:
Hi!
Hi,
As mentioned in the PR, vect_pattern_recog_1 attempts to find out
if the computed type_in and type_out are already vector types or not,
and uses VECTOR_MODE_P (TYPE_MODE (type_in)) as the test. Unfortunately,
Hi,
In vectorizer's over-widening pattern recognition the last statement
is expected to be a type demotion, but the check for that was
incomplete. We now check that the resulting type is not bigger than
the original type of the computation.
Bootstrapped and tested on powerpc64-suse-linux, tested
gcc-patches-ow...@gcc.gnu.org wrote on 22/11/2011 03:31:22 PM:
From: Ramana Radhakrishnan ramana.radhakrish...@linaro.org
gcc/testsuite/lib/
* target-supports.exp (check_effective_target_vect_intfloat_cvt):
True
for ARM NEON.
(check_effective_target_vect_uintfloat_cvt):
On 11 November 2011 17:32, Jakub Jelinek ja...@redhat.com wrote:
Hi!
Hi,
Removing the scalar call in vectorizable_call for SLP vectorization
is too early, when another SLP instance refers to the same scalar call,
we'll ICE because that stmt doesn't have bb anymore or gsi_for_stmt
doesn't
On 11 November 2011 19:06, Jakub Jelinek ja...@redhat.com wrote:
On Fri, Nov 11, 2011 at 06:57:58PM +0200, Ira Rosen wrote:
On 11 November 2011 17:32, Jakub Jelinek ja...@redhat.com wrote:
2011-11-11 Jakub Jelinek ja...@redhat.com
PR tree-optimization/51058
* tree-vect
Hi,
This patch handles CALL_EXPRs in constant/invariant operand creation in SLP.
Bootstrapped and tested on powerpc64-suse-linux.
Committed.
Ira
ChangeLog:
PR tree-optimization/51058
* tree-vect-slp.c (vect_get_constant_vectors): Handle CALL_EXPR.
testsuite/ChangeLog:
On 10 November 2011 21:31, Jakub Jelinek ja...@redhat.com wrote:
Hi!
This patch fixes some compiler memory leaks in SLP.
For vect_free_oprnd_info I've removed the FREE_DEF_STMTS argument
and am freeing the defs always, but set them to NULL when moving the vectors
over elsewhere, because
On 9 November 2011 23:32, Jakub Jelinek ja...@redhat.com wrote:
Hi!
When a bool store gets a pattern stmt, we need to update
DR_STMT (otherwise the original rather than replaced stmts
are used e.g. for interleaving etc.).
Bootstrapped/regtested on x86_64-linux and i686-linux, testcase
On 8 November 2011 09:22, Jakub Jelinek ja...@redhat.com wrote:
First of all, whether copysignf, sqrtf and/or lrint are vectorized is
very much target specific, should I guard the dg-final lines with
{ target { i?86-*-* x86_64-*-* } }
resp.
{ target { { i?86-*-* x86_64-*-* } !lp64 } }
(the
On 8 November 2011 11:32, Jakub Jelinek ja...@redhat.com wrote:
On Tue, Nov 08, 2011 at 10:03:23AM +0200, Ira Rosen wrote:
The second option would be nicer.
...
Thanks. Here is an updated patch, will bootstrap/regtest it now.
Ok for trunk if it passes?
Yes.
Thanks,
Ira
2011-11-08
Hi,
Some of the recently added vectorizer pattern detection functions
create pattern def stmts, and set vectype for these statements. This
causes an assert failure in vect_determine_vectorization_factor, since
we only expect data-refs and pattern statements themselves to have the
vectype set.
On 7 November 2011 20:35, Jakub Jelinek ja...@redhat.com wrote:
Hi!
Hi,
Here is an updated patch, which handles both modifier == NONE
and modifier == NARROW for SLP, after all it wasn't that hard.
Additionally it checks that the fndecls and various call flags
match, and adds some
Hi,
This patch adds a support of conditions in SLP.
It also fixes a bug in pattern handling in SLP (we should put pattern
statements instead of original statements in the root), and allows
pattern def-stmts in SLP.
Bootstrapped on powerpc64-suse-linux and tested on
powerpc64-suse-linux and
!
I'll unrevert it after testing on powerpc64-suse-linux.
Thanks,
Ira
Jakub
Index: ChangeLog
===
--- ChangeLog (revision 180930)
+++ ChangeLog (working copy)
@@ -1,3 +1,12 @@
+2011-11-04 Ira Rosen ira.ro...@linaro.org
Hi,
With the recent patches for __restrict__, the outer loop in
gcc.dg/vect/no-scevccp-outer-6-global.c is now vectorizable, because
it doesn't require loop versioning for alias anymore. The comment in
the test is probably obsolete, and checking for widen-mult doesn't
make much sense, because
On 31 October 2011 11:53, Jakub Jelinek ja...@redhat.com wrote:
On Sun, Oct 30, 2011 at 12:38:32AM -0400, David Miller wrote:
gcc.dg/pr48616.c segfaults on sparc as of a day or two ago
vectorizable_shift() crashes because op1_vectype is NULL and
we hit this code path:
/* Vector shifted by
On 31 October 2011 13:23, Jakub Jelinek ja...@redhat.com wrote:
On Mon, Oct 31, 2011 at 01:14:25PM +0200, Ira Rosen wrote:
--- gcc/tree-vect-stmts.c.jj 2011-10-28 16:21:06.0 +0200
+++ gcc/tree-vect-stmts.c 2011-10-31 10:27:57.0 +0100
@@ -2446,7 +2446,10
On 28 October 2011 20:44, Jakub Jelinek ja...@redhat.com wrote:
Hi!
Hi,
This patch implements what I've talked about, with this we can now
with -mavx2 as well as -mxop vectorize long long/unsigned long long
shifts by int or long long/unsigned long long shifts by long long
(where the FE
Hi,
With this patch we are able to stop basic block analysis in case of
unsupported data-ref and still vectorize the first part of the basic
block.
Bootstrapped and tested on powerpc64-suse-linux.
Committed.
Ira
ChangeLog:
PR tree-optimization/50730
* tree-vect-data-refs.c
to this project include Revital Eres, Richard Guenther, and Ira Rosen.
---
to this project include Revital Eres, Richard Guenther, Jakub Jelinek,
Michael Matz,
Richard Sandiford, and Ira Rosen.
279c313
strongexample11/strong:
---
a name=stridedstrongexample11/strong:/a
323d356
/vect.exp: Set target dependent flags for slp-* tests.
* g++.dg/vect/slp-pr50819.cc: New test.
Index: ChangeLog
===
--- ChangeLog (revision 180333)
+++ ChangeLog (working copy)
@@ -1,3 +1,21 @@
+2011-10-23 Ira Rosen ira.ro
On 20 October 2011 23:50, Jakub Jelinek ja...@redhat.com wrote:
Hi!
Hi,
While looking at *.vect dumps from Polyhedron, I've noticed the lack
of SLP vectorization of builtin calls.
This patch is an attempt to handle at least 1 and 2 operand builtin calls
(SLP doesn't handle ternary stmts
On 21 October 2011 14:52, Jakub Jelinek ja...@redhat.com wrote:
On Fri, Oct 21, 2011 at 02:37:06PM +0200, Ira Rosen wrote:
@@ -1620,7 +1615,13 @@ vectorizable_call (gimple stmt, gimple_s
gcc_assert (!gimple_vuse (stmt));
- if (modifier == NARROW)
+ if (slp_node || PURE_SLP_STMT
On 21 October 2011 16:25, Jakub Jelinek ja...@redhat.com wrote:
On Fri, Oct 21, 2011 at 03:44:11PM +0200, Ira Rosen wrote:
But it's OK to allow modifier != NONE if it's not SLP, so we need , no?
Well, in my patch that check was guarded by the if (slp_node ...),
so presumably it would allow
Hi,
With Jakub's patch for bool types the 3 loops in gcc.dg/vect/vect-21.c
are now vectorizable on targets that support vector conditions.
Tested on powerpc64-suse-linux.
Committed.
Ira
testsuite/ChangeLog:
* gcc.dg/vect/vect-21.c: Expect the loops to get vectorized on
targets that
Hi,
vect-114.c doesn't have misaligned accesses, so there is no need in
vect_hw_misalign.
Tested on powerpc64-suse-linux.
Committed.
Ira
testsuite/ChangeLog:
PR tree-optimization/50746
* gcc.dg/vect/vect-114.c: Remove vect_hw_misalign.
Index: testsuite/gcc.dg/vect/vect-114.c
On 12 October 2011 17:54, Jakub Jelinek ja...@redhat.com wrote:
Hi!
Hi,
This patch allows vectorization of some loops that use
bool (which is especially important now that we use bool more often
even for stmts that weren't originally using bool in the sources),
in particular (when bool is
-Dann
Principal Engineer, PD Software - Tools, ARM Ltd[attachment 1110-
fix-pr30858.txt deleted by Ira Rosen/Haifa/IBM]
)
@@ -1,3 +1,21 @@
+2011-10-16 Ira Rosen ira.ro...@linaro.org
+
+ * tree-vect-stmts.c (vectorizable_load): For SLP without permutation
+ treat the first load of the node as the first element in its
+ interleaving chain.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Swap
Hi,
This patch fixes another occurrence of the same bug as in PR 50635.
Bootstrapped and tested on powerpc64-suse-linux.
Committed.
Ira
ChangeLog:
PR tree-optimization/50727
* tree-vect-patterns.c (vect_operation_fits_smaller_type): Add
DEF_STMT to the list of
Hi,
In vectorizer pattern recognition when a pattern def_stmt already
exists, we need to mark it properly for the current pattern.
Another problem is that we don't really have to check that TYPE_OUT is
a vector type. It is set by the pattern detection procedures, and if
the type is invalid we
On 5 October 2011 20:06, Jakub Jelinek ja...@redhat.com wrote:
Hi!
If vect_recog_func fails (or the other spot where vect_pattern_recog_1
returns early), the vector allocated in the function isn't freed, leading
to memory leak. But, more importantly, doing a VEC_alloc + VEC_free
On 6 October 2011 18:17, Jakub Jelinek ja...@redhat.com wrote:
Hi!
Since Richard's changes recently to allow different modes in vcond
patterns (so far on i?86/x86_64 only I think) we can vectorize more
COND_EXPRs than before, and this patch improves it a tiny bit more
- even i?86/x86_64
On 6 October 2011 18:19, Jakub Jelinek ja...@redhat.com wrote:
Hi!
tree-vectorizer.h already has typedefs for the recog functions,
and using that typedef we can make these two functions slightly more
readable.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
OK.
On 6 October 2011 19:28, Jakub Jelinek ja...@redhat.com wrote:
On Thu, Oct 06, 2011 at 07:27:28PM +0200, Ira Rosen wrote:
+ i = 1;
+ if ((rhs_code == COND_EXPR || rhs_code == VEC_COND_EXPR)
I don't understand why we need VEC_COND_EXPR here.
Only for completeness
Hi,
Michael pointed out this problem in
check_effective_target_vect_multiple_sizes and
check_effective_target_vect64 that I added lately.
Tested on powerpc64-suse-linux.
Committed as obvious.
Thanks,
Ira
testsuite/ChangeLog:
* lib/target-supports.exp
On 29 September 2011 17:30, Ramana Radhakrishnan
ramana.radhakrish...@linaro.org wrote:
On 19 September 2011 08:54, Ira Rosen ira.ro...@linaro.org wrote:
Bootstrapped on powerpc64-suse-linux, tested on powerpc64-suse-linux
and arm-linux-gnueabi
OK for mainline?
Sorry I missed this patch
On 26 September 2011 17:12, Richard Guenther richard.guent...@gmail.com wrote:
On Mon, Sep 19, 2011 at 9:54 AM, Ira Rosen ira.ro...@linaro.org wrote:
Hi,
This patch adds a support of widening shift left. The following
pattern is detected:
type a_t;
TYPE a_T, res_T;
a_t = ;
a_T = (TYPE
(working copy)
@@ -1,3 +1,18 @@
+2011-09-27 Ira Rosen ira.ro...@linaro.org
+
+ * tree-vect-stmts.c (vectorizable_type_demotion): Handle basic block
+ vectorization.
+ (vectorizable_type_promotion): Likewise.
+ (vect_analyze_stmt): Call vectorizable_type_demotion
On 23 September 2011 23:09, Richard Guenther richard.guent...@gmail.com wrote:
On Wed, Sep 14, 2011 at 2:01 PM, Ira Rosen ira.ro...@linaro.org wrote:
Hi,
This patch makes data-refs analysis to not fail if simple_iv returns
false in basic block SLP.
Bootstrapped and tested on powerpc64-suse
On 25 September 2011 14:45, Richard Guenther richard.guent...@gmail.com wrote:
On Sun, Sep 25, 2011 at 12:59 PM, Ira Rosen ira.ro...@linaro.org wrote:
Hi,
This patch supports an automatic choice of vector size in basic block
vectorization similar to the loop vectorization case.
I am
Hi,
This patch adds a missing support of constant operands in reduction in SLP.
Bootstrapped and tested on powerpc64-suse-linux.
Committed.
Ira
ChangeLog:
PR tree-optimization/50451
* tree-vect-slp.c (vect_get_constant_vectors): Don't fail for
constant operands in
Hi,
g++.dg/vect/slp-pr50413.cc should check that the basic block in shift
() doesn't get vectorized. This patch removes other functions that
contain basic blocks that can be vectorizable on some platforms.
Tested on x86_64-suse-linux.
Committed to trunk.
Ira
testsuite/ChangeLog:
*
++.dg/vect/slp-pr50413.cc: New.
Index: ChangeLog
===
--- ChangeLog (revision 178967)
+++ ChangeLog (working copy)
@@ -1,3 +1,9 @@
+2011-09-19 Ira Rosen ira.ro...@linaro.org
+
+ PR tree-optimization/50413
+ * tree-vect
Hi,
Strided accesses of single element or with gaps may require creation
of epilogue loop. At the moment we don't support peeling for outer
loops, therefore, we should not allow such strided accesses in outer
loops.
Bootstrapped and tested on powerpc64-suse-linux.
Committed to trunk.
Now
Bootstrapped and tested on powerpc64-suse-linux.
Committed to trunk.
Ira
ChangeLog:
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Allow
read-after-read dependencies in basic block SLP.
testsuite/ChangeLog:
* gcc.dg/vect/bb-slp-25.c: New.
Index:
Hi,
This patch makes data-refs analysis to not fail if simple_iv returns
false in basic block SLP.
Bootstrapped and tested on powerpc64-suse-linux.
OK for mainline?
Thanks,
Ira
ChangeLog:
* tree-data-ref.c (dr_analyze_innermost): Rename to...
(dr_analyze_innermost_1): ... this. Add
On 17 August 2011 15:49, Richard Earnshaw rearn...@arm.com wrote:
On 16/08/11 10:28, Ira Rosen wrote:
Hi,
This patch changes the default vector size for auto-vectorization on
ARM NEON to 128 bits. This new version is a result of a discussion
with Richard and Ramana.
wwwdocs changes
its stmt_vec_info.
Bootstrapped and tested on powerpc64-suse-linux.
Committed.
Ira
ChangeLog:
2011-09-04 Jakub Jelinek ja...@redhat.com
Ira Rosen ira.ro...@linaro.org
PR tree-optimization/50208
* tree-vect-patterns.c (vect_handle_widen_mult_by_const):
Add
gcc-patches-ow...@gcc.gnu.org wrote on 24/08/2011 02:20:50 PM:
This avoids the file/location clutter in front of each line
in the vectorizer dump. While this is useful for people
requesting -fvectorizer-verbose=N in dump files this makes
you unable to compare dumps for testcases on a
Richard Guenther rguent...@suse.de wrote on 01/09/2011 10:33:23 AM:
On Thu, 1 Sep 2011, Ira Rosen wrote:
gcc-patches-ow...@gcc.gnu.org wrote on 24/08/2011 02:20:50 PM:
This avoids the file/location clutter in front of each line
in the vectorizer dump. While this is useful
Hi,
When vectorizing a function call we replace the original call with a
dummy statement to ensure that DCE later removes it. We also remove
its stmt_vec_info, which causes the segfault when we try to access it
through related pattern stmt. The following patch updates related
pattern stmt to be
On 1 September 2011 11:16, Jakub Jelinek ja...@redhat.com wrote:
On Thu, Sep 01, 2011 at 10:14:29AM +0200, Richard Guenther wrote:
On Thu, Sep 1, 2011 at 10:12 AM, Ira Rosen ira.ro...@linaro.org wrote:
When vectorizing a function call we replace the original call with a
dummy statement
Richard Guenther rguent...@suse.de wrote on 01/09/2011 11:13:29 AM:
IMO it's a bad idea. It's now impossible to find anything when
compiling a
big file. How about only removing the file name?
How about, as Micha suggested, print the location of the loop
we currently
Richard Guenther rguent...@suse.de wrote on 01/09/2011 12:26:25 PM:
Well, it seems to be different what everybody else does and it's
highly redundant for a whole bunch of lines.
But, it solves my diff issue and the overly long lines as well.
Your patch changes both dump-file
Jakub Jelinek ja...@redhat.com wrote on 22/08/2011 05:22:59 PM:
Hi!
The following testcase ICEs, because gsi_end_p (*gsi) and thus
there is no stmt after it from which to copy over the location.
As can be seen in the PR, we could do ugly hacks to retrieve locus
from previous stmt
Hi,
This patch changes the default vector size for auto-vectorization on
ARM NEON to 128 bits. This new version is a result of a discussion
with Richard and Ramana.
wwwdocs changes will follow shortly.
Bootstrapped and tested on arm-linux-gnueabi. The testsuite changes
were also checked on
Hi,
The first part was already reviewed several months ago, but I am
resubmitting it along with -mvectorize-with-neon-double documentation.
OK to commit?
Thanks,
Ira
* htdocs/gcc-4.7/changes.html (targets): Document ARM NEON default
vector size change and -mvectorize-with-neon-double
Hi,
This patch adds a check in vect_operation_fits_smaller_type () that a
widening statement has a stmt_vec_info, i.e., that it is a loop
statement.
Bootstrapped and tested on powerpc64-suse-linux.
Committed.
Ira
ChangeLog:
PR tree-optimization/50039
* tree-vect-patterns.c
Hi,
In vectorization of reduction we use a dummy def_type when getting a
copy of a vector operand. Therefore, instead of just using a constant
operand from a previous copy, we try to create a copy of it, causing
the failure. This patch adds a call to vect_is_simple_use () to get a
correct
+ /* Now we have matched the statement pattern
+
+rhs1 = (T1)x;
+rhs2 = (T1)y;
+op_result = rhs1 OP rhs2;
+lhs = (T2)op_result;
Just a note that the patch I proposed for the vectorizer (
http://gcc.gnu.org/ml/gcc-patches/2011-07/msg01472.html) also handles
Richard Guenther rguent...@suse.de wrote on 02/08/2011 01:33:49 PM:
On Tue, 2 Aug 2011, Ira Rosen wrote:
+ /* Now we have matched the statement pattern
+
+rhs1 = (T1)x;
+rhs2 = (T1)y;
+op_result = rhs1 OP rhs2;
+lhs = (T2)op_result
Hi,
This patch adds another missing check for SLP reduction detection: we
should check that a statement in a reduction chain has either one use
inside the loop, or two uses: in the reduction phi node and the loop exit
phi node.
Bootstrapped and tested on powerpc64-suse-linux.
Applied to trunk.
When last week a testcase using mmap was posted with a copy of some old
(and wrong) list of targets supporting mmap, I noticed what mess we have
here. To fix this, I've introduced a new effective-target keyword mmap
and use it in all testcases.
Two minor changes to the tests were required:
On 25 July 2011 12:39, Richard Guenther richard.guent...@gmail.com wrote:
On Mon, Jul 25, 2011 at 11:10 AM, Ulrich Weigand uweig...@de.ibm.com wrote:
Richard Guenther wrote:
On Sun, Jul 24, 2011 at 2:02 PM, Ira Rosen ira.ro...@linaro.org wrote:
On 21 July 2011 15:19, Ira Rosen ira.ro
On 25 July 2011 13:57, Richard Guenther richard.guent...@gmail.com wrote:
On Mon, Jul 25, 2011 at 12:52 PM, Ira Rosen ira.ro...@linaro.org wrote:
On 25 July 2011 12:39, Richard Guenther richard.guent...@gmail.com wrote:
On Mon, Jul 25, 2011 at 11:10 AM, Ulrich Weigand uweig...@de.ibm.com
Ulrich Weigand uweig...@de.ibm.com wrote on 25/07/2011 12:19:54 PM:
Ira Rosen wrote:
Ulrich Weigand uweig...@de.ibm.com wrote on 22/07/2011 05:05:57 PM:
Any suggestions how to fix this? Maybe decrease N again and instead
prevent unrolling via command line switch?
There is no flag
On 20 July 2011 21:35, Ulrich Weigand uweig...@de.ibm.com wrote:
Ira Rosen wrote:
PR tree-optimization/49771
* gcc.dg/vect/pr49771.c: New test.
This test fails (with wrong code) on spu-elf ...
+int
+foo (void)
+{
+ int j;
+ int i;
+ for (i = 0; i 1000; i++)
+ for (j = 0
Hi,
The vectorizer performs the following alias checks for data-refs with
unknown dependence:
((store_ptr_0 + store_segment_length_0) = load_ptr_0)
|| (load_ptr_0 + load_segment_length_0) = store_ptr_0))
where segment_length is data-ref's step in the loop multiplied by the
loop's number of
Hi,
This patch tries to reduce over-promotion of vector operations that
could be done with narrower elements, e.g., for
char a;
int b, c;
short d;
b = (int) a;
c = b 2;
d = (short) c;
we currently produce six vec_unpack_lo/hi_expr statements for
char-int conversion and then two
On 15 July 2011 15:56, Ulrich Weigand uweig...@de.ibm.com wrote:
Ira Rosen wrote:
* gcc.dg/vect/pr49038.c: New test.
Index: testsuite/gcc.dg/vect/pr49038.c
===
--- testsuite/gcc.dg/vect/pr49038.c (revision 0
Richard Guenther rguent...@suse.de wrote on 05/07/2011 12:35:24 PM:
On Tue, 5 Jul 2011, Ira Rosen wrote:
Richard Guenther rguent...@suse.de wrote on 04/07/2011 03:30:59 PM:
Richard Guenther rguent...@suse.de wrote on 04/07/2011 02:38:50
PM:
Handling of negative steps broke
Richard Guenther rguent...@suse.de wrote on 04/07/2011 02:38:50 PM:
Handling of negative steps broke one of the many asserts in
the vectorizer. The following patch drops one that I can't
make sense of. I think all asserts need comments - especially
this one would, as I can't see why using
Richard Guenther rguent...@suse.de wrote on 04/07/2011 03:30:59 PM:
Richard Guenther rguent...@suse.de wrote on 04/07/2011 02:38:50 PM:
Handling of negative steps broke one of the many asserts in
the vectorizer. The following patch drops one that I can't
make sense of. I think
1 - 100 of 158 matches
Mail list logo