From patchwork Fri Sep 1 13:19:16 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 808677 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-461288-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="q50c1fH6"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xkKb62MrDz9s8J for ; Fri, 1 Sep 2017 23:19:29 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:mime-version:content-type; q=dns; s=default; b=P1aYkx3RfxiB5WcdJaGunUjBsHW1Eatyp/646VrYseczKo82xB GVuP9l7pu4JylLUK9+noPAk8Q372EzH5trirQ8u8Qz4x8Bm5qV/mVw+ar/h/Dehe 9Uyg9jlH85IXS9SUZMuQlhbNAFGE/OnPjU97sfpBVDHzp1Ocb2I0pzinc= 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:date :from:to:cc:subject:message-id:mime-version:content-type; s= default; bh=WabbxVkFh46gHmLmVUv/JKjgFc0=; b=q50c1fH6rUyROteOBf4G uEoaRKOYpZLV8aqxvKAIlEEnhq+gYCld7KZ8BibPRSi/7XbkM/5uKcoMwpLIDE1W rIJZZlPbULVT9H5jyyBdtVgmTvZw7pqPbbExBKJkKU43Xikp/47DpMyHMEazDmnM e5cT9FW12zXVE4jEUShMIr0= Received: (qmail 49850 invoked by alias); 1 Sep 2017 13:19:22 -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 49786 invoked by uid 89); 1 Sep 2017 13:19:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=onwards, 3576 X-HELO: EUR01-VE1-obe.outbound.protection.outlook.com Received: from mail-ve1eur01on0046.outbound.protection.outlook.com (HELO EUR01-VE1-obe.outbound.protection.outlook.com) (104.47.1.46) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 01 Sep 2017 13:19:18 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Tamar.Christina@arm.com; Received: from arm.com (217.140.96.140) by AM4PR0802MB2308.eurprd08.prod.outlook.com (2603:10a6:200:5f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Fri, 1 Sep 2017 13:19:14 +0000 Date: Fri, 1 Sep 2017 14:19:16 +0100 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, Ramana.Radhakrishnan@arm.com, Richard.Earnshaw@arm.com, nickc@redhat.com, Kyrylo.Tkachov@arm.com Subject: [PATCH][GCC][ARM] Dot Product commandline options [Patch (1/8)] Message-ID: <20170901131912.GA31822@arm.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.24 (2015-08-30) X-ClientProxiedBy: VI1P194CA0018.EURP194.PROD.OUTLOOK.COM (2603:10a6:800:be::28) To AM4PR0802MB2308.eurprd08.prod.outlook.com (2603:10a6:200:5f::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d65afbdd-a646-4f80-5a1a-08d4f13c0b1c X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(49563074)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AM4PR0802MB2308; X-Microsoft-Exchange-Diagnostics: 1; AM4PR0802MB2308; 3:YvsurE/7e86SZnK3tl2WFYhoqRyKNHIigq7ihi29iYTY1bo2EXehqby2+mwHtj1KmnX1F827Z/74iBVp8U0xBDWABLuMVJoR36xLf0lyohL0ADOMM0XJiXW+YS+kuzwFqfauGbZ2Xp64qFglGs6Cfavl/wyQ0VigIaM59Im6hd7uHsviyMBQIEoEcM8+YZIpgvTuJyh5Gw50pIf4wAmXI9s96CP+2LSDbFxZFu6mLaj7UBBA4ycmqnBtU4UXYfh7; 25:hxSNISv5TvdQFN4XpJkcCG+khD8V5T7jPW/mDG0WcHpn1jwjoljZRyxRM4EVw6RvOtBvVksw7uiVMB77JrDS4E51IHGOUGhJEyGUCNH5vhlEjOmenJfwbxc9xPF9MYxcNh/jdDnVNrTLZDwMOQxbMDs/6HCr035Bhhz/bEWj+dGeHI8R/zT0BGtXWbu3idrjVsPE4kuuPtmwDLKF6avK7m3oumnP5XW4IYijUpAEqbU2mum8UNd7sfydbmRXqDBCBfX6JV2GMMJvruAOYPDGfV/aerQ15Ev3PVRhZRhtth82AZHivjAv+69P43QpU/CT31ZRoQDgpXhNy7a2IZ+MfA==; 31:HHkKlZ2UtDgffdWPQkj5+DAQ3RE/WqAZ3bwELAH280/mJtcf/PgZTolUhN3vDj44buB6bqvjqXYNirCgyCay6Bk3LO6kZlJkJHr+6XSTD6XVbYyIhQRR0/MaR+Bp4eDVq6Ojg6YNj7jSa7pf3OAEgfDeg0goj5JehcJeO6W7vmUihak3V6CStIuE4h8pCO2IkpjM/1cR+IbJ89MCUqSlRNhZYcl7kZ947MxhJN2tLhQ= X-MS-TrafficTypeDiagnostic: AM4PR0802MB2308: X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1; AM4PR0802MB2308; 20:MLt1UgAJXUIONznv+qfTajYVKkGxSgJC26fU0Q9RX+ZYm9rvs4nXGaXxOuFmZ2TWSzAJIJrt74L0K19NRjbgOyEEPJ0kg6uIl4OQE9yZPU9omoZWeTQ/H/nX0aRpbwL4cEyjuye8P9qhVvFxF+l7QIFXWHlbCuqiI2euMZ2sTlc=; 4:q/17PrHiTuVyPKGnIyShYpqPjKf5ALxuspX6nLEYZgL0nKoxsg8cBjHWaYhadNZyd/AdNGzFROi5l76rRWowL23kUjFgpkF/hU9QZlsJz/0VH6WSzqDzFBH6Ae73bhHVnNQBdzby1Y6pQKrPdQIcf3JoAQNHduGfp3QQFLLmk8QIxna0/XYxc9vKOUbC1xxyNqwkJkB5YvmKyFnAh7WR/xqrugq0ojyaeDpZ6XCfbBZxGxK6sCN6MtrlJONTPfWwi/dGkab66KIf8GNif7O0b3us/+STUd9Hu3gY7MfaQ2E= X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(102415395)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM4PR0802MB2308; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM4PR0802MB2308; X-Forefront-PRVS: 0417A3FFD2 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(39860400002)(199003)(189002)(377424004)(53754006)(21086003)(2906002)(568964002)(7350300001)(3846002)(6116002)(66066001)(305945005)(25786009)(7736002)(4326008)(36756003)(1076002)(478600001)(6916009)(5000100001)(4001350100001)(97736004)(4610100001)(81166006)(84326002)(33656002)(5660300001)(2476003)(83506001)(81156014)(8676002)(2351001)(54356999)(105586002)(50986999)(68736007)(2361001)(110136004)(101416001)(53936002)(106356001)(42186005)(72206003)(55016002)(86362001)(5890100001)(189998001)(18370500001)(2700100001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR0802MB2308; H:arm.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; AM4PR0802MB2308; 23:Nhf6UqyCKRnR1+XAoBRasxaew83yORqBbegykr+a4uH0uqg023nqtB9D+ZMFN6R2rll755+4zjUy5XzCgZZOxRPHjxUU2VmikUIG2yNAIhgtSvKAvako6dHA3Qbt72ByC8rbvVEL7hMjxXxaSr5zQY3VyxiwJD1xHu//QVN8/4rYEARr62xVjY7r0r5FjrCLhMgzS7QlkIpPByRSofEy/IolAttcEUaiqKasH32/0G/k/gbGbKsOtT0Hi+GdxqQpO02vc7k4xiqdjkvinBqSFYEitOln/iMbb3wtRKfTFenm+dNOws+sFQU6Q3NlVEdUTdKbZl/fd5HlUDtcg1XBe2YwZLl0te0GWOhXN5+Sp0GaYCYA0wG2ZJ2w7tLohfw4S1uOFFmcOcR+jYSYCEDV7yxTtPmBhd0qHje8T3OANZrtN82gv6K0NJQekuIpDsoi2dHZsITERNt/2WFtHAIXVb0gju+4ew7yVVQTyoxca++j8wUPu9AXNlTXQp+5Z/qBnpWx3mw4LpZZ/bT6K8MEiAra8pCZJaXABTfUc+1iv+AdNOz/ZVgDP4bTb13qj2ngDSd6CPHzqS2wYZXqStg4FerEGUDxvJdqEpHbhBiL3qqGhiI1jkhnH//bNAm9Tnvswl0rs/G8f5BaUXMEBQ5dqOI1RCfj50hKlKA4AjKVIKK2J6x7kRpi0XkMqznt9w8kPQ65nTZTYpMW/T3hd986SFQXCgx8vjojx3Pgrb+/rvxLy7wdqC61rQiHAEg9SoOW6y6ubDpD3+crJJj83s1Ft+p1z1F/9nAQhi7fWN8MnUCE6jiQUwAETcgB75HWJs0H+/ERQj5Fv+11JJrHulHzVXDSKhIKoWMMliPLYsA8jhzGxtZuDjxFo6TVz8lVafl2HbHZJVOvedJ8FsfW5LzfWnh7lbBBGDzncqtN+3cVpuP1MRTru56/5OBK4AE+ykWcRlsWSRhrbciBHPknjNwykwbAdamHuzChQqlY+h2xFeuPCF1NS/fZub9aR2/xOkhReJAUdEqW4YgUoXPalWiX754lFcJv/lws7QNgAZmf6NbzXlEzb/GYkxPTIPx/ZhUZmDMNpm2+637jWnzl74+lSOYpG01DrSW8IsuqdvcPKse7cQoI3qy/H9MFxUnJMRJt5Nlmcoy4HyTj9LplrYlUdiBvxWpLQM7y0o5XL1wXn91lx4Vd/uXfUSTj8RF8CHlvjJeoMDkAVLN0sGl2XT4cfsBjEdXBNgxhijUUhpBaEKIYJlNzPhbArk2qm4zvPEZNrFLbhTorgNh6kMqtXVEMEpcge7ps77Fw72gpDs7dGP8= X-Microsoft-Exchange-Diagnostics: 1; AM4PR0802MB2308; 6:Qu+XGiAOoU3lmeT6zQTJnF+rIPAS2DMbh/AxQ+caijXIXHpbXv0RnJG8Ee5TdgPgyVQma4cPqT/6xdzDkvOf4R3ovftwvu5sRkF9YYzoK4r8bZzk8wFhZDYriAHplTJLYIM+B55BqXLwY495eh9MEAz5nAYgmWgj8i2zsD9ePA7yz5ZFhtAh6FRunTstg7WkDDzWwXyAkz6arOVdQtZzRgbsXre0TWa2vmAlDlbSAT3ZQqbjaUfaKUniieYkmjxTYJIkjH0HqDoyABnEzYs5dveK2OoM2yUHuH1oNVBb6GrlrO0cJEu6nHHHsC6zRe3t7JfIh7aqd3WwIpX87SOdrA==; 5:yIAd1HTI12Mg6jn4YfRDSVBpxcc2uwKfh6Tecg8fVxvgQh6mNdoYgNlKusU18wKDS+yjGB7GaftUz43IAmbPcLQVPT+NlhkT9MDvUd+ILgC+4kiy8uhABtR7ANldxmadRdgvytWQqg4Y7qPKyovPQA==; 24:bcjxVEi4VPzuIJrDFzRDcf9SaXlQQRDxMabaRROm90VvsY1qNXaSTGZUSgxMa/Xv1P+y7OV089JwaTBTjyZCvxw50geP7r+VXtBSRSq8mu8=; 7:y7j8ss1ua3ClHynOYAApQnwSlKBg5mXUScG2w7kMEXnKEiVCzgZvhlw6I3xiZysE7g4PIk4bZztW/kPsX34RuJDIBsXD3ijqlC6IDyfiNAFiKL3J4SXJov2IdL64+VjUHFwM38Bx2/aCPTlrpZneqXOsrKMJ7HN9gP/q8VoKMeLRJ0ifvKM2BYcYgfaJQxGEnMTznnK4YUjLLeQhdZiSdh/pNUlUDhIbRrbDnPCvUng= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2017 13:19:14.7821 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2308 X-IsSubscribed: yes Hi All, This patch adds support for the +dotprod extension to ARM. Dot Product requires Adv.SIMD to work and so enables this option by default when enabled. It is available from ARMv8.2-a and onwards and is enabled by default on Cortex-A55 and Cortex-A75. Regtested and bootstrapped on arm-none-eabi and no issues. Ok for trunk? gcc/ 2017-09-01 Tamar Christina * config/arm/arm.h (TARGET_DOTPROD): New. * config/arm/arm.c (arm_arch_dotprod): New. (arm_option_reconfigure_globals): Add arm_arch_dotprod. * config/arm/arm-c.c (__ARM_FEATURE_DOTPROD): New. * config/arm/arm-cpus.in (cortex-a55, cortex-75): Enabled +dotprod. (armv8.2-a, cortex-a75.cortex-a55): Likewise. * config/arm/arm-isa.h (isa_bit_dotprod, ISA_DOTPROD): New. * config/arm/t-multilib (v8_2_a_simd_variants): Add dotprod. * doc/invoke.texi (armv8.2-a): Document dotprod diff --git a/gcc/config/arm/arm-c.c b/gcc/config/arm/arm-c.c index 55472434c3a6e90c5693bbaabd3265f7d968787f..295f03bf8ee02be7c89ed2967d283be206e9f25a 100644 --- a/gcc/config/arm/arm-c.c +++ b/gcc/config/arm/arm-c.c @@ -73,6 +73,7 @@ arm_cpu_builtins (struct cpp_reader* pfile) def_or_undef_macro (pfile, "__ARM_FEATURE_QRDMX", TARGET_NEON_RDMA); def_or_undef_macro (pfile, "__ARM_FEATURE_CRC32", TARGET_CRC32); + def_or_undef_macro (pfile, "__ARM_FEATURE_DOTPROD", TARGET_DOTPROD); def_or_undef_macro (pfile, "__ARM_32BIT_STATE", TARGET_32BIT); cpp_undef (pfile, "__ARM_FEATURE_CMSE"); diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in index d009a9e18acb093aefe0f9d8d6de49489fc2325c..7707eec5edf36b0cb4339bc52bc45a92b6ea007f 100644 --- a/gcc/config/arm/arm-cpus.in +++ b/gcc/config/arm/arm-cpus.in @@ -357,6 +357,7 @@ begin arch armv8.2-a option crypto add FP_ARMv8 CRYPTO option nocrypto remove ALL_CRYPTO option nofp remove ALL_FP + option dotprod add FP_ARMv8 DOTPROD end arch armv8.2-a begin arch armv8-m.base @@ -1269,9 +1270,10 @@ begin cpu cortex-a55 cname cortexa55 tune for cortex-a53 tune flags LDSCHED - architecture armv8.2-a+fp16 + architecture armv8.2-a+fp16+dotprod fpu neon-fp-armv8 option crypto add FP_ARMv8 CRYPTO + option dotprod add FP_ARMv8 DOTPROD option nofp remove ALL_FP costs cortex_a53 end cpu cortex-a55 @@ -1280,9 +1282,10 @@ begin cpu cortex-a75 cname cortexa75 tune for cortex-a57 tune flags LDSCHED - architecture armv8.2-a+fp16 + architecture armv8.2-a+fp16+dotprod fpu neon-fp-armv8 option crypto add FP_ARMv8 CRYPTO + option dotprod add FP_ARMv8 DOTPROD costs cortex_a73 end cpu cortex-a75 @@ -1292,9 +1295,10 @@ begin cpu cortex-a75.cortex-a55 cname cortexa75cortexa55 tune for cortex-a53 tune flags LDSCHED - architecture armv8.2-a+fp16 + architecture armv8.2-a+fp16+dotprod fpu neon-fp-armv8 option crypto add FP_ARMv8 CRYPTO + option dotprod add FP_ARMv8 DOTPROD costs cortex_a73 end cpu cortex-a75.cortex-a55 diff --git a/gcc/config/arm/arm-isa.h b/gcc/config/arm/arm-isa.h index dbd29eaa52f2007498c2aff6263b8b6c3a70e2c2..60a50edf08dd7d3ac9ad46967250f4dcc6b8768b 100644 --- a/gcc/config/arm/arm-isa.h +++ b/gcc/config/arm/arm-isa.h @@ -66,6 +66,7 @@ enum isa_feature isa_bit_fp_d32, /* 32 Double precision registers. */ isa_bit_crypto, /* Crypto extension to ARMv8. */ isa_bit_fp16, /* FP16 data processing (half-precision float). */ + isa_bit_dotprod, /* Dot Product instructions. */ /* ISA Quirks (errata?). Don't forget to add this to the list of all quirks below. */ @@ -159,6 +160,7 @@ enum isa_feature #define ISA_FP_ARMv8 ISA_FPv5, ISA_FP_D32 #define ISA_NEON ISA_FP_D32, isa_bit_neon #define ISA_CRYPTO ISA_NEON, isa_bit_crypto +#define ISA_DOTPROD ISA_NEON, isa_bit_dotprod /* List of all quirk bits to strip out when comparing CPU features with architectures. */ diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 4f53583cf0219de4329bc64a47a5a42c550ff354..44a95bf7eb2eab8e3cf07ac9cc7aad3d9997b27f 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -210,6 +210,11 @@ extern tree arm_fp16_type_node; /* FPU supports ARMv8.1 Adv.SIMD extensions. */ #define TARGET_NEON_RDMA (TARGET_NEON && arm_arch8_1) +/* Supports for Dot Product AdvSIMD extensions. */ +#define TARGET_DOTPROD (TARGET_NEON \ + && bitmap_bit_p (arm_active_target.isa, \ + isa_bit_dotprod)) + /* FPU supports the floating point FP16 instructions for ARMv8.2 and later. */ #define TARGET_VFP_FP16INST \ (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP5 && arm_fp16_inst) diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 71379dd5afc4c0dd62fdafd08777793d2ad47ae7..486591137f95cfb2e51adb7082f346edf84449de 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -952,6 +952,9 @@ int arm_condexec_masklen = 0; /* Nonzero if chip supports the ARMv8 CRC instructions. */ int arm_arch_crc = 0; +/* Nonzero if chip supports the AdvSIMD Dot Product instructions. */ +int arm_arch_dotprod = 0; + /* Nonzero if chip supports the ARMv8-M security extensions. */ int arm_arch_cmse = 0; @@ -3594,6 +3597,8 @@ arm_option_reconfigure_globals (void) arm_arch_cmse = bitmap_bit_p (arm_active_target.isa, isa_bit_cmse); arm_fp16_inst = bitmap_bit_p (arm_active_target.isa, isa_bit_fp16); arm_arch_lpae = bitmap_bit_p (arm_active_target.isa, isa_bit_lpae); + arm_arch_dotprod = bitmap_bit_p (arm_active_target.isa, isa_bit_dotprod); + if (arm_fp16_inst) { if (arm_fp16_format == ARM_FP16_FORMAT_ALTERNATIVE) diff --git a/gcc/config/arm/t-multilib b/gcc/config/arm/t-multilib index ec4b76dbc8fc56093c2b27c95e0947558496fe5a..47f3673160a766c5b1b8972f7670355f2c357b56 100644 --- a/gcc/config/arm/t-multilib +++ b/gcc/config/arm/t-multilib @@ -68,7 +68,7 @@ v7ve_vfpv4_simd_variants := +simd v8_a_nosimd_variants := +crc v8_a_simd_variants := $(call all_feat_combs, simd crypto) v8_1_a_simd_variants := $(call all_feat_combs, simd crypto) -v8_2_a_simd_variants := $(call all_feat_combs, simd fp16 crypto) +v8_2_a_simd_variants := $(call all_feat_combs, simd fp16 crypto dotprod) ifneq (,$(HAS_APROFILE)) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 64363e54a00c56a3de545735620189f7ec0cde04..4cb5836a9da22681d192c3750fc8e5a50024ac10 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -15492,6 +15492,10 @@ The ARMv8.1 Advanced SIMD and floating-point instructions. The cryptographic instructions. This also enables the Advanced SIMD and floating-point instructions. +@item +dotprod +Enable the Dot Product extension. This also enables Advanced SIMD instructions +and allows auto vectorization of dot products to the Dot Product instructions. + @item +nocrypto Disable the cryptographic extension.