From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26248 invoked by alias); 25 Aug 2012 05:00:35 -0000 Received: (qmail 26234 invoked by uid 22791); 25 Aug 2012 05:00:33 -0000 X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,KHOP_THREADED 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; Sat, 25 Aug 2012 05:00:21 +0000 From: "pinskia at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/54371] [4.8 Regression] jump tables are broken on n64 mips64-linux-gnu Date: Sat, 25 Aug 2012 05:00:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: pinskia at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: Summary 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: 2012-08/txt/msg01705.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54371 Andrew Pinski changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[4.8 Regression] a lot of |[4.8 Regression] jump |testcase failures on |tables are broken on n64 |mips64-linux-gnu |mips64-linux-gnu |(soft-float) n64 only | --- Comment #2 from Andrew Pinski 2012-08-25 05:00:18 UTC --- It is obvious what is wrong from the assembly differences of testsuite/gcc.c-torture/execute/ashldi-1.c : --- old.s 2012-08-25 04:57:12.000000000 +0000 +++ new.s 2012-08-25 04:57:24.000000000 +0000 @@ -131,17 +131,17 @@ constant_shift: nop lwu $2,8($fp) - dsll $3,$2,3 + dsll $3,$2,2 ld $2,%got_page(.L69)($28) daddiu $2,$2,%got_ofst(.L69) daddu $2,$3,$2 - ld $2,0($2) + lw $2,0($2) daddu $2,$2,$28 j $2 nop .rdata - .align 3 + .align 2 .align 2 .L69: .gpdword .L72 ---- CUT ---- We went from loading a 64bit word (correct) to loading only a 32bit word incorrect. This is for a jump table.