[Bug tree-optimization/22372] Vectorizer produces mis-match types

2006-11-27 Thread irar at gcc dot gnu dot org


--- Comment #4 from irar at gcc dot gnu dot org  2006-11-27 08:10 ---
Subject: Bug 22372

Author: irar
Date: Mon Nov 27 08:10:23 2006
New Revision: 119247

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119247
Log:
PR tree-optimization/22372
* tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Convert
the type of the base address.
(vect_create_data_ref_ptr): Add an argument, type of the data-ref. Use
it in the data-ref pointer creation.
(vect_init_vector): Add an argument, type of the init vector. Use it in
the stmt creation.
(vect_get_vec_def_for_operand): Fix calls to vect_init_vector.
(get_initial_def_for_reduction): Likewise.
(vect_create_epilog_for_reduction): Change type of MODIFY_EXPR to
void_type_node.
(vectorizable_assignment, vect_permute_store_chain): Likewise.
(vectorizable_store): Fix call to vect_create_data_ref_ptr. Use the
correct type in stmt creation.
(vect_setup_realignment): Use the correct type in stmt creation.
(vect_permute_load_chain): Change type of MODIFY_EXPR to
void_type_node.
(vectorizable_load): Fix calls to vect_create_data_ref_ptr. Change type
of MODIFY_EXPR to void_type_node.
(vectorizable_condition): Change type of MODIFY_EXPR to
void_type_node.
(vect_update_ivs_after_vectorizer): Use the correct type in stmt
creation.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-vect-transform.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22372



[Bug tree-optimization/22372] Vectorizer produces mis-match types

2006-11-27 Thread irar at il dot ibm dot com


--- Comment #5 from irar at il dot ibm dot com  2006-11-27 11:19 ---
The patch I committed (comment #4) fixes almost all the type mismatch
occurrences in the vectorizer, but there's one occurrence that still remains -
one of the vectorizer testcases (vect-reduc-dot-u8b.c) still fails with
modify.diff.txt on MODIFY_EXPR where the right hand side is a call to a builtin
function (rs6000_builtin_mul_widen_even). For Altivec, the return value of the
builtin function is always signed (while the left hand side of the assignment
is unsigned). Is the check in modify.diff.txt too strict or is the problem with
the return type of the Altivec builtin (shouldn't it be signed/unsigned as
relevant, instead of always signed? Specifically - shouldn't builtin vmuloub
return an unsigned type)?

Ira 


-- 

irar at il dot ibm dot com changed:

   What|Removed |Added

 CC||irar at il dot ibm dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22372



[Bug tree-optimization/22372] Vectorizer produces mis-match types

2006-12-13 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-12-14 07:05 ---
(In reply to comment #5)
> one of the vectorizer testcases (vect-reduc-dot-u8b.c) still fails with
> modify.diff.txt on MODIFY_EXPR where the right hand side is a call to a
> builtin  function (rs6000_builtin_mul_widen_even). 
> For Altivec, the return value of the
> builtin function is always signed (while the left hand side of the assignment
> is unsigned). Is the check in modify.diff.txt too strict or is the problem 
> with the return type of the Altivec builtin (shouldn't it be signed/unsigned 
> as relevant, instead of always signed? Specifically - shouldn't builtin
> vmuloub return an unsigned type)?

Yes that should return an unsigned type, if it does not then we have a bug.  It
is defined by the altivec PIM as returning vector unsigned short.

The patch is not too strict as far as I know. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22372



[Bug tree-optimization/22372] Vectorizer produces mis-match types

2006-12-14 Thread irar at il dot ibm dot com


--- Comment #7 from irar at il dot ibm dot com  2006-12-14 11:53 ---
So, it is an altivec bug and not vectorizer's. I opened a new PR 30210 instead.
I think, this PR can be closed.

Ira


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22372



[Bug tree-optimization/22372] Vectorizer produces mis-match types

2006-12-20 Thread irar at il dot ibm dot com


--- Comment #8 from irar at il dot ibm dot com  2006-12-20 12:22 ---
As explained by Paolo in PR 30210, it is not an Altivec problem after all. 

Ira


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22372



[Bug tree-optimization/22372] Vectorizer produces mis-match types

2009-05-03 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2009-05-03 15:56 ---


*** This bug has been marked as a duplicate of 30210 ***


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22372



[Bug tree-optimization/22372] Vectorizer produces mis-match types

2006-10-18 Thread patchapp at dberlin dot org


--- Comment #3 from patchapp at dberlin dot org  2006-10-18 09:10 ---
Subject: Bug number PR22372

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-10/msg00892.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22372



[Bug tree-optimization/22372] Vectorizer produces mis-match types

2005-07-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-28 
17:21 ---
Patch posted here: .

-- 
   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2005-
   ||07/msg01877.html
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||patch
   Last reconfirmed|-00-00 00:00:00 |2005-07-28 17:21:06
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22372


[Bug tree-optimization/22372] Vectorizer produces mis-match types

2005-08-15 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-15 
20:18 ---
Note only the first patch (modify.diff.txt) in PR 22368 is needed to reproduce 
this.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22372