From patchwork Wed Aug 7 22:24:33 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Ellcey X-Patchwork-Id: 265614 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]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "localhost", Issuer "www.qmailtoaster.com" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 5F2322C0097 for ; Thu, 8 Aug 2013 08:26:00 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :date:to:subject:mime-version:content-type :content-transfer-encoding:message-id; q=dns; s=default; b=sDdft VBb42bi9vLvkQDqhqCk7GD9ReCqUR6FBykerCRkpPdRNJ9enKqkZ7heMh355W3E4 l83RD2KdBX2lV3ZeZP5/ktwaPfZDFR6/R2mTsGCKvyjiEfWqi2E5KbvfKimEyG3k qkruPYrOysS4lVcgM9264qoUsSYBBhRUVeEdhY= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :date:to:subject:mime-version:content-type :content-transfer-encoding:message-id; s=default; bh=JeFslIDIxP/ kB/fvEicAFyZWnlo=; b=a2//SiZIInIBHVdLiOk1nqBsNo6ROGhuexhtzgbBDYP cijiD3z7n2Rvu2gm3rXHL/nhktTM5nl7A+KfUn/xnFqAKJBZOKskxn3fxIIxj+lH w47XG4clK6x+RNkcroPj06Y0dmZL13WrFlz6I40ehlouAjJuFkl+KjeUUR3WKOqI = Received: (qmail 4975 invoked by alias); 7 Aug 2013 22:25:53 -0000 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 Received: (qmail 4956 invoked by uid 89); 7 Aug 2013 22:25:53 -0000 X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL, BAYES_00, RDNS_NONE autolearn=no version=3.3.1 Received: from Unknown (HELO multi.imgtec.com) (194.200.65.239) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Wed, 07 Aug 2013 22:25:52 +0000 From: "Steve Ellcey " Date: Wed, 7 Aug 2013 15:24:33 -0700 To: , Subject: [patch, mips] Add nan2008 multilibs to mips-mti-* targets. User-Agent: Heirloom mailx 12.4 7/29/08 MIME-Version: 1.0 Message-ID: <8e7346c2-89be-4adf-bc79-e48cb3296499@BAMAIL02.ba.imgtec.org> X-SEF-Processed: 7_3_0_01192__2013_08_07_23_25_45 I would like to add new variations to the mips-mti-elf and mips-mti-linux targets to support the new NaN format on MIPS (mnan=2008 for IEEE 754-2008). While I was doing this I noticed that I was handling mips16 and micromips in a dumb manner. I had them in MULTILIB_OPTIONS as non-exclusive flags and then used MULTILIB_EXCEPTIONS to not allow them to both be used. So I also changed MULTILIB_OPTIONS to make mips16 and micromips exclusive and then I could get rid of one of the MULTILIB_EXCEPTIONS entries. I also make the new mnan=2008 flag exclusive of msoft-float since it is only useful for hard-float. OK to checkin? Steve Ellcey sellcey@mips.com 2013-08-07 Steve Ellcey * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add nan2008. * config/mips/t-mti-elf (MULTILIB_OPTIONS): Make mips16 and micromips incompatible. Add nan2008. (MULTILIB_DIRNAMES): Add nan2008. (MULTILIB_EXCEPTIONS): Remove mips16/micromips entry. * config/mips/t-mti-linux (MULTILIB_OPTIONS): Make mips16 and micromips incompatible. Add nan2008. (MULTILIB_DIRNAMES): Add nan2008. (MULTILIB_EXCEPTIONS): Remove mips16/micromips entry. diff --git a/gcc/config/mips/mti-linux.h b/gcc/config/mips/mti-linux.h index 45bc0b8..96dcac4 100644 --- a/gcc/config/mips/mti-linux.h +++ b/gcc/config/mips/mti-linux.h @@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see /* This target is a multilib target, specify the sysroot paths. */ #undef SYSROOT_SUFFIX_SPEC #define SYSROOT_SUFFIX_SPEC \ - "%{mips32:/mips32}%{mips64:/mips64}%{mips64r2:/mips64r2}%{mips16:/mips16}%{mmicromips:/micromips}%{mabi=64:/64}%{mel|EL:/el}%{msoft-float:/sof}" + "%{mips32:/mips32}%{mips64:/mips64}%{mips64r2:/mips64r2}%{mips16:/mips16}%{mmicromips:/micromips}%{mabi=64:/64}%{mel|EL:/el}%{msoft-float:/sof}%{mnan=2008:/nan2008}" #undef DRIVER_SELF_SPECS #define DRIVER_SELF_SPECS \ diff --git a/gcc/config/mips/t-mti-elf b/gcc/config/mips/t-mti-elf index bce8f06..4aec70c 100644 --- a/gcc/config/mips/t-mti-elf +++ b/gcc/config/mips/t-mti-elf @@ -19,8 +19,8 @@ # The default build is mips32r2, hard-float big-endian. Add mips32, # soft-float, and little-endian variations. -MULTILIB_OPTIONS = mips32/mips64/mips64r2 mips16 mmicromips mabi=64 EL msoft-float -MULTILIB_DIRNAMES = mips32 mips64 mips64r2 mips16 micromips 64 el sof +MULTILIB_OPTIONS = mips32/mips64/mips64r2 mips16/mmicromips mabi=64 EL msoft-float/mnan=2008 +MULTILIB_DIRNAMES = mips32 mips64 mips64r2 mips16 micromips 64 el sof nan2008 MULTILIB_MATCHES = EL=mel EB=meb # The 64 bit ABI is not supported on the mips32 architecture. @@ -36,9 +36,7 @@ MULTILIB_EXCEPTIONS += mabi=64* MULTILIB_EXCEPTIONS += *mips64*/*mips16* MULTILIB_EXCEPTIONS += *mips16/mabi=64* -# We only want micromips for mips32r2 architecture and we do not want -# it used in conjunction with -mips16. -MULTILIB_EXCEPTIONS += *mips16/mmicromips* +# We only want micromips for mips32r2 architecture. MULTILIB_EXCEPTIONS += *mips64*/mmicromips* MULTILIB_EXCEPTIONS += *mips32/mmicromips* MULTILIB_EXCEPTIONS += *mmicromips/mabi=64* diff --git a/gcc/config/mips/t-mti-linux b/gcc/config/mips/t-mti-linux index bce8f06..4aec70c 100644 --- a/gcc/config/mips/t-mti-linux +++ b/gcc/config/mips/t-mti-linux @@ -19,8 +19,8 @@ # The default build is mips32r2, hard-float big-endian. Add mips32, # soft-float, and little-endian variations. -MULTILIB_OPTIONS = mips32/mips64/mips64r2 mips16 mmicromips mabi=64 EL msoft-float -MULTILIB_DIRNAMES = mips32 mips64 mips64r2 mips16 micromips 64 el sof +MULTILIB_OPTIONS = mips32/mips64/mips64r2 mips16/mmicromips mabi=64 EL msoft-float/mnan=2008 +MULTILIB_DIRNAMES = mips32 mips64 mips64r2 mips16 micromips 64 el sof nan2008 MULTILIB_MATCHES = EL=mel EB=meb # The 64 bit ABI is not supported on the mips32 architecture. @@ -36,9 +36,7 @@ MULTILIB_EXCEPTIONS += mabi=64* MULTILIB_EXCEPTIONS += *mips64*/*mips16* MULTILIB_EXCEPTIONS += *mips16/mabi=64* -# We only want micromips for mips32r2 architecture and we do not want -# it used in conjunction with -mips16. -MULTILIB_EXCEPTIONS += *mips16/mmicromips* +# We only want micromips for mips32r2 architecture. MULTILIB_EXCEPTIONS += *mips64*/mmicromips* MULTILIB_EXCEPTIONS += *mips32/mmicromips* MULTILIB_EXCEPTIONS += *mmicromips/mabi=64*