From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 659 invoked by alias); 18 Dec 2009 23:02:54 -0000 Received: (qmail 29780 invoked by uid 48); 18 Dec 2009 23:02:39 -0000 Date: Fri, 18 Dec 2009 23:02:00 -0000 Subject: [Bug target/42431] New: wrong code for 200.sixtrack with vectorization and -fdata-sections X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "janis at gcc dot gnu dot org" 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: 2009-12/txt/msg01886.txt.bz2 When compiled with current trunk and options "-m64 -O2 -ftree-vectorize -maltivec -fdata-sections", CPU2000 test 200.sixtrack gets wrong results and segfaults before finishing. I've reproduced the failure on POWER6 and POWER7 hardware. The source file that is miscompiled is midbloc6.f. If I add this line: if (icount1.eq.187) write (*,*) ' howdy' to any two of the DO loops associated with labels 20, 40, 50, 110, 200, 210, 220, 260, and 280 then the test runs to completion and gets the expected output. The test passes with these options with GCC 4.4.0. I don't currently have a reg hunt setup on a machine with AltiVec but can do that it if would be useful. -- Summary: wrong code for 200.sixtrack with vectorization and - fdata-sections Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: janis at gcc dot gnu dot org GCC target triplet: powerpc64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42431