public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/22372] New: Vectorizer produces mis-match types
@ 2005-07-08 15:54 pinskia at gcc dot gnu dot org
2005-07-28 17:22 ` [Bug tree-optimization/22372] " pinskia at gcc dot gnu dot org
2005-08-15 21:06 ` pinskia at gcc dot gnu dot org
0 siblings, 2 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-08 15:54 UTC (permalink / raw)
To: gcc-bugs
Testcase:
void f(int *);
int main ()
{
int i;
char ia[16];
char ic[16] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
char ib[16] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
for (i = 0; i < 16; i++)
ia[i] = ib[i] + ic[i];
f(ia);
return 0;
}
See PR 22368 for the patch which catches this.
--
Summary: Vectorizer produces mis-match types
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
OtherBugsDependingO 22368
nThis:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22372
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22372] Vectorizer produces mis-match types
2005-07-08 15:54 [Bug tree-optimization/22372] New: Vectorizer produces mis-match types pinskia at gcc dot gnu dot org
@ 2005-07-28 17:22 ` pinskia at gcc dot gnu dot org
2005-08-15 21:06 ` pinskia at gcc dot gnu dot org
1 sibling, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-28 17:22 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-28 17:21 -------
Patch posted here: <http://gcc.gnu.org/ml/gcc-patches/2005-07/msg01877.html>.
--
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|0000-00-00 00:00:00 |2005-07-28 17:21:06
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22372
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22372] Vectorizer produces mis-match types
2005-07-08 15:54 [Bug tree-optimization/22372] New: Vectorizer produces mis-match types pinskia at gcc dot gnu dot org
2005-07-28 17:22 ` [Bug tree-optimization/22372] " pinskia at gcc dot gnu dot org
@ 2005-08-15 21:06 ` pinskia at gcc dot gnu dot org
1 sibling, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-08-15 21:06 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22372] Vectorizer produces mis-match types
[not found] <bug-22372-6528@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2006-12-20 12:22 ` irar at il dot ibm dot com
@ 2009-05-03 15:56 ` rguenth at gcc dot gnu dot org
6 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-05-03 15:56 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22372] Vectorizer produces mis-match types
[not found] <bug-22372-6528@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2006-12-14 11:53 ` irar at il dot ibm dot com
@ 2006-12-20 12:22 ` irar at il dot ibm dot com
2009-05-03 15:56 ` rguenth at gcc dot gnu dot org
6 siblings, 0 replies; 10+ messages in thread
From: irar at il dot ibm dot com @ 2006-12-20 12:22 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22372] Vectorizer produces mis-match types
[not found] <bug-22372-6528@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2006-12-14 7:05 ` pinskia at gcc dot gnu dot org
@ 2006-12-14 11:53 ` irar at il dot ibm dot com
2006-12-20 12:22 ` irar at il dot ibm dot com
2009-05-03 15:56 ` rguenth at gcc dot gnu dot org
6 siblings, 0 replies; 10+ messages in thread
From: irar at il dot ibm dot com @ 2006-12-14 11:53 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22372] Vectorizer produces mis-match types
[not found] <bug-22372-6528@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2006-11-27 11:19 ` irar at il dot ibm dot com
@ 2006-12-14 7:05 ` pinskia at gcc dot gnu dot org
2006-12-14 11:53 ` irar at il dot ibm dot com
` (2 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-12-14 7:05 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22372] Vectorizer produces mis-match types
[not found] <bug-22372-6528@http.gcc.gnu.org/bugzilla/>
2006-10-18 9:10 ` patchapp at dberlin dot org
2006-11-27 8:10 ` irar at gcc dot gnu dot org
@ 2006-11-27 11:19 ` irar at il dot ibm dot com
2006-12-14 7:05 ` pinskia at gcc dot gnu dot org
` (3 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: irar at il dot ibm dot com @ 2006-11-27 11:19 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22372] Vectorizer produces mis-match types
[not found] <bug-22372-6528@http.gcc.gnu.org/bugzilla/>
2006-10-18 9:10 ` patchapp at dberlin dot org
@ 2006-11-27 8:10 ` irar at gcc dot gnu dot org
2006-11-27 11:19 ` irar at il dot ibm dot com
` (4 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: irar at gcc dot gnu dot org @ 2006-11-27 8:10 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22372] Vectorizer produces mis-match types
[not found] <bug-22372-6528@http.gcc.gnu.org/bugzilla/>
@ 2006-10-18 9:10 ` patchapp at dberlin dot org
2006-11-27 8:10 ` irar at gcc dot gnu dot org
` (5 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: patchapp at dberlin dot org @ 2006-10-18 9:10 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2009-05-03 15:56 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-08 15:54 [Bug tree-optimization/22372] New: Vectorizer produces mis-match types pinskia at gcc dot gnu dot org
2005-07-28 17:22 ` [Bug tree-optimization/22372] " pinskia at gcc dot gnu dot org
2005-08-15 21:06 ` pinskia at gcc dot gnu dot org
[not found] <bug-22372-6528@http.gcc.gnu.org/bugzilla/>
2006-10-18 9:10 ` patchapp at dberlin dot org
2006-11-27 8:10 ` irar at gcc dot gnu dot org
2006-11-27 11:19 ` irar at il dot ibm dot com
2006-12-14 7:05 ` pinskia at gcc dot gnu dot org
2006-12-14 11:53 ` irar at il dot ibm dot com
2006-12-20 12:22 ` irar at il dot ibm dot com
2009-05-03 15:56 ` rguenth at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).