This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug testsuite/40359] [4.5 Regression] Revision 148211 caused a lot of failures in the vect test suite.
- From: "irar at il dot ibm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Jun 2009 11:08:36 -0000
- Subject: [Bug testsuite/40359] [4.5 Regression] Revision 148211 caused a lot of failures in the vect test suite.
- References: <bug-40359-12313@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #21 from irar at il dot ibm dot com 2009-06-16 11:08 -------
(In reply to comment #20)
> What are the expected patterns for the 3 variables
> with -m32 and -m64?
I am not sure, this is why I asked you if the target is
([istarget *-*-darwin*] && [is-effective-target lp64]).
vect_no_align and vect_hw_misalign have to be false, so, I guess,
vector_alignment_reachable is different for -m32 and -m64, since the behaviour
is different.
"Alignment of access forced using versioning" means the vectorizer uses loop
versioning to force alignment. It happens when there is no misalignment support
at all (vect_no_align) or when other methods fail: loop peeling doesn't help
(!vector_alignment_reachable) and also there is no hardware misalignment
support (!vect_hw_misalign).
>From the dump you attached, I see that loop peeling was done, therefore,
vector_alignment_reachable is true, and it must not look for "Alignment of
access forced using versioning". But it does. This what makes me think that it
is just a syntax problem.
On the other hand, I don't understand the difference with -m32 and -m64. It
seems to me, that ([istarget *-*-darwin*] && [is-effective-target lp64]) is
false for -m32 and, possibly, true for -m64. But that contradicts the dump.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40359