From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31380 invoked by alias); 8 Jun 2010 04:24:22 -0000 Received: (qmail 31327 invoked by uid 48); 8 Jun 2010 04:24:11 -0000 Date: Tue, 08 Jun 2010 04:24:00 -0000 Message-ID: <20100608042411.31326.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/44364] Wrong code with e500 double floating point In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "Kyle dot D dot Moffett at boeing dot com" 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: 2010-06/txt/msg00829.txt.bz2 ------- Comment #31 from Kyle dot D dot Moffett at boeing dot com 2010-06-08 04:24 ------- Alan, Now that I've corrected all of my compiler issues, your first patch (the one quoted below) works like a charm. I still need to do the extensive archive-rebuild and testsuite run to verify that it completely works, but that will take a couple days. Looking good! Cheers, Kyle Moffett (In reply to comment #28) > /* When setting up caller-save slots (MODE == VOIDmode) ensure we > allocate space for DFmode. Save gprs in the correct mode too. */ > #define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \ > (TARGET_E500_DOUBLE && ((MODE) == VOIDmode || (MODE) == DFmode) \ > ? DFmode \ > : choose_hard_reg_mode ((REGNO), (NREGS), false)) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44364