From patchwork Fri Jun 9 12:53:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Richard Earnshaw \(lists\)" X-Patchwork-Id: 103493 Delivered-To: patch@linaro.org Received: by 10.140.91.77 with SMTP id y71csp196046qgd; Fri, 9 Jun 2017 06:00:44 -0700 (PDT) X-Received: by 10.99.188.18 with SMTP id q18mr33662979pge.79.1497013244566; Fri, 09 Jun 2017 06:00:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1497013244; cv=none; d=google.com; s=arc-20160816; b=GbhPM74FFI2xBv/kobQBnbjckpxt8oKJ5zdojrr192mRUs6ESMOJcfao3OvG1WO8iq 2opbIQg6L5EgkhTKKADqudyZEOdb9OYGvAmKGc8bjK3vpfLi8KqgneYMuucbI4PhgeTs kA9BQXsRlatNWsNwYIEgrxUjCoQQ76vRCAxzYeJwOVxmadZSc2EY2UWSV4VYTIIcYWcu sq6nWwDDlw6osvmwzPS2h6nsX/xqIzH+Pmcr3QYCvky3SRNt9E7hdsIjlStaYB12TPTo kmkilAHWw+jCNulrsLfSHLrjQuUeusJ9Qc3dlziOUClAPSovqFvseY1PgAvaNTWXYNUc z6/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:references:in-reply-to:references:in-reply-to :message-id:date:subject:cc:to:from:delivered-to:sender:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence :mailing-list:dkim-signature:domainkey-signature :arc-authentication-results; bh=ZK1mk4LgbuzOTVAPLTJuEM7SgM/WiZfd8scntVWtmbs=; b=AYRBEtcWmU84eOHec4YzkNkunnd5iKj6uYIHUhmYr52LKkMUA44TnImqy0UjEKrJrd ng8/nS7QfB/NRavxL0g/SSBzBsWtw1RTGhLQIcU3lv0CJNUKn984YmWju6PbU19Zfjr/ c0lduoO5bhEx2ed0VlFiNmiRcDD4nTybkGku0t2E8X3AkZaHY7Lm5GDCQOyYoYI4CGLc m2IRlN17ucocJQLd5neDSx8gXaMPDhJjZitNmU46VddHaO5sSnwART/JJdUZeYnfGx0C 9aOm7LKvo+ykkEyTO1RDYisEw6Ay531Nz3ShOWh7N3zdDkSlPPDPS5gBZryQ6L86Zw9I 9TyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org; spf=pass (google.com: domain of gcc-patches-return-455537-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-455537-patch=linaro.org@gcc.gnu.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id v5si948854plk.12.2017.06.09.06.00.44 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Jun 2017 06:00:44 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-return-455537-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org; spf=pass (google.com: domain of gcc-patches-return-455537-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-455537-patch=linaro.org@gcc.gnu.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references:mime-version:content-type; q=dns; s= default; b=sqZlxB+jOP5cQ3M+Ta5ExqZQYqvWt+UkCAwGCEza8q1KcWx9Ie7hl o+xJDad7o/8sSXH+uyeWBbeJ6zu+vnt5W6+GP/XLqzj9+2VrZr/f+MHBSKnz2/Z2 Ag2HDPVLGHwqm2jbxY0fRq8s+Y+2zJpc4pmcvVwlhRd6KUu4M6lSs8= 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 :to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references:mime-version:content-type; s=default; bh=KxP86couE1wWKGMuDXQ65xDAT0E=; b=HaNM2UMKXmPXp1dObZfLfmyliI/D ED7XzG14LLr9qMRu+n7gjXXRg5jCBIy60iuZgp4G2+/3l7KH2Z6HhjdJM1sT5Rkf Tk4LH+vzf0bttoG1ijn+xG10N49r4MK8LSiWAI2UutdS/3SibrBoMHvWHeYbYc/P UrkQfzfJNXfoA2Q= Received: (qmail 97480 invoked by alias); 9 Jun 2017 12:54:56 -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 86295 invoked by uid 89); 9 Jun 2017 12:54:38 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_SOFTFAIL autolearn=ham version=3.3.2 spammy= X-HELO: eggs.gnu.org Received: from eggs.gnu.org (HELO eggs.gnu.org) (208.118.235.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 09 Jun 2017 12:54:35 +0000 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dJJQs-0007jR-DT for gcc-patches@gcc.gnu.org; Fri, 09 Jun 2017 08:54:31 -0400 Received: from foss.arm.com ([217.140.101.70]:47128) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dJJQs-0007Te-3v for gcc-patches@gcc.gnu.org; Fri, 09 Jun 2017 08:54:30 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CAD032B; Fri, 9 Jun 2017 05:54:29 -0700 (PDT) Received: from e105689-lin.cambridge.arm.com (e105689-lin.cambridge.arm.com [10.2.207.32]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 58AE53F3E1; Fri, 9 Jun 2017 05:54:29 -0700 (PDT) From: Richard Earnshaw To: gcc-patches@gcc.gnu.org Cc: Richard Earnshaw Subject: [PATCH 28/30] [arm] Add a few missing architecture extension options. Date: Fri, 9 Jun 2017 13:53:57 +0100 Message-Id: <01975565dd108d24c024c0e0fe042e3682b3ba95.1497004220.git.Richard.Earnshaw@arm.com> In-Reply-To: References: In-Reply-To: References: MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.140.101.70 Reviewing the list of options for the purposes of writing the documentation revealed that a small number of options were missing. Mostly these are aliases for existing options, but in a couple of cases we lacked the ability to disable certain other options. * config/arm/arm-cpus.in (armv7): Add extension +nofp. (armv7-r): Add aliases vfpv3xd and vfpv3-d16. (armv8-m.main): Add option +nodsp. * config/arm/arm-cpu-cdata.h: Regenerated. --- gcc/config/arm/arm-cpu-cdata.h | 24 ++++++++++++++++++++++++ gcc/config/arm/arm-cpus.in | 6 ++++++ 2 files changed, 30 insertions(+) diff --git a/gcc/config/arm/arm-cpu-cdata.h b/gcc/config/arm/arm-cpu-cdata.h index ddfb05c..6cc2ea2 100644 --- a/gcc/config/arm/arm-cpu-cdata.h +++ b/gcc/config/arm/arm-cpu-cdata.h @@ -1856,6 +1856,10 @@ static const struct cpu_arch_extension arch_opttab_armv7[] = { { ISA_VFPv3,ISA_FP_DBL, isa_nobit } }, { + "nofp", true, false, + { ISA_ALL_FP, isa_nobit } + }, + { "vfpv3-d16", false, true, { ISA_VFPv3,ISA_FP_DBL, isa_nobit } }, @@ -2003,6 +2007,14 @@ static const struct cpu_arch_extension arch_opttab_armv7_r[] = { "noidiv", true, false, { isa_bit_adiv, isa_nobit } }, + { + "vfpv3xd", false, true, + { ISA_VFPv3, isa_nobit } + }, + { + "vfpv3-d16", false, true, + { ISA_VFPv3,ISA_FP_DBL, isa_nobit } + }, { NULL, false, false, {isa_nobit}} }; @@ -2023,6 +2035,14 @@ static const struct cpu_arch_extension arch_opttab_armv7e_m[] = { "nofp", true, false, { ISA_ALL_FP, isa_nobit } }, + { + "vfpv4-sp-d16", false, true, + { ISA_VFPv4, isa_nobit } + }, + { + "fpv5-d16", false, true, + { ISA_FPv5,ISA_FP_DBL, isa_nobit } + }, { NULL, false, false, {isa_nobit}} }; @@ -2111,6 +2131,10 @@ static const struct cpu_arch_extension arch_opttab_armv8_m_main[] = { "nofp", true, false, { ISA_ALL_FP, isa_nobit } }, + { + "nodsp", true, false, + { isa_bit_ARMv7em, isa_nobit } + }, { NULL, false, false, {isa_nobit}} }; diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in index 739de45..b0c0eae 100644 --- a/gcc/config/arm/arm-cpus.in +++ b/gcc/config/arm/arm-cpus.in @@ -228,6 +228,7 @@ begin arch armv7 # fp => VFPv3-d16 (only useful for the A+R profile subset). option fp add VFPv3 FP_DBL optalias vfpv3-d16 fp + option nofp remove ALL_FP end arch armv7 begin arch armv7-a @@ -281,7 +282,9 @@ begin arch armv7-r isa ARMv7r # ARMv7-r uses VFPv3-d16 option fp.sp add VFPv3 + optalias vfpv3xd fp.sp option fp add VFPv3 FP_DBL + optalias vfpv3-d16 fp option idiv add bit_adiv option nofp remove ALL_FP option noidiv remove bit_adiv @@ -303,8 +306,10 @@ begin arch armv7e-m isa ARMv7em # fp => VFPv4-sp-d16; fpv5 => FPv5-sp-d16; fp.dp => FPv5-d16 option fp add VFPv4 + optalias vfpv4-sp-d16 fp option fpv5 add FPv5 option fp.dp add FPv5 FP_DBL + optalias fpv5-d16 fp.dp option nofp remove ALL_FP end arch armv7e-m @@ -359,6 +364,7 @@ begin arch armv8-m.main option fp add FPv5 option fp.dp add FPv5 FP_DBL option nofp remove ALL_FP + option nodsp remove bit_ARMv7em end arch armv8-m.main begin arch iwmmxt