| Message ID | 20260902083828.45767-1-dhruvc@nvidia.com |
|---|---|
| Headers |
Return-Path: <gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 369EA4BA2E24 for <patchwork@sourceware.org>; Wed, 2 Sep 2026 08:40:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 369EA4BA2E24 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=oLQ2UEQE X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazlp170120002.outbound.protection.outlook.com [IPv6:2a01:111:f403:c001::2]) by sourceware.org (Postfix) with ESMTPS id 504904BA5435 for <gcc-patches@gcc.gnu.org>; Wed, 2 Sep 2026 08:39:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 504904BA5435 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=nvidia.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 504904BA5435 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c001::2 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1788338353; cv=pass; b=QZohrqwp5WcSn3pm0lWgIo9BtLnZqUNVY+FrbfNOE6SQ2hxls5wHhOEc8hjjAX1WtYkWgtXcsBcT1bLi1UALqP6kljANc7BE/NPMnZRSypaLi0gZARvZT9/cV3KxNVyJY4BRxf8wYJXHIcKwf3Eo8voDEVft5/RF5mR1IAU1Pys= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1788338353; c=relaxed/simple; bh=eNXRb5cuK0gm/At9hVkoKjgjJR/aUTXFDKEztyTIB2E=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=dNM4chvtuebzbO7aC+IG+QUo4XDjt0qgppzbsUeVpnFr8pl+MjRLgX8itJ4dKnV9JPN+DcX2MUWmvMS7/q4JlyqOecf5Z5f/5RpToa8nyUwMin2Lc1yhdMLmL08CM4lYR5RJ9tjvJDS62uYY5zg8yVfRrj+Pqrw2v4Y0Vo0hXLY= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=oLQ2UEQE DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 504904BA5435 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EJzjMmnE/fQ+IsMTDRWN5gMAiHrArGM/djfj2klBX5yJuTXaDxVGcxQmw2zVzIYomIoUQj4vxyr/VVPa+6LEL4OvaTQG+dA9xEMEtZ1uha9E5U2XHE7BTk298/n5fRYg8Bx9jQ1s+Cn31r2bvBlVwgVFcUsAtIAbgjVISAZdXLu5GFxmEDxmUy0M4pswYBsMUfzB79XmM+ELS3LsvGdzbIpuTuHdqYGjip0/Ie7qdnLF+1FcUEZIh8vQjMqERF+vRfeMKeMHJv84jnFddS8Wy8AySEU8pFOfN6zwVn0uZG2zM1vCyua5tlmoQWoKB6bMzWEW4vcLf+dpyt0Qa2jOfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Dj1+/R89xT199IWETqPwt8wuQNVW3UH78bkrSS+oPqU=; b=jjf9mf2/kYc9XJkRt3Kh0dSF2/BLpxUQDBlKrA91aA33uOVC9BuIKgic5OPFtKcfuqresNj6YO1WI11I9MohrV45tR+Ge5ee1cIkb1hZEFpUnN3ahZ7NIKNU3e4uI9dl3CllMr98YoMcntT1SbkA1zJZKRpPRTWQqHAblpbe3yF0sG2PWfOZj5yJLa3oeEBFyPa9MXYPRTrwsPdzgjVoIEwnonVOnyIRAWExXGBG5VjrhTbve2wXgChi7Y92hQrHPimL9sDjKTKIkRda/pbT2o59ZlRQfQj0hALDMe2M0Hapt+Izkpl0w8I+iTOjIV+l6SbMVhN59P3vBmoUYdivcg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Dj1+/R89xT199IWETqPwt8wuQNVW3UH78bkrSS+oPqU=; b=oLQ2UEQEteurft4B1nJz40eGN/VLp2hZ/RehI7lmyUQpW5efQTz4U6TMxzEsXG5BbEKL096akC9DwAYjWycMzPx2I2+D3eWOsUX0JMXPO+V0pzfzpmflWxNo6HCQqWLHastx6uuJxfkkSQbTAB+O+oKZz67SnGdvlsuRjM2m1oR/O8jxJ1gfE9xgkhxtYqYhc58Koa1v9IQQmdH09P+QDIo2uhVolmW9dbfIhFvUG7tFbO282lTaWly68Q3oVPlsUtgmr8n0yVFBvtVFKaqd4dNKqcDx40Y6IlHamW3ucvqOA3rKI587SjF/+aWzFi/B5SSOI2lQYsMP6ihjKCxV8g== Received: from SA1PR03CA0024.namprd03.prod.outlook.com (2603:10b6:806:2d3::25) by CHBPR12MB731189.namprd12.prod.outlook.com (2603:10b6:610:33d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.10; Wed, 2 Sep 2026 08:39:09 +0000 Received: from SN1PEPF00036F3E.namprd05.prod.outlook.com (2603:10b6:806:2d3:cafe::7a) by SA1PR03CA0024.outlook.office365.com (2603:10b6:806:2d3::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.11 via Frontend Transport; Wed, 2 Sep 2026 08:39:08 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by SN1PEPF00036F3E.mail.protection.outlook.com (10.167.248.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.8 via Frontend Transport; Wed, 2 Sep 2026 08:39:08 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Wed, 2 Sep 2026 01:38:52 -0700 Received: from MVD4TP25H0.nvidia.com (10.126.230.37) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Wed, 2 Sep 2026 01:38:51 -0700 From: <dhruvc@nvidia.com> To: <gcc-patches@gcc.gnu.org> CC: <karl.meakin@arm.com>, <ktkachov@nvidia.com> Subject: [PATCH 0/6] aarch64: Port NEON intrinsics to pragma-based framework using IFNs Date: Wed, 2 Sep 2026 14:08:22 +0530 Message-ID: <20260902083828.45767-1-dhruvc@nvidia.com> X-Mailer: git-send-email 2.55.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.230.37] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF00036F3E:EE_|CHBPR12MB731189:EE_ X-MS-Office365-Filtering-Correlation-Id: ee12310e-22c5-4de2-f35a-08df08cda7c3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700016|23010399003|82310400026|10067099003|5023799004|11063799006|56012099006|3023799007|18002099003; X-Microsoft-Antispam-Message-Info: yYBL5Jq+ZuhxxnV+tHFlj/OeKfHp0W73ukpwoHdQnsxjLPy7SgTL2cKuuQTrN6AW0N2e4qErbboDrm4IxzATSMZgNqVGVTRdRgYRa5zxGygbIdY2kyU5fVYPwz2aR9nEaGVYG0L+p28IbdHijXozJKyGztoGuXkjSeV1o4W7ByKMwxnvDCJC+7qECgtBekL4YKB3Hdle4yvbGL752sb/pLTHaw9pKXkpCvze67IiIi52+4PH6RfxhVMfVJdbCwDmjZmjY+JIGhzG7zyDuFI3Btl5Vk0LnVf7kBC9XwcJW4ig88ntBwXtOmRvyZNpBV5jrkH0mUQO/EfdlsthBlSp9Zd5SnoPA5D2vII4F+SbV8cyxwppObJ+NPCmfjEBZNy1kiSiIbllxaQyi9I26JtGXCtiJerFAEmkw2JZ7qdGudGFhkmEn+n9lrbKC1zdtH0W7+IlWOQjyWAwP82dK2FOJWFmdno1vRJCDUwhafxBmgnTU6w9N/Nia1HbijztT1GhDIN8rCcCyI2kyiJ3NhBdHHB3n6eCSErEXBzeopCrwJ6dDTJFaDUT6iWfLg4BiR9roNtw1QT1Yej1dtQ26CaM/C5vR/qRKKAf03S9Mw6C21JHafHT9xnj4zRhj6FO9vtyTtV1jDIzfZUUxifrKYXxDQLdvN3X8uBRwyOAdorYmDvegSue3e/JyhLAZzkw5y/mPiLhby8T5QNHOZft713jiw== X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700016)(23010399003)(82310400026)(10067099003)(5023799004)(11063799006)(56012099006)(3023799007)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XmPkfJXzeOidu5Nu5UPArrAdQGkdWUFcgQwRYsBe8NjvVjbycxO67u5ojrzynXnG6ok6iUEY3MW/sHlkjWEfS5UhICItwYSb4tlgMd4DTn1Vr01a4nYnEI08bre+S7AyBdOomtHDY3tRdTx5n2ViUMfhKpvHnVIFmj+EGytCZjTS+QVgxZFQTl3lAtuPQIGjRgk52ds4sF3u+wVIEfIF6wb6wKS7NNyqPi9KRaFNPQo52UV5wmkDPYcMl71oJGcIeXam3jC0mgBhDe2uLAnGwJ/JeVtSA7wKV7lBYeyy52XhS4Kw9OVHVWriRtpM75pt+61jhbE9PVUMm7S8k/wxbvOK5In44OpayIXH2Fq7orFEWHE2NZRrsVddy5ujDFu4aCyZqfZtYUUCD9xfRzEuDfzaQP2By6bR7azjw8AxkfSa77kP2bv624Mq/Qx086Sm X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2026 08:39:08.4268 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ee12310e-22c5-4de2-f35a-08df08cda7c3 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF00036F3E.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CHBPR12MB731189 X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, KAM_SHORT, LOCAL_AUTHENTICATION_FAIL_SPF, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP shortcircuit=no autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org |
| Series |
aarch64: Port NEON intrinsics to pragma-based framework using IFNs
|
|
Message
Dhruv Chawla
Sept. 2, 2026, 8:38 a.m. UTC
From: Dhruv Chawla <dhruvc@nvidia.com> This patch series ports a set of NEON intrinsics that can be directly mapped to GIMPLE IFNs without any special handling. This includes the following: * vqadd (plus scalar versions) * vqsub (plus scalar versions) * vmax{,v,nm,nmv} * vmin{,v,nm,nmv} * vaddv * vsqrt * vhadd * vrhadd * vrnd{,a,i,m,n,ns,p,x} Some of these intrinsics are not ported for one of the following reasons: - The instruction pattern that the IFN lowers to does not iterate over the mode required to match the intrinsic (eg. an intrinsic requiring a V1DF pattern but the existing pattern using VHSDF). - The intrinsic requires special handling (eg. floating point NaN semantics). Details for individual cases are provided in the patches. Signed-off-by: Dhruv Chawla <dhruvc@nvidia.com> Dhruv Chawla (6): aarch64: Port NEON saturating add/sub intrinsics to pragma-based framework aarch64: Port NEON reduction intrinsics to pragma-based framework aarch64: Port NEON halving-add intrinsics to pragma-based framework aarch64: Port NEON square-root intrinsics to pragma-based framework aarch64: Port NEON rounding intrinsics to the pragma-based framework aarch64: Port NEON min/max intrinsics to the pragma-based framework gcc/config/aarch64/aarch64-acle-builtins.h | 14 + .../aarch64/aarch64-neon-builtins-base.cc | 63 + .../aarch64/aarch64-neon-builtins-base.def | 115 ++ gcc/config/aarch64/arm_neon.h | 1790 ++--------------- gcc/testsuite/gcc.target/aarch64/neon/vaddv.c | 138 ++ gcc/testsuite/gcc.target/aarch64/neon/vhadd.c | 88 + gcc/testsuite/gcc.target/aarch64/neon/vmax.c | 130 ++ .../gcc.target/aarch64/neon/vmaxnm.c | 46 + .../gcc.target/aarch64/neon/vmaxnmv.c | 39 + gcc/testsuite/gcc.target/aarch64/neon/vmaxv.c | 135 ++ gcc/testsuite/gcc.target/aarch64/neon/vmin.c | 130 ++ .../gcc.target/aarch64/neon/vminnm.c | 46 + .../gcc.target/aarch64/neon/vminnmv.c | 39 + gcc/testsuite/gcc.target/aarch64/neon/vminv.c | 135 ++ gcc/testsuite/gcc.target/aarch64/neon/vqadd.c | 192 ++ gcc/testsuite/gcc.target/aarch64/neon/vqsub.c | 192 ++ .../gcc.target/aarch64/neon/vrhadd.c | 88 + gcc/testsuite/gcc.target/aarch64/neon/vrnd.c | 45 + gcc/testsuite/gcc.target/aarch64/neon/vrnda.c | 45 + gcc/testsuite/gcc.target/aarch64/neon/vrndi.c | 45 + gcc/testsuite/gcc.target/aarch64/neon/vrndm.c | 45 + gcc/testsuite/gcc.target/aarch64/neon/vrndn.c | 52 + gcc/testsuite/gcc.target/aarch64/neon/vrndp.c | 45 + gcc/testsuite/gcc.target/aarch64/neon/vrndx.c | 45 + gcc/testsuite/gcc.target/aarch64/neon/vsqrt.c | 46 + .../aarch64/simd/faminmax-no-codegen.c | 40 +- .../gcc.target/aarch64/sme/arm_neon_1.c | 4 +- .../gcc.target/aarch64/sme/arm_neon_2.c | 4 +- .../gcc.target/aarch64/sme/arm_neon_3.c | 4 +- .../gcc.target/aarch64/sme/inlining_10.c | 6 +- .../gcc.target/aarch64/sme/inlining_11.c | 6 +- 31 files changed, 2183 insertions(+), 1629 deletions(-) create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vaddv.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vhadd.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vmax.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vmaxnm.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vmaxnmv.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vmaxv.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vmin.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vminnm.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vminnmv.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vminv.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vqadd.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vqsub.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrhadd.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrnd.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrnda.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrndi.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrndm.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrndn.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrndp.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrndx.c create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vsqrt.c
Comments
On 02/09/2026 09:38, dhruvc@nvidia.com wrote: > From: Dhruv Chawla <dhruvc@nvidia.com> > > This patch series ports a set of NEON intrinsics that can be directly mapped > to GIMPLE IFNs without any special handling. This includes the > following: > * vqadd (plus scalar versions) > * vqsub (plus scalar versions) > * vmax{,v,nm,nmv} > * vmin{,v,nm,nmv} > * vaddv > * vsqrt > * vhadd > * vrhadd > * vrnd{,a,i,m,n,ns,p,x} > > Some of these intrinsics are not ported for one of the following reasons: > - The instruction pattern that the IFN lowers to does not iterate over > the mode required to match the intrinsic (eg. an intrinsic requiring a > V1DF pattern but the existing pattern using VHSDF). Why not edit the instruction patterns to cover the missing modes? > - The intrinsic requires special handling (eg. floating point NaN > semantics). > > Details for individual cases are provided in the patches. > > Signed-off-by: Dhruv Chawla <dhruvc@nvidia.com> > > Dhruv Chawla (6): > aarch64: Port NEON saturating add/sub intrinsics to pragma-based > framework > aarch64: Port NEON reduction intrinsics to pragma-based framework > aarch64: Port NEON halving-add intrinsics to pragma-based framework > aarch64: Port NEON square-root intrinsics to pragma-based framework > aarch64: Port NEON rounding intrinsics to the pragma-based framework > aarch64: Port NEON min/max intrinsics to the pragma-based framework > > gcc/config/aarch64/aarch64-acle-builtins.h | 14 + > .../aarch64/aarch64-neon-builtins-base.cc | 63 + > .../aarch64/aarch64-neon-builtins-base.def | 115 ++ > gcc/config/aarch64/arm_neon.h | 1790 ++--------------- > gcc/testsuite/gcc.target/aarch64/neon/vaddv.c | 138 ++ > gcc/testsuite/gcc.target/aarch64/neon/vhadd.c | 88 + > gcc/testsuite/gcc.target/aarch64/neon/vmax.c | 130 ++ > .../gcc.target/aarch64/neon/vmaxnm.c | 46 + > .../gcc.target/aarch64/neon/vmaxnmv.c | 39 + > gcc/testsuite/gcc.target/aarch64/neon/vmaxv.c | 135 ++ > gcc/testsuite/gcc.target/aarch64/neon/vmin.c | 130 ++ > .../gcc.target/aarch64/neon/vminnm.c | 46 + > .../gcc.target/aarch64/neon/vminnmv.c | 39 + > gcc/testsuite/gcc.target/aarch64/neon/vminv.c | 135 ++ > gcc/testsuite/gcc.target/aarch64/neon/vqadd.c | 192 ++ > gcc/testsuite/gcc.target/aarch64/neon/vqsub.c | 192 ++ > .../gcc.target/aarch64/neon/vrhadd.c | 88 + > gcc/testsuite/gcc.target/aarch64/neon/vrnd.c | 45 + > gcc/testsuite/gcc.target/aarch64/neon/vrnda.c | 45 + > gcc/testsuite/gcc.target/aarch64/neon/vrndi.c | 45 + > gcc/testsuite/gcc.target/aarch64/neon/vrndm.c | 45 + > gcc/testsuite/gcc.target/aarch64/neon/vrndn.c | 52 + > gcc/testsuite/gcc.target/aarch64/neon/vrndp.c | 45 + > gcc/testsuite/gcc.target/aarch64/neon/vrndx.c | 45 + > gcc/testsuite/gcc.target/aarch64/neon/vsqrt.c | 46 + > .../aarch64/simd/faminmax-no-codegen.c | 40 +- > .../gcc.target/aarch64/sme/arm_neon_1.c | 4 +- > .../gcc.target/aarch64/sme/arm_neon_2.c | 4 +- > .../gcc.target/aarch64/sme/arm_neon_3.c | 4 +- > .../gcc.target/aarch64/sme/inlining_10.c | 6 +- > .../gcc.target/aarch64/sme/inlining_11.c | 6 +- > 31 files changed, 2183 insertions(+), 1629 deletions(-) > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vaddv.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vhadd.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vmax.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vmaxnm.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vmaxnmv.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vmaxv.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vmin.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vminnm.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vminnmv.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vminv.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vqadd.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vqsub.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrhadd.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrnd.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrnda.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrndi.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrndm.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrndn.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrndp.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vrndx.c > create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vsqrt.c >