From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1227 invoked by alias); 28 Dec 2011 13:02:33 -0000 Received: (qmail 1218 invoked by uid 22791); 28 Dec 2011 13:02:32 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 28 Dec 2011 13:02:20 +0000 From: "michael.v.zolotukhin at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug testsuite/51693] New XPASSes in vectorizer testsuite on powerpc64-suse-linux Date: Wed, 28 Dec 2011 13:12:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: testsuite X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: michael.v.zolotukhin at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2011-12/txt/msg02702.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51693 --- Comment #4 from Michael Zolotukhin 2011-12-28 13:01:51 UTC --- (In reply to comment #2) > > I though that if {vect_aligned_arrays} isn't true, than arrays could > > be aligned even after peeling - that's why I added such check. > > Sorry, I don't understand this sentence. What do you mean by aligned after > peeling? Could you please explain what exactly happens on AVX (a dump file with > -fdump-tree-vect-details would be the best thing). Sorry, I misspelled. I meant "than arrays couldn't be aligned" - at least without some runtime checks. I.e. we can't peel some compile-time-known number of iterations and be sure that array become aligned. E.g., if we have array IA of ints aligned to 16-bytes, and we have access IA[i+3], then peeling of one iteration will guarantee alignment to 16-byte. But we don't know, how much iterations needs to be peeled to reach alignment to 32-bytes (as needed for AVX operations). > > Unfortunately, I can't reproduce these fails, as I have no PowerPC. By > > the way, if arrays aren't aligned on Power, why does GCC produce such > > messages - does it really try to peel something? > > The arrays in the tests are aligned. I said that I think that we can't promise > that all the arrays are vector aligned on power. BTW, we can peel for unknown > misalignment as well. In this case we shouldn't add Power to vector_aligned_arrays, I guess. > > Maybe we should just > > refine the check? > > Anyway, if everything is ok with the tests (in original version) and > > with gcc itself - we could check not for vect_aligned_arrays, but for > > AVX. Please check > > http://gcc.gnu.org/ml/gcc-patches/2011-12/msg01600.html and the > > attached to that letter patch. > > I think that everything was ok, but I don't think that using vect_sizes_32B_16B > is a good idea. I would really like to see an AVX vect dump for eg. > vect-peel-3.c. In vect-peel-3.c we actually assume that vector length is 16 byte. Here is the loop body: suma += ia[i]; sumb += ib[i+5]; sumc += ic[i+1]; When vector-size is 16, then peeling can make two of three accesses aligned, but when vector size is 32 that's impossible. That's why using vector_sizes_32B_16B might be correct here. Also, I uploaded the dump you asked. Michael > Thanks, > Ira >