From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24340 invoked by alias); 11 Mar 2011 10:16:48 -0000 Received: (qmail 24331 invoked by uid 22791); 11 Mar 2011 10:16:47 -0000 X-SWARE-Spam-Status: No, hits=-2.8 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; Fri, 11 Mar 2011 10:16:43 +0000 From: "vincenzo.innocente at cern dot ch" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/48052] loop not vectorized if index is "unsigned int" X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: vincenzo.innocente at cern dot ch X-Bugzilla-Status: NEW 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 Date: Fri, 11 Mar 2011 10:16:00 -0000 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-03/txt/msg01101.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48052 --- Comment #7 from vincenzo Innocente 2011-03-11 10:16:37 UTC --- what's the probablity to have this fixed? We depend on a third party matrix library that is fully templated and uses everywhere "unsigned int" I made a test with a sed -i 's/unsigned int/unsigned long long/g' and it MAKES a difference (up to a factor 2 in speed). This modification (although trivial) changes the type of templated vector and matrix, the signature of functions and also affects user code. It is neither transparent nor backward compatible. I think we cannot afford the change in production: much easier to change compiler version! Thanks for any effort dedicated to solve this issue, Vincenzo On 10 Mar, 2011, at 12:22 PM, paolo.carlini at oracle dot com wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48052 > > Paolo Carlini changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |paolo.carlini at oracle dot > | |com > > --- Comment #5 from Paolo Carlini 2011-03-10 11:22:26 UTC --- > Vincenzo, if I understand correctly, maybe Sebastian can also tell us more, the > issue seems that, at some stage, the logic is fully general only assuming the > widest unsigned type (*), doesn't cope with smaller types. Thus, if my theory > is correct, unsigned char, unsigned short, etc, all should cause problems. On > the other hand, on x86_64, unsigned long, unsigned long long, size_t, are all > the same size, and all work (**) > > (*) I don't consider int128, I don't think is relevant for loop optimization. > (**) On x86, however, unsigned int (aka unsigned long) appears to work, hum. > > -- > Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email > ------- You are receiving this mail because: ------- > You reported the bug. -- Il est bon de suivre sa pente, pourvu que ce soit en montant. A.G. http://www.flickr.com/photos/vin60/1320965757/