From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12588 invoked by alias); 13 Nov 2012 08:45:00 -0000 Received: (qmail 12508 invoked by uid 48); 13 Nov 2012 08:44:44 -0000 From: "olegendo at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/54429] [SH] SImode values get ferried through FPUL and FP regs for -O0 Date: Tue, 13 Nov 2012 08:45:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: olegendo at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: olegendo 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: 2012-11/txt/msg01124.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54429 --- Comment #3 from Oleg Endo 2012-11-13 08:44:43 UTC --- I've tested this: Index: gcc/config/sh/sh.c =================================================================== --- gcc/config/sh/sh.c (revision 193423) +++ gcc/config/sh/sh.c (working copy) @@ -12113,6 +12113,11 @@ if (FP_REGISTER_P (regno) && mode == SFmode) return true; + if (FP_REGISTER_P (regno) + && !(GET_MODE_CLASS (mode) == MODE_FLOAT + || GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT)) + return false; + if (mode == V2SFmode) { if (((FP_REGISTER_P (regno) && (regno - FIRST_FP_REG) % 2 == 0) on rev 193423. There are a few failures on targets with HW FPU: FAIL: gcc.c-torture/execute/20080502-1.c compilation FAIL: gcc.c-torture/execute/ieee/copysign1.c compilation FAIL: gcc.dg/builtins-32.c (internal compiler error) FAIL: gcc.dg/builtins-50.c (internal compiler error) FAIL: gcc.dg/pr48335-7.c (internal compiler error) I'll check out the details.