From patchwork Sat Nov 5 06:30:19 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ralf Corsepius X-Patchwork-Id: 123824 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id CEAA1B71A0 for ; Sat, 5 Nov 2011 17:32:48 +1100 (EST) Received: (qmail 6657 invoked by alias); 5 Nov 2011 06:32:45 -0000 Received: (qmail 6647 invoked by uid 22791); 5 Nov 2011 06:32:44 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from mout6.freenet.de (HELO mout6.freenet.de) (195.4.92.96) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 05 Nov 2011 06:32:28 +0000 Received: from [195.4.92.140] (helo=mjail0.freenet.de) by mout6.freenet.de with esmtpa (ID ralf.corsepius@freenet.de) (port 25) (Exim 4.76 #5) id 1RMZnm-0002Yi-4Z; Sat, 05 Nov 2011 07:32:26 +0100 Received: from localhost ([::1]:57312 helo=mjail0.freenet.de) by mjail0.freenet.de with esmtpa (ID ralf.corsepius@freenet.de) (Exim 4.76 #1) id 1RMZnm-0006A0-0q; Sat, 05 Nov 2011 07:32:26 +0100 Received: from [195.4.92.12] (port=45305 helo=2.mx.freenet.de) by mjail0.freenet.de with esmtpa (ID ralf.corsepius@freenet.de) (Exim 4.76 #1) id 1RMZlm-0002si-LQ; Sat, 05 Nov 2011 07:30:22 +0100 Received: from hsi-kbw-109-193-024-246.hsi7.kabel-badenwuerttemberg.de ([109.193.24.246]:63413 helo=[192.168.1.104]) by 2.mx.freenet.de with esmtpsa (ID ralf.corsepius@freenet.de) (TLSv1:CAMELLIA256-SHA:256) (port 587) (Exim 4.76 #1) id 1RMZlm-0003Cv-H9; Sat, 05 Nov 2011 07:30:22 +0100 Message-ID: <4EB4D7FB.4000409@rtems.org> Date: Sat, 05 Nov 2011 07:30:19 +0100 From: Ralf Corsepius User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110928 Fedora/3.1.15-1.fc14 Thunderbird/3.1.15 MIME-Version: 1.0 To: "gcc-patches@gcc.gnu.org" CC: Joel Sherrill , Sebastian Huber , Peter Dufault Subject: [commited, rtems] Sync gcc/config/rs6000/*rtems* with RTEMS-gcc Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Hi, I have applied the 2 patches below to gcc-svn/trunk. They contain what RTEMS has been using for its powerpc target for some time. Ralf 2011-11-05 Ralf Corsépius * config/rs6000/t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib. Remove -mcpu=601 multilib. Remove -Dmpc8260 multilib. * config/rs6000/rtems.h: Allow --float-gprs=... to override grps on E500 targets. 2011-11-05 Peter Dufault , Sebastian Huber * config/rs6000/rtems.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Extend rs6000_spe handling. Index: config/rs6000/rtems.h =================================================================== --- config/rs6000/rtems.h (revision 181005) +++ config/rs6000/rtems.h (working copy) @@ -63,5 +63,9 @@ { \ if (TARGET_HARD_FLOAT && !rs6000_explicit_options.float_gprs) \ rs6000_float_gprs = 1; \ + if (rs6000_float_gprs != 0 && !rs6000_explicit_options.spe) \ + rs6000_spe = 1; \ + if (rs6000_spe && !rs6000_explicit_options.spe_abi) \ + rs6000_spe_abi = 1; \ } \ } while(0) Index: config/rs6000/rtems.h =================================================================== --- config/rs6000/rtems.h (revision 181004) +++ config/rs6000/rtems.h (working copy) @@ -49,8 +49,19 @@ %{mcpu=604: %{!Dppc*: %{!Dmpc*: -Dmpc604} } } \ %{mcpu=750: %{!Dppc*: %{!Dmpc*: -Dmpc750} } } \ %{mcpu=821: %{!Dppc*: %{!Dmpc*: -Dmpc821} } } \ -%{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } }" +%{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } } \ +%{mcpu=8540: %{!Dppc*: %{!Dmpc*: -Dppc8540} } }" #undef SUBSUBTARGET_EXTRA_SPECS #define SUBSUBTARGET_EXTRA_SPECS \ { "cpp_os_rtems", CPP_OS_RTEMS_SPEC } + +#undef SUBSUBTARGET_OVERRIDE_OPTIONS +#define SUBSUBTARGET_OVERRIDE_OPTIONS \ + do { \ + if (TARGET_E500) \ + { \ + if (TARGET_HARD_FLOAT && !rs6000_explicit_options.float_gprs) \ + rs6000_float_gprs = 1; \ + } \ + } while(0) Index: config/rs6000/t-rtems =================================================================== --- config/rs6000/t-rtems (revision 181004) +++ config/rs6000/t-rtems (working copy) @@ -19,14 +19,12 @@ # . MULTILIB_OPTIONS = \ -mcpu=403/mcpu=505/mcpu=601/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400 \ -Dmpc8260 \ -msoft-float +mcpu=403/mcpu=505/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400/mcpu=8540 \ +msoft-float/mfloat-gprs=double MULTILIB_DIRNAMES = \ -m403 m505 m601 m603e m604 m860 m7400 \ -mpc8260 \ -nof +m403 m505 m603e m604 m860 m7400 m8540 \ +nof gprsdouble # MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT} MULTILIB_MATCHES = @@ -47,6 +45,13 @@ # Map 750 to . MULTILIB_MATCHES += mcpu?750= +# Map 8548 to 8540 +MULTILIB_MATCHES += mcpu?8540=mcpu?8548 + +# Map -mcpu=8540 -mfloat-gprs=single to -mcpu=8540 +# (mfloat-gprs=single is implicit default) +MULTILIB_MATCHES += mcpu?8540=mcpu?8540/mfloat-gprs?single + # Soft-float only, default implies msoft-float # NOTE: Must match with MULTILIB_MATCHES_FLOAT and MULTILIB_MATCHES MULTILIB_SOFTFLOAT_ONLY = \ @@ -62,6 +67,16 @@ MULTILIB_HARDFLOAT_ONLY = \ *mcpu=505/*msoft-float* +# Targets which do not support gprs +MULTILIB_NOGPRS = \ +mfloat-gprs=* \ +*mcpu=403/*mfloat-gprs=* \ +*mcpu=505/*mfloat-gprs=* \ +*mcpu=603e/*mfloat-gprs=* \ +*mcpu=604/*mfloat-gprs=* \ +*mcpu=860/*mfloat-gprs=* \ +*mcpu=7400/*mfloat-gprs=* + MULTILIB_EXCEPTIONS = # Disallow -Dppc and -Dmpc without other options @@ -69,14 +84,5 @@ MULTILIB_EXCEPTIONS += \ ${MULTILIB_SOFTFLOAT_ONLY} \ -${MULTILIB_HARDFLOAT_ONLY} - -# Special rules -# Take out all variants we don't want -MULTILIB_EXCEPTIONS += *mcpu=403/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=505/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=601/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=604/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=750/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=860/Dmpc* -MULTILIB_EXCEPTIONS += *mcpu=7400/Dmpc* +${MULTILIB_HARDFLOAT_ONLY} \ +${MULTILIB_NOGPRS}