--- Comment #9 from spop at gcc dot gnu dot org 2010-09-17 19:01 ---
Fixed.
--
spop at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNCONFIRMED
--- Comment #8 from matz at gcc dot gnu dot org 2010-09-08 12:40 ---
Subject: Bug 43430
Author: matz
Date: Wed Sep 8 12:40:24 2010
New Revision: 163999
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163999
Log:
PR tree-optimization/43430
* tree-vect-stmts.c (vec
--- Comment #7 from matz at gcc dot gnu dot org 2010-09-07 13:24 ---
The remaining problem is the support for ncopies > 1 in
vectorizable_condition. http://gcc.gnu.org/ml/gcc-patches/2010-09/msg00550.html
implements this.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43430
--- Comment #6 from spop at gcc dot gnu dot org 2010-03-30 19:58 ---
Subject: Bug 43430
Author: spop
Date: Tue Mar 30 19:58:35 2010
New Revision: 157833
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157833
Log:
Replace type != type comparisons with types_compatible_p.
2010-03-
--- Comment #5 from spop at gcc dot gnu dot org 2010-03-26 21:18 ---
Created an attachment (id=20218)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20218&action=view)
Cleanup comparisons of types
This patch replaces with types_compatible_p all the places in the
vectorizer that wer
--- Comment #4 from spop at gcc dot gnu dot org 2010-03-26 20:49 ---
This cleanup of vectorizable_condition allows this testcase to be vectorized:
typedef int uint8_t;
vsad16_c (void *c, uint8_t * s1, uint8_t * s2, int stride, int h)
{
int score = 0;
int x, y;
for (x = 0; x < 16;
--- Comment #3 from spop at gcc dot gnu dot org 2010-03-26 20:26 ---
vectorizable_condition has to be cleaned up of this condition:
/* We do not handle two different vector types for the condition
and the values. */
if (TREE_TYPE (TREE_OPERAND (cond_expr, 0)) != TREE_TYPE (vec
--- Comment #2 from spop at gcc dot gnu dot org 2010-03-26 20:13 ---
Reduced testcase, for which ncopies is 4.
typedef unsigned char uint8_t;
vsad16_c (void *c, uint8_t * s1, uint8_t * s2, int stride, int h)
{
int score = 0;
int x, y;
for (x = 0; x < 16; x++)
score += ((s1[x]
--- Comment #1 from spop at gcc dot gnu dot org 2010-03-26 20:08 ---
Due to the "FORNOW" fail in vectorizable_condition:
int nunits = TYPE_VECTOR_SUBPARTS (vectype);
int ncopies = LOOP_VINFO_VECT_FACTOR (loop_vinfo) / nunits;
if (ncopies > 1)
return false; /* FORNOW */
--