This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug testsuite/40359] [4.5 Regression] Revision 148211 caused a lot of failures in the vect test suite.



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]