From patchwork Mon Sep 16 09:38:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Lyon X-Patchwork-Id: 1986063 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=oqNrc0id; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=oqNrc0id; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4X6fyp2PJJz1y1C for ; Mon, 16 Sep 2024 19:40:02 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8A5773858420 for ; Mon, 16 Sep 2024 09:40:00 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2060c.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::60c]) by sourceware.org (Postfix) with ESMTPS id 9E25A385841D for ; Mon, 16 Sep 2024 09:39:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9E25A385841D Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9E25A385841D Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f400:7e1a::60c ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1726479546; cv=pass; b=VN3bdsnYjm3gw76zXayQvctd4P89fiuxZRWvqacZnljYLh0E2FpT2V79kXkSLUoZ1uP3XZMveHw5+32JsUl6jGysFMAlhiTIIBBG8sKEsgl7TPVvE0vg7saW83eQ9Vx5BFncSY9D5lJl57ovEWMu1i/wYJVKA/dM50GJtxW7YLA= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1726479546; c=relaxed/simple; bh=gKyRqbJDOzDkUfpMFcrdDovNk5bQOaSX0YD0nF8Iznk=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=cUEKx7Wyj3h62EjHGk+u2ZtOf7iM7My2IC4Hs8u1EYu+P5sXeT/nC15jmpJRI2Lhhn1VvOL/7kehxA+BCGpzMfdiBZtmvHjpW+MXh74te5A+VWqfQydMPI20LwatDNfvCW60fXqVNGWL9Fd6aUBsY3yoIClexeFvWaeKMuJksDQ= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=v6d88nn3pXc8ejphVFJyZJa/zyv4gYE0MIbvLizQCsmph6RbwZ+NkMdWdzRTTwWVf/cxjKzallM7v75Qm3tW0sp5RolODrGi7qIGB4kstaRXvmulhMzRyewx8IJBNppj1VRCib0WQUthUjqfdihu+8ft4O0Q61bErG7nc4/3aSB2asYZ0BOoJWGnl7QvWE1fhhTteksrsUyjH9IKszS4fhHaBBSRhOM5L4LDdHkXbwBPHi8rb50ncB7Bagg4B0PEjBnH92jUGfHPB0/in4MljfZoKKGNfU+UiotXPlPMpiNENh8MK5Kc03SIuiAjS5R20yS/ZIe4gqLoSYzQx7aoGA== ARC-Message-Signature: i=2; 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=kvZCJelnzKuOeudxZAYqFxjCm+hmHIaf59cvdJ/w24g=; b=IINhTdpWtHm0fzSRvh7Rz1A/9HHBy+iAR8Tg6JEkGxi0TihSZdsAyZFh9z0O8+8/daiNogh4Fv6SYmmrKo8fNxmn9WOJOqJM2o4RB6b4OuZP0a6CaZtrzdqHKzJ7ZqSkSD1yg8goRjCdvQUQR6kHoZdjc2WYoC+hrQLv/WCb3HJ6btXhPUJVe5JK0nsB9FPcfnB2tmw/YzZqrh9v9pGybfVEwntH8HuEn0GIN/oGhdx4Qo9Ome/5lZ4PvjWWYhb4FfKu42jRnQzAj5+pGktoALG0hgLG3WgBJRqaEN3jz9QKl3G8EvJdJsR+qRwOZ7zt8uUrUTft4yTTvqLUeCepAg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kvZCJelnzKuOeudxZAYqFxjCm+hmHIaf59cvdJ/w24g=; b=oqNrc0idKIjbdM8EpAMRVJR6iStZ/dLeLgIeBy5FAVlbzopvAjV2LqWInNunTUOq+rycal2SZtmHluscafyf8mgN7GYGY9pu11lLlkZUjy4Mejn0UxC0vvSzIeyX+jINYUn7WvM16IWg5JQj8V6o4L/PuEWPLB46Fj2EriPNpo8= Received: from AS9PR05CA0021.eurprd05.prod.outlook.com (2603:10a6:20b:488::17) by AS8PR08MB6280.eurprd08.prod.outlook.com (2603:10a6:20b:29b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.14; Mon, 16 Sep 2024 09:38:52 +0000 Received: from AM4PEPF00025F97.EURPRD83.prod.outlook.com (2603:10a6:20b:488:cafe::9e) by AS9PR05CA0021.outlook.office365.com (2603:10a6:20b:488::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend Transport; Mon, 16 Sep 2024 09:38:52 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM4PEPF00025F97.mail.protection.outlook.com (10.167.16.6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8005.1 via Frontend Transport; Mon, 16 Sep 2024 09:38:51 +0000 Received: ("Tessian outbound ee7a81b3b7b9:v441"); Mon, 16 Sep 2024 09:38:51 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1be2530c559e67a0 X-CR-MTA-TID: 64aa7808 Received: from Lc40dcd3a93c5.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 54282652-B15F-44F9-BACD-3ADFECC06553.1; Mon, 16 Sep 2024 09:38:40 +0000 Received: from EUR03-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lc40dcd3a93c5.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 16 Sep 2024 09:38:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vetaB2xAueDPW0mXTS+p8ywN+6IGwdP7mOCiLx/wU9xIVCNI78P1psKGPAl6YIRcWW+zzZLNoJSCM2Gcup/sML1VWvacnu/pRWcqlCWRLW4h7dwVo09qbO+6v05Fqj0nxaZIBUmucyJXib1dq6owNYbrVRQNXLxdhi6jt7WrSNOZFZ4Si4Bm3/fQq7r2sqBmfKPeS4gw/pwyKMViH0QYLHNlG0Y9pfr2Prccv7srmjMbPWj5e6OIs3zuqyq6Vh4hkpruYErrdLGvoaGWyRSLo6i2aDGoBKphoGD+PS6Sr48UlAHAXRUektHuJUhzk1sd/XjWeLScWNfwRqS1WMRdDQ== 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=kvZCJelnzKuOeudxZAYqFxjCm+hmHIaf59cvdJ/w24g=; b=rZ6n4SmKoQ3c1+rgadHGo/bT/6ejc8BBIM2Cu5oz8wKW9wMdX6KX1tkZKLI27HtOWFPpxatrl51KjjIm+AuzUn+2UbyNqIVcwlPabIevur5gMgrg3xJSDy/CVztJ5ovyPzwBQTJArFFfNl3Zbxthbb9csAVjtJ8cwAGAeJHIc9o3ejo9rr4cNcHrXs+5KJHbSkhhEukvS815Jasku/93Ixlbskn/Ddn44birIs7+SdLuVDpEneUYFr/O6UjDMUg0xC+j0RbXsTz5nvXllNUZMQWDnbPMGKVbgTpxGkN5mzeDhtWoQfPTJBpU/ZhiOMf59y9k8pFw75dRIgymJS/0kw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kvZCJelnzKuOeudxZAYqFxjCm+hmHIaf59cvdJ/w24g=; b=oqNrc0idKIjbdM8EpAMRVJR6iStZ/dLeLgIeBy5FAVlbzopvAjV2LqWInNunTUOq+rycal2SZtmHluscafyf8mgN7GYGY9pu11lLlkZUjy4Mejn0UxC0vvSzIeyX+jINYUn7WvM16IWg5JQj8V6o4L/PuEWPLB46Fj2EriPNpo8= Received: from AS9PR04CA0080.eurprd04.prod.outlook.com (2603:10a6:20b:48b::28) by DU0PR08MB9934.eurprd08.prod.outlook.com (2603:10a6:10:402::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.14; Mon, 16 Sep 2024 09:38:32 +0000 Received: from AMS0EPF0000019F.eurprd05.prod.outlook.com (2603:10a6:20b:48b:cafe::3) by AS9PR04CA0080.outlook.office365.com (2603:10a6:20b:48b::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend Transport; Mon, 16 Sep 2024 09:38:31 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF0000019F.mail.protection.outlook.com (10.167.16.251) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7918.13 via Frontend Transport; Mon, 16 Sep 2024 09:38:31 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 16 Sep 2024 09:38:23 +0000 Received: from e129018.arm.com (10.57.52.20) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Mon, 16 Sep 2024 09:38:22 +0000 From: Christophe Lyon To: , , CC: Alfie Richards Subject: [PATCH 1/5] arm: [MVE intrinsics] fix vst tests Date: Mon, 16 Sep 2024 11:38:15 +0200 Message-ID: <20240916093819.12740-2-christophe.lyon@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240916093819.12740-1-christophe.lyon@arm.com> References: <20240916093819.12740-1-christophe.lyon@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF0000019F:EE_|DU0PR08MB9934:EE_|AM4PEPF00025F97:EE_|AS8PR08MB6280:EE_ X-MS-Office365-Filtering-Correlation-Id: 923b6214-0128-4500-fe9a-08dcd6335fbf x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|82310400026|36860700013|1800799024|376014; X-Microsoft-Antispam-Message-Info-Original: VEJf8yRN2f6YUNF0ASeWmtGnqz2hQWuqLME3e9SHdVJ9gmXqiyXOcgLpsNza6ykT+kBT/Jk7Vb9lCLc76/xF7UwxexYwn+6PT0E+y4Nvx7n8O58GEEfYBnkN0648duLh2Ukbb3CW6husznXFgBYza/I3KnCCLtTmjZr4kUPQU+rHOdaSWiZVuSjJGMnVF+/Z/OX/6wW58IfBfkJKbcAN3b702cHF1+JscPaWAYtOFV49RmGISAKoZ+iK5AtIspDSvSsCXgaZoLuzbFOLRSQlxdnT4YYoLLlqFn78KbadwCLTvrovnT6L5mNIMNH64IdhwscUn5OC9P+iRqGXvQBtsAveFVgclTscuNymcB87bszS61hvsqvKUlsMu0uq8FTSc4FwZOeuz3pmhXX4r6koOw0Uy4U2rsjFGqzJSnalOQVCLacPs71P8gcMDxYJjti9mX/wAvs6YLXaXZWaZ78Gauk+VwWchybmm4NjothaqmQNJzWkbLd+JsVo3Qhpjv24xYJ9oEv5f4sgey8X9UphRWqEch/qbfIAL1DVZHcV74MygZEIRdTdWFWT/HnPLXdgpCH9vi6oaeiqFj7avhO2Ay1qALYC/CSQkQE3f/MQ/wzpQgL8JPk2mCivqdVqgY/c8b4DDqceflrD39lbq6+zw4XyAQIJxySttQ2QSAHvOxYwcfcR659BDh6x8d66A7KZPVW9cUqLzIbDul0rODy3fL2rKIqIAONsHQYVXn6oJwdC0LPafCCmXxfyAiNQ08l+oa3OMyQ0goN6/3vYjmocrDT1OFtdig/DvATspQ8sdaJ5+wcudrG7WK7Tvo6c+iArbJ0TKYSU4OLv//uzyCOPHpxrB2+ffJ7otYCLmECJi/D6E1n4XUCiA4e050bzBjmosE+PbXwKuUJDenoS6/uLtTs1hO0IAQjOkjb8h2UuFOAjpu1BC/OI/PGQz/QiepC4w0kjpYo5D/DN8wI9YTK/KM7Qz/IZXObgrkmTwfpwA2uYQj+YW69mG6uQJtplfwUlUy3T1WBn9T06tHDAPfoCD+LX0lpmsaTeeALGtxW2W/p7UADO+UAkA4QmA2e3qGdFErIyx6GQvRo8UqpfzFN+EgrhDTMH+nGUWIbSYlMBjP88RdNbddrWH1avc+txCElyV1XcS5ErgFd1/dPQ2SmOxbsJMhMD93bycZF4ApSUOJY5miC6pnDPtvAOKJmFuMVP08MBmqlr/Zg/obflm1c9Ec6kDhirm4pNijle3VLWZ4N2IGXdKcGUw+fU/Q9FwYbZDSLYtugCmhDZgtqkwdtgMviKlcmcYAcyF2f9MvyP46W81RJJeVbtOpaseae8BsnCn9ZwS/aMesxkLOtjDa55qTvewQnr9bT36qCIamuUY8bQ/CY/Qs482CkoLgvA0/GMQ2CQJjQIkb8EYGwjOciodw== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9934 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:20b:48b::28]; domain=AS9PR04CA0080.eurprd04.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00025F97.EURPRD83.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: d5bffbe4-cd9b-4207-9cec-08dcd63353f0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|35042699022|36860700013|1800799024|376014; X-Microsoft-Antispam-Message-Info: ++u+vcvYtW1bmksVBFalj1gpBaqlAiSemi7zLldCCqwn8s5pByo8lln09JApwzhJ8L7GJr9v4dpKQwBrLpYSeM5Q7GIjfaNfeQYxQanUmn5Sf80vrjLZMRlqeQ9LLByGLXl7pWho3F4QVKl4CtyijZs2O2rpYzdKmsFjpmyO82ULchjiYrMF+LkVYJPk7zrCwLkgnlmVQVeSdoA0XTZFjjmdeLIXMNauLsJAJf8Zisc7P0cuSHJcE3AIYugm9/NWFfLjIIk1P68kdvX+78VpvjnSS8HvVTgd6iYbE6/9OLdfLxShPzMtuwUZNJPGKWpEA0RxVgoPBMaAwEy1AvX6HOINyADhBUWedV7mKO21wFGGaHz1zTA4BIqFAinj3NApMX8f3A7UdUuD+HK1gqsqRlzDAbCvn6fD/uUxyFjx51Gu95kYZx8o34f/J7SjYwlD30JYU0uNaYVif54XN3tXSDCkCJyoCgnpeyvGkXsOXiC7fams5t6eklXQfuJORdtvDee56IH8V4ZvGuUUclV3YAtzdQ6y0MJnCfQVo3Gm/EBpPZyDnMr7jXqoZ094MAWNJGOphtsPFB8U98mpR4xD1+vM7Mrw6Zae9r3EOGjUjr9upp0pagahWB83U30CChEGaO3aNXI0mPN3C/CuG9slZphJs1DH9yGQpozg1T+gwdW5YQZMX+EXPG88S3/XjzR/GyZNiUKvylbu2sxrCae5c9UkMaPf8M6HgrYScmDGZKm+hkSqO/EJaFqFE0be+kqaM4GS++eufNebEgzh5TtXC/zxIFLHXq5ozi1heG7QcWGav8l/UVICqeDvUHGpY+yupbyksL20brFi6nIWhuSvemMRvYe3u+m4khWoMXLscv3naFbZvmBAzYkXy0Rq+IJmLhnWelNmjtBMcTCwQWp43l7kwD99G/zmcxLTJ3F5GVeSXlWn//YCMvxpGnU30XgmIf0MvqwuOquEg3GCCFMB9Hfir/fNXR0V8w8qvhj/YbBYTLk8HuTJdKeK90aJ10ddd8EGOX7RSZKDdLHh9rUhLtWVqoriHHlOqM1fGn+3YOLB+1tQ7mVo0fhtktmkAKz009gnk4Ro7qpJaTUtiuP5QWO9qlK/fDVEOAkRTUJquD9mxWBgiUqb5HfueM84/os73ZrAFDMQFuXHcs6RoRRAqXYd0tHyZ9lGnYUJck1w806cT1XnPi2f+p+7bGwFPVeT2TrVyPjWkcv5H0S1kfifsZ4O+cWPQp0UGApe6icWsHNojj/2/X7VMbrgHDDzfiq/VwUrEbCC4dbfXNRKBH7Q0wNYQsLY5yK+M2Bbukj18IW5cR4KQhaZDAWjnUGVtNqHCckA+aUylnpAjX8onYrMNbMBW+VbbT4xnvAZXebZ62eVExFNWYoF16fBtFJjZDW2cYgsmsXTk8wHiFpb+axPHQ== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(82310400026)(35042699022)(36860700013)(1800799024)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2024 09:38:51.7080 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 923b6214-0128-4500-fe9a-08dcd6335fbf X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM4PEPF00025F97.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6280 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org From: Alfie Richards The tests for vst* instrinsics use functions which return a void expression which can generate a warning. This hasn't come up previously as the inlining presumably prevents the warning. This change removed the uneccessary and incorrect returns. 2024-09-11 Alfie Richards gcc/testsuite/ * gcc.target/arm/mve/intrinsics/vst1q_p_f16.c: Remove `return`. * gcc.target/arm/mve/intrinsics/vst1q_p_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vst1q_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vst1q_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vst1q_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vst1q_p_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vst1q_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vst1q_p_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vst2q_f16.c: Likewise. * gcc.target/arm/mve/intrinsics/vst2q_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vst2q_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vst2q_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vst2q_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vst2q_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vst2q_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vst2q_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vst4q_f16.c: Likewise. * gcc.target/arm/mve/intrinsics/vst4q_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vst4q_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vst4q_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vst4q_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vst4q_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vst4q_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vst4q_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrbq_u8.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_f16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_u16.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrhq_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c: Likewise. * gcc.target/arm/mve/intrinsics/vstrwq_u32.c: Likewise. --- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_f16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_f32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s8.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u8.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_f16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_f32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s8.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u8.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_f16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_f32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s8.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u8.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s8.c | 4 ++-- .../arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c | 4 ++-- .../arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c | 4 ++-- .../arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c | 4 ++-- .../arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c | 4 ++-- .../arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c | 4 ++-- .../arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u8.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c | 4 ++-- .../arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c | 4 ++-- .../arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c | 4 ++-- .../arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c | 4 ++-- .../arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c | 4 ++-- .../arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c | 4 ++-- .../arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c | 4 ++-- .../arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c | 4 ++-- .../arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c | 4 ++-- .../arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c | 4 ++-- .../arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_f16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_s16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_s32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c | 4 ++-- .../arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_u16.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_u32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_f32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_s32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c | 4 ++-- .../gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c | 4 ++-- .../arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c | 4 ++-- gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_u32.c | 4 ++-- 124 files changed, 248 insertions(+), 248 deletions(-) diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_f16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_f16.c index 06b2bd3910d..f136d7d5a02 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_f16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_f16.c @@ -22,7 +22,7 @@ extern "C" { void foo (float16_t *base, float16x8_t value, mve_pred16_t p) { - return vst1q_p_f16 (base, value, p); + vst1q_p_f16 (base, value, p); } @@ -39,7 +39,7 @@ foo (float16_t *base, float16x8_t value, mve_pred16_t p) void foo1 (float16_t *base, float16x8_t value, mve_pred16_t p) { - return vst1q_p (base, value, p); + vst1q_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_f32.c index e492a705ea0..1d3faac3ff1 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_f32.c @@ -22,7 +22,7 @@ extern "C" { void foo (float32_t *base, float32x4_t value, mve_pred16_t p) { - return vst1q_p_f32 (base, value, p); + vst1q_p_f32 (base, value, p); } @@ -39,7 +39,7 @@ foo (float32_t *base, float32x4_t value, mve_pred16_t p) void foo1 (float32_t *base, float32x4_t value, mve_pred16_t p) { - return vst1q_p (base, value, p); + vst1q_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s16.c index 7b76d1d7687..684fc8a8bc7 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s16.c @@ -22,7 +22,7 @@ extern "C" { void foo (int16_t *base, int16x8_t value, mve_pred16_t p) { - return vst1q_p_s16 (base, value, p); + vst1q_p_s16 (base, value, p); } @@ -39,7 +39,7 @@ foo (int16_t *base, int16x8_t value, mve_pred16_t p) void foo1 (int16_t *base, int16x8_t value, mve_pred16_t p) { - return vst1q_p (base, value, p); + vst1q_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s32.c index 4ad32a68a96..070109fd7eb 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s32.c @@ -22,7 +22,7 @@ extern "C" { void foo (int32_t *base, int32x4_t value, mve_pred16_t p) { - return vst1q_p_s32 (base, value, p); + vst1q_p_s32 (base, value, p); } @@ -39,7 +39,7 @@ foo (int32_t *base, int32x4_t value, mve_pred16_t p) void foo1 (int32_t *base, int32x4_t value, mve_pred16_t p) { - return vst1q_p (base, value, p); + vst1q_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s8.c index 2425b9cec00..6666c8cf4b0 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_s8.c @@ -22,7 +22,7 @@ extern "C" { void foo (int8_t *base, int8x16_t value, mve_pred16_t p) { - return vst1q_p_s8 (base, value, p); + vst1q_p_s8 (base, value, p); } @@ -39,7 +39,7 @@ foo (int8_t *base, int8x16_t value, mve_pred16_t p) void foo1 (int8_t *base, int8x16_t value, mve_pred16_t p) { - return vst1q_p (base, value, p); + vst1q_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u16.c index c0065ef6ff5..eef83949a74 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u16.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint16_t *base, uint16x8_t value, mve_pred16_t p) { - return vst1q_p_u16 (base, value, p); + vst1q_p_u16 (base, value, p); } @@ -39,7 +39,7 @@ foo (uint16_t *base, uint16x8_t value, mve_pred16_t p) void foo1 (uint16_t *base, uint16x8_t value, mve_pred16_t p) { - return vst1q_p (base, value, p); + vst1q_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u32.c index c41c4184b9b..11fa939cbfd 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint32_t *base, uint32x4_t value, mve_pred16_t p) { - return vst1q_p_u32 (base, value, p); + vst1q_p_u32 (base, value, p); } @@ -39,7 +39,7 @@ foo (uint32_t *base, uint32x4_t value, mve_pred16_t p) void foo1 (uint32_t *base, uint32x4_t value, mve_pred16_t p) { - return vst1q_p (base, value, p); + vst1q_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u8.c index 1cd3a781357..56f4b629d48 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst1q_p_u8.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint8_t *base, uint8x16_t value, mve_pred16_t p) { - return vst1q_p_u8 (base, value, p); + vst1q_p_u8 (base, value, p); } @@ -39,7 +39,7 @@ foo (uint8_t *base, uint8x16_t value, mve_pred16_t p) void foo1 (uint8_t *base, uint8x16_t value, mve_pred16_t p) { - return vst1q_p (base, value, p); + vst1q_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_f16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_f16.c index 5180667658e..34494cfda0f 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_f16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_f16.c @@ -20,7 +20,7 @@ extern "C" { void foo (float16_t *addr, float16x8x2_t value) { - return vst2q_f16 (addr, value); + vst2q_f16 (addr, value); } @@ -35,7 +35,7 @@ foo (float16_t *addr, float16x8x2_t value) void foo1 (float16_t *addr, float16x8x2_t value) { - return vst2q (addr, value); + vst2q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_f32.c index 3e6f5b0ed75..4cc78956935 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_f32.c @@ -20,7 +20,7 @@ extern "C" { void foo (float32_t *addr, float32x4x2_t value) { - return vst2q_f32 (addr, value); + vst2q_f32 (addr, value); } @@ -35,7 +35,7 @@ foo (float32_t *addr, float32x4x2_t value) void foo1 (float32_t *addr, float32x4x2_t value) { - return vst2q (addr, value); + vst2q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s16.c index 1c939317779..75d290f514b 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s16.c @@ -20,7 +20,7 @@ extern "C" { void foo (int16_t *addr, int16x8x2_t value) { - return vst2q_s16 (addr, value); + vst2q_s16 (addr, value); } @@ -35,7 +35,7 @@ foo (int16_t *addr, int16x8x2_t value) void foo1 (int16_t *addr, int16x8x2_t value) { - return vst2q (addr, value); + vst2q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s32.c index 28c8e078942..5216b438a9d 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s32.c @@ -20,7 +20,7 @@ extern "C" { void foo (int32_t *addr, int32x4x2_t value) { - return vst2q_s32 (addr, value); + vst2q_s32 (addr, value); } @@ -35,7 +35,7 @@ foo (int32_t *addr, int32x4x2_t value) void foo1 (int32_t *addr, int32x4x2_t value) { - return vst2q (addr, value); + vst2q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s8.c index e882c01bd63..1408f5f04a5 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_s8.c @@ -20,7 +20,7 @@ extern "C" { void foo (int8_t *addr, int8x16x2_t value) { - return vst2q_s8 (addr, value); + vst2q_s8 (addr, value); } @@ -35,7 +35,7 @@ foo (int8_t *addr, int8x16x2_t value) void foo1 (int8_t *addr, int8x16x2_t value) { - return vst2q (addr, value); + vst2q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u16.c index 0cfbd6b9902..95b147c1883 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u16.c @@ -20,7 +20,7 @@ extern "C" { void foo (uint16_t *addr, uint16x8x2_t value) { - return vst2q_u16 (addr, value); + vst2q_u16 (addr, value); } @@ -35,7 +35,7 @@ foo (uint16_t *addr, uint16x8x2_t value) void foo1 (uint16_t *addr, uint16x8x2_t value) { - return vst2q (addr, value); + vst2q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u32.c index ea46a5969d0..3d5ec35dd92 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u32.c @@ -20,7 +20,7 @@ extern "C" { void foo (uint32_t *addr, uint32x4x2_t value) { - return vst2q_u32 (addr, value); + vst2q_u32 (addr, value); } @@ -35,7 +35,7 @@ foo (uint32_t *addr, uint32x4x2_t value) void foo1 (uint32_t *addr, uint32x4x2_t value) { - return vst2q (addr, value); + vst2q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u8.c index 895c2ccf425..69616c9098f 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst2q_u8.c @@ -20,7 +20,7 @@ extern "C" { void foo (uint8_t *addr, uint8x16x2_t value) { - return vst2q_u8 (addr, value); + vst2q_u8 (addr, value); } @@ -35,7 +35,7 @@ foo (uint8_t *addr, uint8x16x2_t value) void foo1 (uint8_t *addr, uint8x16x2_t value) { - return vst2q (addr, value); + vst2q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_f16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_f16.c index 94066089f58..4f260bad777 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_f16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_f16.c @@ -21,7 +21,7 @@ extern "C" { void foo (float16_t *addr, float16x8x4_t value) { - return vst4q_f16 (addr, value); + vst4q_f16 (addr, value); } @@ -37,7 +37,7 @@ foo (float16_t *addr, float16x8x4_t value) void foo1 (float16_t *addr, float16x8x4_t value) { - return vst4q (addr, value); + vst4q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_f32.c index 0150ba7ca56..ade8f9887d3 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_f32.c @@ -21,7 +21,7 @@ extern "C" { void foo (float32_t *addr, float32x4x4_t value) { - return vst4q_f32 (addr, value); + vst4q_f32 (addr, value); } @@ -37,7 +37,7 @@ foo (float32_t *addr, float32x4x4_t value) void foo1 (float32_t *addr, float32x4x4_t value) { - return vst4q (addr, value); + vst4q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s16.c index 8c9df15b3c7..ce27a235cc6 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s16.c @@ -21,7 +21,7 @@ extern "C" { void foo (int16_t *addr, int16x8x4_t value) { - return vst4q_s16 (addr, value); + vst4q_s16 (addr, value); } @@ -37,7 +37,7 @@ foo (int16_t *addr, int16x8x4_t value) void foo1 (int16_t *addr, int16x8x4_t value) { - return vst4q (addr, value); + vst4q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s32.c index 1a1a9797360..b87573357dc 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s32.c @@ -21,7 +21,7 @@ extern "C" { void foo (int32_t *addr, int32x4x4_t value) { - return vst4q_s32 (addr, value); + vst4q_s32 (addr, value); } @@ -37,7 +37,7 @@ foo (int32_t *addr, int32x4x4_t value) void foo1 (int32_t *addr, int32x4x4_t value) { - return vst4q (addr, value); + vst4q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s8.c index d23032a73bc..9414d274c18 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_s8.c @@ -21,7 +21,7 @@ extern "C" { void foo (int8_t *addr, int8x16x4_t value) { - return vst4q_s8 (addr, value); + vst4q_s8 (addr, value); } @@ -37,7 +37,7 @@ foo (int8_t *addr, int8x16x4_t value) void foo1 (int8_t *addr, int8x16x4_t value) { - return vst4q (addr, value); + vst4q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u16.c index 76cc4311e1b..e0d8c540d56 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u16.c @@ -21,7 +21,7 @@ extern "C" { void foo (uint16_t *addr, uint16x8x4_t value) { - return vst4q_u16 (addr, value); + vst4q_u16 (addr, value); } @@ -37,7 +37,7 @@ foo (uint16_t *addr, uint16x8x4_t value) void foo1 (uint16_t *addr, uint16x8x4_t value) { - return vst4q (addr, value); + vst4q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u32.c index e5f62858eee..350219b7b1c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u32.c @@ -21,7 +21,7 @@ extern "C" { void foo (uint32_t *addr, uint32x4x4_t value) { - return vst4q_u32 (addr, value); + vst4q_u32 (addr, value); } @@ -37,7 +37,7 @@ foo (uint32_t *addr, uint32x4x4_t value) void foo1 (uint32_t *addr, uint32x4x4_t value) { - return vst4q (addr, value); + vst4q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u8.c index 923cd0d3b10..9a9d2540036 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vst4q_u8.c @@ -21,7 +21,7 @@ extern "C" { void foo (uint8_t *addr, uint8x16x4_t value) { - return vst4q_u8 (addr, value); + vst4q_u8 (addr, value); } @@ -37,7 +37,7 @@ foo (uint8_t *addr, uint8x16x4_t value) void foo1 (uint8_t *addr, uint8x16x4_t value) { - return vst4q (addr, value); + vst4q (addr, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c index 19804443e01..50ae162a9c3 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s16.c @@ -22,7 +22,7 @@ extern "C" { void foo (int8_t *base, int16x8_t value, mve_pred16_t p) { - return vstrbq_p_s16 (base, value, p); + vstrbq_p_s16 (base, value, p); } @@ -39,7 +39,7 @@ foo (int8_t *base, int16x8_t value, mve_pred16_t p) void foo1 (int8_t *base, int16x8_t value, mve_pred16_t p) { - return vstrbq_p (base, value, p); + vstrbq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c index 26be212770b..2ff55f9c8ad 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s32.c @@ -22,7 +22,7 @@ extern "C" { void foo (int8_t *base, int32x4_t value, mve_pred16_t p) { - return vstrbq_p_s32 (base, value, p); + vstrbq_p_s32 (base, value, p); } @@ -39,7 +39,7 @@ foo (int8_t *base, int32x4_t value, mve_pred16_t p) void foo1 (int8_t *base, int32x4_t value, mve_pred16_t p) { - return vstrbq_p (base, value, p); + vstrbq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c index a0d08772a50..e83a91a10d7 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_s8.c @@ -22,7 +22,7 @@ extern "C" { void foo (int8_t *base, int8x16_t value, mve_pred16_t p) { - return vstrbq_p_s8 (base, value, p); + vstrbq_p_s8 (base, value, p); } @@ -39,7 +39,7 @@ foo (int8_t *base, int8x16_t value, mve_pred16_t p) void foo1 (int8_t *base, int8x16_t value, mve_pred16_t p) { - return vstrbq_p (base, value, p); + vstrbq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c index bc02c59887a..dd67f7294f8 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u16.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint8_t *base, uint16x8_t value, mve_pred16_t p) { - return vstrbq_p_u16 (base, value, p); + vstrbq_p_u16 (base, value, p); } @@ -39,7 +39,7 @@ foo (uint8_t *base, uint16x8_t value, mve_pred16_t p) void foo1 (uint8_t *base, uint16x8_t value, mve_pred16_t p) { - return vstrbq_p (base, value, p); + vstrbq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c index 1215d5f0978..a1a2e3f660c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint8_t *base, uint32x4_t value, mve_pred16_t p) { - return vstrbq_p_u32 (base, value, p); + vstrbq_p_u32 (base, value, p); } @@ -39,7 +39,7 @@ foo (uint8_t *base, uint32x4_t value, mve_pred16_t p) void foo1 (uint8_t *base, uint32x4_t value, mve_pred16_t p) { - return vstrbq_p (base, value, p); + vstrbq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c index a88234e411d..cf0fd165114 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_p_u8.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint8_t *base, uint8x16_t value, mve_pred16_t p) { - return vstrbq_p_u8 (base, value, p); + vstrbq_p_u8 (base, value, p); } @@ -39,7 +39,7 @@ foo (uint8_t *base, uint8x16_t value, mve_pred16_t p) void foo1 (uint8_t *base, uint8x16_t value, mve_pred16_t p) { - return vstrbq_p (base, value, p); + vstrbq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s16.c index 1e88d3aa600..d893d04e196 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s16.c @@ -18,7 +18,7 @@ extern "C" { void foo (int8_t *base, int16x8_t value) { - return vstrbq_s16 (base, value); + vstrbq_s16 (base, value); } @@ -31,7 +31,7 @@ foo (int8_t *base, int16x8_t value) void foo1 (int8_t *base, int16x8_t value) { - return vstrbq (base, value); + vstrbq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s32.c index 12764bf3041..266371b683b 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s32.c @@ -18,7 +18,7 @@ extern "C" { void foo (int8_t *base, int32x4_t value) { - return vstrbq_s32 (base, value); + vstrbq_s32 (base, value); } @@ -31,7 +31,7 @@ foo (int8_t *base, int32x4_t value) void foo1 (int8_t *base, int32x4_t value) { - return vstrbq (base, value); + vstrbq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s8.c index 05a9e5c42ce..18e6e639d2b 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_s8.c @@ -18,7 +18,7 @@ extern "C" { void foo (int8_t *base, int8x16_t value) { - return vstrbq_s8 (base, value); + vstrbq_s8 (base, value); } @@ -31,7 +31,7 @@ foo (int8_t *base, int8x16_t value) void foo1 (int8_t *base, int8x16_t value) { - return vstrbq (base, value); + vstrbq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c index 052c3f85b75..d8204c0e9e9 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s16.c @@ -22,7 +22,7 @@ extern "C" { void foo (int8_t *base, uint16x8_t offset, int16x8_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p_s16 (base, offset, value, p); + vstrbq_scatter_offset_p_s16 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (int8_t *base, uint16x8_t offset, int16x8_t value, mve_pred16_t p) void foo1 (int8_t *base, uint16x8_t offset, int16x8_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p (base, offset, value, p); + vstrbq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c index 57410e46a8a..0912f077427 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s32.c @@ -22,7 +22,7 @@ extern "C" { void foo (int8_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p_s32 (base, offset, value, p); + vstrbq_scatter_offset_p_s32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (int8_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) void foo1 (int8_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p (base, offset, value, p); + vstrbq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c index c3cdefdf078..fbe1a67628b 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_s8.c @@ -22,7 +22,7 @@ extern "C" { void foo (int8_t *base, uint8x16_t offset, int8x16_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p_s8 (base, offset, value, p); + vstrbq_scatter_offset_p_s8 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (int8_t *base, uint8x16_t offset, int8x16_t value, mve_pred16_t p) void foo1 (int8_t *base, uint8x16_t offset, int8x16_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p (base, offset, value, p); + vstrbq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c index 0868cc2248b..38f4b61c75e 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u16.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint8_t *base, uint16x8_t offset, uint16x8_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p_u16 (base, offset, value, p); + vstrbq_scatter_offset_p_u16 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (uint8_t *base, uint16x8_t offset, uint16x8_t value, mve_pred16_t p) void foo1 (uint8_t *base, uint16x8_t offset, uint16x8_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p (base, offset, value, p); + vstrbq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c index 9d769941569..c6f0bad47f4 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint8_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p_u32 (base, offset, value, p); + vstrbq_scatter_offset_p_u32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (uint8_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) void foo1 (uint8_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p (base, offset, value, p); + vstrbq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c index 4586535d600..a4f89db8fd0 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_p_u8.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint8_t *base, uint8x16_t offset, uint8x16_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p_u8 (base, offset, value, p); + vstrbq_scatter_offset_p_u8 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (uint8_t *base, uint8x16_t offset, uint8x16_t value, mve_pred16_t p) void foo1 (uint8_t *base, uint8x16_t offset, uint8x16_t value, mve_pred16_t p) { - return vstrbq_scatter_offset_p (base, offset, value, p); + vstrbq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c index 179b96f4973..177954302e2 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s16.c @@ -18,7 +18,7 @@ extern "C" { void foo (int8_t *base, uint16x8_t offset, int16x8_t value) { - return vstrbq_scatter_offset_s16 (base, offset, value); + vstrbq_scatter_offset_s16 (base, offset, value); } @@ -31,7 +31,7 @@ foo (int8_t *base, uint16x8_t offset, int16x8_t value) void foo1 (int8_t *base, uint16x8_t offset, int16x8_t value) { - return vstrbq_scatter_offset (base, offset, value); + vstrbq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c index e7b7767c9f2..60d4d37c2e3 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s32.c @@ -18,7 +18,7 @@ extern "C" { void foo (int8_t *base, uint32x4_t offset, int32x4_t value) { - return vstrbq_scatter_offset_s32 (base, offset, value); + vstrbq_scatter_offset_s32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (int8_t *base, uint32x4_t offset, int32x4_t value) void foo1 (int8_t *base, uint32x4_t offset, int32x4_t value) { - return vstrbq_scatter_offset (base, offset, value); + vstrbq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c index f47bdd1a630..64a7d1ba279 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_s8.c @@ -18,7 +18,7 @@ extern "C" { void foo (int8_t *base, uint8x16_t offset, int8x16_t value) { - return vstrbq_scatter_offset_s8 (base, offset, value); + vstrbq_scatter_offset_s8 (base, offset, value); } @@ -31,7 +31,7 @@ foo (int8_t *base, uint8x16_t offset, int8x16_t value) void foo1 (int8_t *base, uint8x16_t offset, int8x16_t value) { - return vstrbq_scatter_offset (base, offset, value); + vstrbq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c index 90e8cf351f9..b8f4f26749a 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u16.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint8_t *base, uint16x8_t offset, uint16x8_t value) { - return vstrbq_scatter_offset_u16 (base, offset, value); + vstrbq_scatter_offset_u16 (base, offset, value); } @@ -31,7 +31,7 @@ foo (uint8_t *base, uint16x8_t offset, uint16x8_t value) void foo1 (uint8_t *base, uint16x8_t offset, uint16x8_t value) { - return vstrbq_scatter_offset (base, offset, value); + vstrbq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c index e5449aa0942..e0b36f1b5b7 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint8_t *base, uint32x4_t offset, uint32x4_t value) { - return vstrbq_scatter_offset_u32 (base, offset, value); + vstrbq_scatter_offset_u32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (uint8_t *base, uint32x4_t offset, uint32x4_t value) void foo1 (uint8_t *base, uint32x4_t offset, uint32x4_t value) { - return vstrbq_scatter_offset (base, offset, value); + vstrbq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c index 06c8c45e877..163792a0e5e 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_scatter_offset_u8.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint8_t *base, uint8x16_t offset, uint8x16_t value) { - return vstrbq_scatter_offset_u8 (base, offset, value); + vstrbq_scatter_offset_u8 (base, offset, value); } @@ -31,7 +31,7 @@ foo (uint8_t *base, uint8x16_t offset, uint8x16_t value) void foo1 (uint8_t *base, uint8x16_t offset, uint8x16_t value) { - return vstrbq_scatter_offset (base, offset, value); + vstrbq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u16.c index 0b350e2491b..82cf4a85c43 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u16.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint8_t *base, uint16x8_t value) { - return vstrbq_u16 (base, value); + vstrbq_u16 (base, value); } @@ -31,7 +31,7 @@ foo (uint8_t *base, uint16x8_t value) void foo1 (uint8_t *base, uint16x8_t value) { - return vstrbq (base, value); + vstrbq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u32.c index 2f809356420..d5aedf99975 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint8_t *base, uint32x4_t value) { - return vstrbq_u32 (base, value); + vstrbq_u32 (base, value); } @@ -31,7 +31,7 @@ foo (uint8_t *base, uint32x4_t value) void foo1 (uint8_t *base, uint32x4_t value) { - return vstrbq (base, value); + vstrbq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u8.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u8.c index deeea98dda5..fbf2bb2ece9 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u8.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrbq_u8.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint8_t *base, uint8x16_t value) { - return vstrbq_u8 (base, value); + vstrbq_u8 (base, value); } @@ -31,7 +31,7 @@ foo (uint8_t *base, uint8x16_t value) void foo1 (uint8_t *base, uint8x16_t value) { - return vstrbq (base, value); + vstrbq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c index 25a889dd1f0..8567b08274c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_s64.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint64x2_t addr, int64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_base_p_s64 (addr, 0, value, p); + vstrdq_scatter_base_p_s64 (addr, 0, value, p); } @@ -39,7 +39,7 @@ foo (uint64x2_t addr, int64x2_t value, mve_pred16_t p) void foo1 (uint64x2_t addr, int64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_base_p (addr, 0, value, p); + vstrdq_scatter_base_p (addr, 0, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c index f0731f69a09..8cec7226b38 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_p_u64.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint64x2_t addr, uint64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_base_p_u64 (addr, 0, value, p); + vstrdq_scatter_base_p_u64 (addr, 0, value, p); } @@ -39,7 +39,7 @@ foo (uint64x2_t addr, uint64x2_t value, mve_pred16_t p) void foo1 (uint64x2_t addr, uint64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_base_p (addr, 0, value, p); + vstrdq_scatter_base_p (addr, 0, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c index 31cdec9ba0a..546a79adad1 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_s64.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint64x2_t addr, int64x2_t value) { - return vstrdq_scatter_base_s64 (addr, 0, value); + vstrdq_scatter_base_s64 (addr, 0, value); } @@ -31,7 +31,7 @@ foo (uint64x2_t addr, int64x2_t value) void foo1 (uint64x2_t addr, int64x2_t value) { - return vstrdq_scatter_base (addr, 0, value); + vstrdq_scatter_base (addr, 0, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c index 8f0195c9e8f..5349ae3d5b8 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_u64.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint64x2_t addr, uint64x2_t value) { - return vstrdq_scatter_base_u64 (addr, 0, value); + vstrdq_scatter_base_u64 (addr, 0, value); } @@ -31,7 +31,7 @@ foo (uint64x2_t addr, uint64x2_t value) void foo1 (uint64x2_t addr, uint64x2_t value) { - return vstrdq_scatter_base (addr, 0, value); + vstrdq_scatter_base (addr, 0, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c index 8f19ede4e1a..ce8bcada8cd 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_s64.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint64x2_t *addr, int64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_base_wb_p_s64 (addr, 0, value, p); + vstrdq_scatter_base_wb_p_s64 (addr, 0, value, p); } @@ -39,7 +39,7 @@ foo (uint64x2_t *addr, int64x2_t value, mve_pred16_t p) void foo1 (uint64x2_t *addr, int64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_base_wb_p (addr, 0, value, p); + vstrdq_scatter_base_wb_p (addr, 0, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c index 41958c961f4..dae66aea5b4 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_p_u64.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint64x2_t *addr, uint64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_base_wb_p_u64 (addr, 0, value, p); + vstrdq_scatter_base_wb_p_u64 (addr, 0, value, p); } @@ -39,7 +39,7 @@ foo (uint64x2_t *addr, uint64x2_t value, mve_pred16_t p) void foo1 (uint64x2_t *addr, uint64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_base_wb_p (addr, 0, value, p); + vstrdq_scatter_base_wb_p (addr, 0, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c index fc06db1c202..164d7008651 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_s64.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint64x2_t *addr, int64x2_t value) { - return vstrdq_scatter_base_wb_s64 (addr, 0, value); + vstrdq_scatter_base_wb_s64 (addr, 0, value); } @@ -31,7 +31,7 @@ foo (uint64x2_t *addr, int64x2_t value) void foo1 (uint64x2_t *addr, int64x2_t value) { - return vstrdq_scatter_base_wb (addr, 0, value); + vstrdq_scatter_base_wb (addr, 0, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c index c6529e617e3..3062644f72a 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_base_wb_u64.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint64x2_t *addr, uint64x2_t value) { - return vstrdq_scatter_base_wb_u64 (addr, 0, value); + vstrdq_scatter_base_wb_u64 (addr, 0, value); } @@ -31,7 +31,7 @@ foo (uint64x2_t *addr, uint64x2_t value) void foo1 (uint64x2_t *addr, uint64x2_t value) { - return vstrdq_scatter_base_wb (addr, 0, value); + vstrdq_scatter_base_wb (addr, 0, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c index 754fb59df4c..47a5bba9885 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_s64.c @@ -22,7 +22,7 @@ extern "C" { void foo (int64_t *base, uint64x2_t offset, int64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_offset_p_s64 (base, offset, value, p); + vstrdq_scatter_offset_p_s64 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (int64_t *base, uint64x2_t offset, int64x2_t value, mve_pred16_t p) void foo1 (int64_t *base, uint64x2_t offset, int64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_offset_p (base, offset, value, p); + vstrdq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c index 046f29a6621..28194e378c7 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_p_u64.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint64_t *base, uint64x2_t offset, uint64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_offset_p_u64 (base, offset, value, p); + vstrdq_scatter_offset_p_u64 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (uint64_t *base, uint64x2_t offset, uint64x2_t value, mve_pred16_t p) void foo1 (uint64_t *base, uint64x2_t offset, uint64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_offset_p (base, offset, value, p); + vstrdq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c index 73e25cdf0ed..5a3612d9ffb 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_s64.c @@ -18,7 +18,7 @@ extern "C" { void foo (int64_t *base, uint64x2_t offset, int64x2_t value) { - return vstrdq_scatter_offset_s64 (base, offset, value); + vstrdq_scatter_offset_s64 (base, offset, value); } @@ -31,7 +31,7 @@ foo (int64_t *base, uint64x2_t offset, int64x2_t value) void foo1 (int64_t *base, uint64x2_t offset, int64x2_t value) { - return vstrdq_scatter_offset (base, offset, value); + vstrdq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c index d49adde0b94..c71b8b78aa2 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_offset_u64.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint64_t *base, uint64x2_t offset, uint64x2_t value) { - return vstrdq_scatter_offset_u64 (base, offset, value); + vstrdq_scatter_offset_u64 (base, offset, value); } @@ -31,7 +31,7 @@ foo (uint64_t *base, uint64x2_t offset, uint64x2_t value) void foo1 (uint64_t *base, uint64x2_t offset, uint64x2_t value) { - return vstrdq_scatter_offset (base, offset, value); + vstrdq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c index 8acfba1f55e..4f722c04c92 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_s64.c @@ -22,7 +22,7 @@ extern "C" { void foo (int64_t *base, uint64x2_t offset, int64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_shifted_offset_p_s64 (base, offset, value, p); + vstrdq_scatter_shifted_offset_p_s64 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (int64_t *base, uint64x2_t offset, int64x2_t value, mve_pred16_t p) void foo1 (int64_t *base, uint64x2_t offset, int64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_shifted_offset_p (base, offset, value, p); + vstrdq_scatter_shifted_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c index 630c627d604..4183b092d2c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_p_u64.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint64_t *base, uint64x2_t offset, uint64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_shifted_offset_p_u64 (base, offset, value, p); + vstrdq_scatter_shifted_offset_p_u64 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (uint64_t *base, uint64x2_t offset, uint64x2_t value, mve_pred16_t p) void foo1 (uint64_t *base, uint64x2_t offset, uint64x2_t value, mve_pred16_t p) { - return vstrdq_scatter_shifted_offset_p (base, offset, value, p); + vstrdq_scatter_shifted_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c index ec73bca4869..b4d123984e1 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_s64.c @@ -18,7 +18,7 @@ extern "C" { void foo (int64_t *base, uint64x2_t offset, int64x2_t value) { - return vstrdq_scatter_shifted_offset_s64 (base, offset, value); + vstrdq_scatter_shifted_offset_s64 (base, offset, value); } @@ -31,7 +31,7 @@ foo (int64_t *base, uint64x2_t offset, int64x2_t value) void foo1 (int64_t *base, uint64x2_t offset, int64x2_t value) { - return vstrdq_scatter_shifted_offset (base, offset, value); + vstrdq_scatter_shifted_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c index 9bdf8003961..00e5ebfdd72 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrdq_scatter_shifted_offset_u64.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint64_t *base, uint64x2_t offset, uint64x2_t value) { - return vstrdq_scatter_shifted_offset_u64 (base, offset, value); + vstrdq_scatter_shifted_offset_u64 (base, offset, value); } @@ -31,7 +31,7 @@ foo (uint64_t *base, uint64x2_t offset, uint64x2_t value) void foo1 (uint64_t *base, uint64x2_t offset, uint64x2_t value) { - return vstrdq_scatter_shifted_offset (base, offset, value); + vstrdq_scatter_shifted_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_f16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_f16.c index a41217b24f2..3c3596bef20 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_f16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_f16.c @@ -18,7 +18,7 @@ extern "C" { void foo (float16_t *base, float16x8_t value) { - return vstrhq_f16 (base, value); + vstrhq_f16 (base, value); } @@ -31,7 +31,7 @@ foo (float16_t *base, float16x8_t value) void foo1 (float16_t *base, float16x8_t value) { - return vstrhq (base, value); + vstrhq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c index 8398a60023d..419eba2ae6e 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_f16.c @@ -22,7 +22,7 @@ extern "C" { void foo (float16_t *base, float16x8_t value, mve_pred16_t p) { - return vstrhq_p_f16 (base, value, p); + vstrhq_p_f16 (base, value, p); } @@ -39,7 +39,7 @@ foo (float16_t *base, float16x8_t value, mve_pred16_t p) void foo1 (float16_t *base, float16x8_t value, mve_pred16_t p) { - return vstrhq_p (base, value, p); + vstrhq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c index ee1026801be..8075fbbd305 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_s16.c @@ -22,7 +22,7 @@ extern "C" { void foo (int16_t *base, int16x8_t value, mve_pred16_t p) { - return vstrhq_p_s16 (base, value, p); + vstrhq_p_s16 (base, value, p); } @@ -39,7 +39,7 @@ foo (int16_t *base, int16x8_t value, mve_pred16_t p) void foo1 (int16_t *base, int16x8_t value, mve_pred16_t p) { - return vstrhq_p (base, value, p); + vstrhq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c index b8490209644..7830736f69b 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_s32.c @@ -22,7 +22,7 @@ extern "C" { void foo (int16_t *base, int32x4_t value, mve_pred16_t p) { - return vstrhq_p_s32 (base, value, p); + vstrhq_p_s32 (base, value, p); } @@ -39,7 +39,7 @@ foo (int16_t *base, int32x4_t value, mve_pred16_t p) void foo1 (int16_t *base, int32x4_t value, mve_pred16_t p) { - return vstrhq_p (base, value, p); + vstrhq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c index 59fb73cef19..d4fcc914b6e 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_u16.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint16_t *base, uint16x8_t value, mve_pred16_t p) { - return vstrhq_p_u16 (base, value, p); + vstrhq_p_u16 (base, value, p); } @@ -39,7 +39,7 @@ foo (uint16_t *base, uint16x8_t value, mve_pred16_t p) void foo1 (uint16_t *base, uint16x8_t value, mve_pred16_t p) { - return vstrhq_p (base, value, p); + vstrhq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c index ed66db7f8ce..f6339c365e2 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_p_u32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint16_t *base, uint32x4_t value, mve_pred16_t p) { - return vstrhq_p_u32 (base, value, p); + vstrhq_p_u32 (base, value, p); } @@ -39,7 +39,7 @@ foo (uint16_t *base, uint32x4_t value, mve_pred16_t p) void foo1 (uint16_t *base, uint32x4_t value, mve_pred16_t p) { - return vstrhq_p (base, value, p); + vstrhq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_s16.c index 972d733c5bd..964453376aa 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_s16.c @@ -18,7 +18,7 @@ extern "C" { void foo (int16_t *base, int16x8_t value) { - return vstrhq_s16 (base, value); + vstrhq_s16 (base, value); } @@ -31,7 +31,7 @@ foo (int16_t *base, int16x8_t value) void foo1 (int16_t *base, int16x8_t value) { - return vstrhq (base, value); + vstrhq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_s32.c index f260c61c3a8..49040fdd3ca 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_s32.c @@ -18,7 +18,7 @@ extern "C" { void foo (int16_t *base, int32x4_t value) { - return vstrhq_s32 (base, value); + vstrhq_s32 (base, value); } @@ -31,7 +31,7 @@ foo (int16_t *base, int32x4_t value) void foo1 (int16_t *base, int32x4_t value) { - return vstrhq (base, value); + vstrhq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c index 794d75e76ac..9e441a58934 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_f16.c @@ -18,7 +18,7 @@ extern "C" { void foo (float16_t *base, uint16x8_t offset, float16x8_t value) { - return vstrhq_scatter_offset_f16 (base, offset, value); + vstrhq_scatter_offset_f16 (base, offset, value); } @@ -31,7 +31,7 @@ foo (float16_t *base, uint16x8_t offset, float16x8_t value) void foo1 (float16_t *base, uint16x8_t offset, float16x8_t value) { - return vstrhq_scatter_offset (base, offset, value); + vstrhq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c index 1fd5a0773dc..1d3a6f7618e 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_f16.c @@ -22,7 +22,7 @@ extern "C" { void foo (float16_t *base, uint16x8_t offset, float16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_offset_p_f16 (base, offset, value, p); + vstrhq_scatter_offset_p_f16 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (float16_t *base, uint16x8_t offset, float16x8_t value, mve_pred16_t p) void foo1 (float16_t *base, uint16x8_t offset, float16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_offset_p (base, offset, value, p); + vstrhq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c index 34c44a90541..e5ed90be393 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s16.c @@ -22,7 +22,7 @@ extern "C" { void foo (int16_t *base, uint16x8_t offset, int16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_offset_p_s16 (base, offset, value, p); + vstrhq_scatter_offset_p_s16 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (int16_t *base, uint16x8_t offset, int16x8_t value, mve_pred16_t p) void foo1 (int16_t *base, uint16x8_t offset, int16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_offset_p (base, offset, value, p); + vstrhq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c index 2a84b28a3f5..325e47556f4 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_s32.c @@ -22,7 +22,7 @@ extern "C" { void foo (int16_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) { - return vstrhq_scatter_offset_p_s32 (base, offset, value, p); + vstrhq_scatter_offset_p_s32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (int16_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) void foo1 (int16_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) { - return vstrhq_scatter_offset_p (base, offset, value, p); + vstrhq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c index f1c875657ce..f3bb781d04a 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u16.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint16_t *base, uint16x8_t offset, uint16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_offset_p_u16 (base, offset, value, p); + vstrhq_scatter_offset_p_u16 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (uint16_t *base, uint16x8_t offset, uint16x8_t value, mve_pred16_t p) void foo1 (uint16_t *base, uint16x8_t offset, uint16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_offset_p (base, offset, value, p); + vstrhq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c index 913fd8d5591..20b2f398a37 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_p_u32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint16_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) { - return vstrhq_scatter_offset_p_u32 (base, offset, value, p); + vstrhq_scatter_offset_p_u32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (uint16_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) void foo1 (uint16_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) { - return vstrhq_scatter_offset_p (base, offset, value, p); + vstrhq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c index b322d0fa02e..73f86d9fd11 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s16.c @@ -18,7 +18,7 @@ extern "C" { void foo (int16_t *base, uint16x8_t offset, int16x8_t value) { - return vstrhq_scatter_offset_s16 (base, offset, value); + vstrhq_scatter_offset_s16 (base, offset, value); } @@ -31,7 +31,7 @@ foo (int16_t *base, uint16x8_t offset, int16x8_t value) void foo1 (int16_t *base, uint16x8_t offset, int16x8_t value) { - return vstrhq_scatter_offset (base, offset, value); + vstrhq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c index 49fcc3a382b..a9155b8944c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_s32.c @@ -18,7 +18,7 @@ extern "C" { void foo (int16_t *base, uint32x4_t offset, int32x4_t value) { - return vstrhq_scatter_offset_s32 (base, offset, value); + vstrhq_scatter_offset_s32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (int16_t *base, uint32x4_t offset, int32x4_t value) void foo1 (int16_t *base, uint32x4_t offset, int32x4_t value) { - return vstrhq_scatter_offset (base, offset, value); + vstrhq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c index b5de540a74c..d3bde197df6 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u16.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint16_t *base, uint16x8_t offset, uint16x8_t value) { - return vstrhq_scatter_offset_u16 (base, offset, value); + vstrhq_scatter_offset_u16 (base, offset, value); } @@ -31,7 +31,7 @@ foo (uint16_t *base, uint16x8_t offset, uint16x8_t value) void foo1 (uint16_t *base, uint16x8_t offset, uint16x8_t value) { - return vstrhq_scatter_offset (base, offset, value); + vstrhq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c index 7808f25d4a4..1da21c4430c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_offset_u32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint16_t *base, uint32x4_t offset, uint32x4_t value) { - return vstrhq_scatter_offset_u32 (base, offset, value); + vstrhq_scatter_offset_u32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (uint16_t *base, uint32x4_t offset, uint32x4_t value) void foo1 (uint16_t *base, uint32x4_t offset, uint32x4_t value) { - return vstrhq_scatter_offset (base, offset, value); + vstrhq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c index 6d57a22fe41..00e41b68053 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_f16.c @@ -18,7 +18,7 @@ extern "C" { void foo (float16_t *base, uint16x8_t offset, float16x8_t value) { - return vstrhq_scatter_shifted_offset_f16 (base, offset, value); + vstrhq_scatter_shifted_offset_f16 (base, offset, value); } @@ -31,7 +31,7 @@ foo (float16_t *base, uint16x8_t offset, float16x8_t value) void foo1 (float16_t *base, uint16x8_t offset, float16x8_t value) { - return vstrhq_scatter_shifted_offset (base, offset, value); + vstrhq_scatter_shifted_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c index 2e77dd492a1..3a60f624c78 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_f16.c @@ -22,7 +22,7 @@ extern "C" { void foo (float16_t *base, uint16x8_t offset, float16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_shifted_offset_p_f16 (base, offset, value, p); + vstrhq_scatter_shifted_offset_p_f16 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (float16_t *base, uint16x8_t offset, float16x8_t value, mve_pred16_t p) void foo1 (float16_t *base, uint16x8_t offset, float16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_shifted_offset_p (base, offset, value, p); + vstrhq_scatter_shifted_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c index 1c83a13ffdf..b9b35b2d9c8 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s16.c @@ -22,7 +22,7 @@ extern "C" { void foo (int16_t *base, uint16x8_t offset, int16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_shifted_offset_p_s16 (base, offset, value, p); + vstrhq_scatter_shifted_offset_p_s16 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (int16_t *base, uint16x8_t offset, int16x8_t value, mve_pred16_t p) void foo1 (int16_t *base, uint16x8_t offset, int16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_shifted_offset_p (base, offset, value, p); + vstrhq_scatter_shifted_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c index 6d786de4379..be9aed9a912 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_s32.c @@ -22,7 +22,7 @@ extern "C" { void foo (int16_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) { - return vstrhq_scatter_shifted_offset_p_s32 (base, offset, value, p); + vstrhq_scatter_shifted_offset_p_s32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (int16_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) void foo1 (int16_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) { - return vstrhq_scatter_shifted_offset_p (base, offset, value, p); + vstrhq_scatter_shifted_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c index fd73168ddbb..936585f2faa 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u16.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint16_t *base, uint16x8_t offset, uint16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_shifted_offset_p_u16 (base, offset, value, p); + vstrhq_scatter_shifted_offset_p_u16 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (uint16_t *base, uint16x8_t offset, uint16x8_t value, mve_pred16_t p) void foo1 (uint16_t *base, uint16x8_t offset, uint16x8_t value, mve_pred16_t p) { - return vstrhq_scatter_shifted_offset_p (base, offset, value, p); + vstrhq_scatter_shifted_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c index 689195ce603..8cab78fbf77 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_p_u32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint16_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) { - return vstrhq_scatter_shifted_offset_p_u32 (base, offset, value, p); + vstrhq_scatter_shifted_offset_p_u32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (uint16_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) void foo1 (uint16_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) { - return vstrhq_scatter_shifted_offset_p (base, offset, value, p); + vstrhq_scatter_shifted_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c index 0edacd938f6..d718aa5244c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s16.c @@ -18,7 +18,7 @@ extern "C" { void foo (int16_t *base, uint16x8_t offset, int16x8_t value) { - return vstrhq_scatter_shifted_offset_s16 (base, offset, value); + vstrhq_scatter_shifted_offset_s16 (base, offset, value); } @@ -31,7 +31,7 @@ foo (int16_t *base, uint16x8_t offset, int16x8_t value) void foo1 (int16_t *base, uint16x8_t offset, int16x8_t value) { - return vstrhq_scatter_shifted_offset (base, offset, value); + vstrhq_scatter_shifted_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c index ebda2faec92..8720da044c9 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_s32.c @@ -18,7 +18,7 @@ extern "C" { void foo (int16_t *base, uint32x4_t offset, int32x4_t value) { - return vstrhq_scatter_shifted_offset_s32 (base, offset, value); + vstrhq_scatter_shifted_offset_s32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (int16_t *base, uint32x4_t offset, int32x4_t value) void foo1 (int16_t *base, uint32x4_t offset, int32x4_t value) { - return vstrhq_scatter_shifted_offset (base, offset, value); + vstrhq_scatter_shifted_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c index abe8bbf8045..92257122ec0 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u16.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint16_t *base, uint16x8_t offset, uint16x8_t value) { - return vstrhq_scatter_shifted_offset_u16 (base, offset, value); + vstrhq_scatter_shifted_offset_u16 (base, offset, value); } @@ -31,7 +31,7 @@ foo (uint16_t *base, uint16x8_t offset, uint16x8_t value) void foo1 (uint16_t *base, uint16x8_t offset, uint16x8_t value) { - return vstrhq_scatter_shifted_offset (base, offset, value); + vstrhq_scatter_shifted_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c index a01b04bd940..91c337f9d0a 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_scatter_shifted_offset_u32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint16_t *base, uint32x4_t offset, uint32x4_t value) { - return vstrhq_scatter_shifted_offset_u32 (base, offset, value); + vstrhq_scatter_shifted_offset_u32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (uint16_t *base, uint32x4_t offset, uint32x4_t value) void foo1 (uint16_t *base, uint32x4_t offset, uint32x4_t value) { - return vstrhq_scatter_shifted_offset (base, offset, value); + vstrhq_scatter_shifted_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_u16.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_u16.c index 85f5790ff49..ec64ad08757 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_u16.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_u16.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint16_t *base, uint16x8_t value) { - return vstrhq_u16 (base, value); + vstrhq_u16 (base, value); } @@ -31,7 +31,7 @@ foo (uint16_t *base, uint16x8_t value) void foo1 (uint16_t *base, uint16x8_t value) { - return vstrhq (base, value); + vstrhq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_u32.c index d0958e22222..ba0106b0058 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrhq_u32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint16_t *base, uint32x4_t value) { - return vstrhq_u32 (base, value); + vstrhq_u32 (base, value); } @@ -31,7 +31,7 @@ foo (uint16_t *base, uint32x4_t value) void foo1 (uint16_t *base, uint32x4_t value) { - return vstrhq (base, value); + vstrhq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_f32.c index e92ecb0f6bc..fdeb673c8c2 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_f32.c @@ -18,7 +18,7 @@ extern "C" { void foo (float32_t *base, float32x4_t value) { - return vstrwq_f32 (base, value); + vstrwq_f32 (base, value); } @@ -31,7 +31,7 @@ foo (float32_t *base, float32x4_t value) void foo1 (float32_t *base, float32x4_t value) { - return vstrwq (base, value); + vstrwq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c index f1992a67736..d923909486c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_f32.c @@ -22,7 +22,7 @@ extern "C" { void foo (float32_t *base, float32x4_t value, mve_pred16_t p) { - return vstrwq_p_f32 (base, value, p); + vstrwq_p_f32 (base, value, p); } @@ -39,7 +39,7 @@ foo (float32_t *base, float32x4_t value, mve_pred16_t p) void foo1 (float32_t *base, float32x4_t value, mve_pred16_t p) { - return vstrwq_p (base, value, p); + vstrwq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c index a00aeabb9fe..5444ca47bf6 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_s32.c @@ -22,7 +22,7 @@ extern "C" { void foo (int32_t *base, int32x4_t value, mve_pred16_t p) { - return vstrwq_p_s32 (base, value, p); + vstrwq_p_s32 (base, value, p); } @@ -39,7 +39,7 @@ foo (int32_t *base, int32x4_t value, mve_pred16_t p) void foo1 (int32_t *base, int32x4_t value, mve_pred16_t p) { - return vstrwq_p (base, value, p); + vstrwq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c index 05fded8aac8..3c7f376d076 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_p_u32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint32_t *base, uint32x4_t value, mve_pred16_t p) { - return vstrwq_p_u32 (base, value, p); + vstrwq_p_u32 (base, value, p); } @@ -39,7 +39,7 @@ foo (uint32_t *base, uint32x4_t value, mve_pred16_t p) void foo1 (uint32_t *base, uint32x4_t value, mve_pred16_t p) { - return vstrwq_p (base, value, p); + vstrwq_p (base, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_s32.c index b2a184f3c66..828c7fbd9ff 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_s32.c @@ -18,7 +18,7 @@ extern "C" { void foo (int32_t *base, int32x4_t value) { - return vstrwq_s32 (base, value); + vstrwq_s32 (base, value); } @@ -31,7 +31,7 @@ foo (int32_t *base, int32x4_t value) void foo1 (int32_t *base, int32x4_t value) { - return vstrwq (base, value); + vstrwq (base, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c index c80e8d9cdc5..d23fdc91610 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_f32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint32x4_t addr, float32x4_t value) { - return vstrwq_scatter_base_f32 (addr, 0, value); + vstrwq_scatter_base_f32 (addr, 0, value); } @@ -31,7 +31,7 @@ foo (uint32x4_t addr, float32x4_t value) void foo1 (uint32x4_t addr, float32x4_t value) { - return vstrwq_scatter_base (addr, 0, value); + vstrwq_scatter_base (addr, 0, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c index 237843c0661..fa49e0499c6 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_f32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint32x4_t addr, float32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_p_f32 (addr, 0, value, p); + vstrwq_scatter_base_p_f32 (addr, 0, value, p); } @@ -39,7 +39,7 @@ foo (uint32x4_t addr, float32x4_t value, mve_pred16_t p) void foo1 (uint32x4_t addr, float32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_p (addr, 0, value, p); + vstrwq_scatter_base_p (addr, 0, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c index 5f4f4a09664..d3ece2c5134 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_s32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint32x4_t addr, int32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_p_s32 (addr, 0, value, p); + vstrwq_scatter_base_p_s32 (addr, 0, value, p); } @@ -39,7 +39,7 @@ foo (uint32x4_t addr, int32x4_t value, mve_pred16_t p) void foo1 (uint32x4_t addr, int32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_p (addr, 0, value, p); + vstrwq_scatter_base_p (addr, 0, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c index 8c5cf63f861..fcb92e5ccb3 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_p_u32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint32x4_t addr, uint32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_p_u32 (addr, 0, value, p); + vstrwq_scatter_base_p_u32 (addr, 0, value, p); } @@ -39,7 +39,7 @@ foo (uint32x4_t addr, uint32x4_t value, mve_pred16_t p) void foo1 (uint32x4_t addr, uint32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_p (addr, 0, value, p); + vstrwq_scatter_base_p (addr, 0, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c index 5208cf4f808..b20639c7e69 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_s32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint32x4_t addr, int32x4_t value) { - return vstrwq_scatter_base_s32 (addr, 0, value); + vstrwq_scatter_base_s32 (addr, 0, value); } @@ -31,7 +31,7 @@ foo (uint32x4_t addr, int32x4_t value) void foo1 (uint32x4_t addr, int32x4_t value) { - return vstrwq_scatter_base (addr, 0, value); + vstrwq_scatter_base (addr, 0, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c index e728db2b9f1..b2c913e4c9e 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_u32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint32x4_t addr, uint32x4_t value) { - return vstrwq_scatter_base_u32 (addr, 0, value); + vstrwq_scatter_base_u32 (addr, 0, value); } @@ -31,7 +31,7 @@ foo (uint32x4_t addr, uint32x4_t value) void foo1 (uint32x4_t addr, uint32x4_t value) { - return vstrwq_scatter_base (addr, 0, value); + vstrwq_scatter_base (addr, 0, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c index e481191aa57..db7e61ce48b 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_f32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint32x4_t *addr, float32x4_t value) { - return vstrwq_scatter_base_wb_f32 (addr, 0, value); + vstrwq_scatter_base_wb_f32 (addr, 0, value); } @@ -31,7 +31,7 @@ foo (uint32x4_t *addr, float32x4_t value) void foo1 (uint32x4_t *addr, float32x4_t value) { - return vstrwq_scatter_base_wb (addr, 0, value); + vstrwq_scatter_base_wb (addr, 0, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c index 8d217d46230..710858a7110 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_f32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint32x4_t *addr, float32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_wb_p_f32 (addr, 0, value, p); + vstrwq_scatter_base_wb_p_f32 (addr, 0, value, p); } @@ -39,7 +39,7 @@ foo (uint32x4_t *addr, float32x4_t value, mve_pred16_t p) void foo1 (uint32x4_t *addr, float32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_wb_p (addr, 0, value, p); + vstrwq_scatter_base_wb_p (addr, 0, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c index afc47adcd7f..47e52c64cf3 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_s32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint32x4_t *addr, int32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_wb_p_s32 (addr, 0, value, p); + vstrwq_scatter_base_wb_p_s32 (addr, 0, value, p); } @@ -39,7 +39,7 @@ foo (uint32x4_t *addr, int32x4_t value, mve_pred16_t p) void foo1 (uint32x4_t *addr, int32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_wb_p (addr, 0, value, p); + vstrwq_scatter_base_wb_p (addr, 0, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c index 65191c2f1ed..89338abae15 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_p_u32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint32x4_t *addr, uint32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_wb_p_u32 (addr, 0, value, p); + vstrwq_scatter_base_wb_p_u32 (addr, 0, value, p); } @@ -39,7 +39,7 @@ foo (uint32x4_t *addr, uint32x4_t value, mve_pred16_t p) void foo1 (uint32x4_t *addr, uint32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_base_wb_p (addr, 0, value, p); + vstrwq_scatter_base_wb_p (addr, 0, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c index b6a9f6cd1f4..243ba35f43c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_s32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint32x4_t *addr, int32x4_t value) { - return vstrwq_scatter_base_wb_s32 (addr, 0, value); + vstrwq_scatter_base_wb_s32 (addr, 0, value); } @@ -31,7 +31,7 @@ foo (uint32x4_t *addr, int32x4_t value) void foo1 (uint32x4_t *addr, int32x4_t value) { - return vstrwq_scatter_base_wb (addr, 0, value); + vstrwq_scatter_base_wb (addr, 0, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c index 81a278f4e2b..1eb7010ccd8 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_base_wb_u32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint32x4_t *addr, uint32x4_t value) { - return vstrwq_scatter_base_wb_u32 (addr, 0, value); + vstrwq_scatter_base_wb_u32 (addr, 0, value); } @@ -31,7 +31,7 @@ foo (uint32x4_t *addr, uint32x4_t value) void foo1 (uint32x4_t *addr, uint32x4_t value) { - return vstrwq_scatter_base_wb (addr, 0, value); + vstrwq_scatter_base_wb (addr, 0, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c index b81df68aa21..14ddb863b3c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_f32.c @@ -18,7 +18,7 @@ extern "C" { void foo (float32_t *base, uint32x4_t offset, float32x4_t value) { - return vstrwq_scatter_offset_f32 (base, offset, value); + vstrwq_scatter_offset_f32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (float32_t *base, uint32x4_t offset, float32x4_t value) void foo1 (float32_t *base, uint32x4_t offset, float32x4_t value) { - return vstrwq_scatter_offset (base, offset, value); + vstrwq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c index 8aee42f76a3..4041690a5e7 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_f32.c @@ -22,7 +22,7 @@ extern "C" { void foo (float32_t *base, uint32x4_t offset, float32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_offset_p_f32 (base, offset, value, p); + vstrwq_scatter_offset_p_f32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (float32_t *base, uint32x4_t offset, float32x4_t value, mve_pred16_t p) void foo1 (float32_t *base, uint32x4_t offset, float32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_offset_p (base, offset, value, p); + vstrwq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c index 9c74ae7a8d8..5c932ad45b8 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_s32.c @@ -22,7 +22,7 @@ extern "C" { void foo (int32_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_offset_p_s32 (base, offset, value, p); + vstrwq_scatter_offset_p_s32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (int32_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) void foo1 (int32_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_offset_p (base, offset, value, p); + vstrwq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c index 015a202b548..d5aaa718eee 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_p_u32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint32_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_offset_p_u32 (base, offset, value, p); + vstrwq_scatter_offset_p_u32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (uint32_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) void foo1 (uint32_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_offset_p (base, offset, value, p); + vstrwq_scatter_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c index df373111b78..d7b148861e7 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_s32.c @@ -18,7 +18,7 @@ extern "C" { void foo (int32_t *base, uint32x4_t offset, int32x4_t value) { - return vstrwq_scatter_offset_s32 (base, offset, value); + vstrwq_scatter_offset_s32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (int32_t *base, uint32x4_t offset, int32x4_t value) void foo1 (int32_t *base, uint32x4_t offset, int32x4_t value) { - return vstrwq_scatter_offset (base, offset, value); + vstrwq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c index a74696ca273..163a9064c5c 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_offset_u32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint32_t *base, uint32x4_t offset, uint32x4_t value) { - return vstrwq_scatter_offset_u32 (base, offset, value); + vstrwq_scatter_offset_u32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (uint32_t *base, uint32x4_t offset, uint32x4_t value) void foo1 (uint32_t *base, uint32x4_t offset, uint32x4_t value) { - return vstrwq_scatter_offset (base, offset, value); + vstrwq_scatter_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c index 1c9b29a57b8..84af7098ff2 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_f32.c @@ -18,7 +18,7 @@ extern "C" { void foo (float32_t *base, uint32x4_t offset, float32x4_t value) { - return vstrwq_scatter_shifted_offset_f32 (base, offset, value); + vstrwq_scatter_shifted_offset_f32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (float32_t *base, uint32x4_t offset, float32x4_t value) void foo1 (float32_t *base, uint32x4_t offset, float32x4_t value) { - return vstrwq_scatter_shifted_offset (base, offset, value); + vstrwq_scatter_shifted_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c index 08e1572854e..90ac9e68977 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_f32.c @@ -22,7 +22,7 @@ extern "C" { void foo (float32_t *base, uint32x4_t offset, float32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_shifted_offset_p_f32 (base, offset, value, p); + vstrwq_scatter_shifted_offset_p_f32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (float32_t *base, uint32x4_t offset, float32x4_t value, mve_pred16_t p) void foo1 (float32_t *base, uint32x4_t offset, float32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_shifted_offset_p (base, offset, value, p); + vstrwq_scatter_shifted_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c index 2b8f8a7d61f..34ef85ab79e 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_s32.c @@ -22,7 +22,7 @@ extern "C" { void foo (int32_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_shifted_offset_p_s32 (base, offset, value, p); + vstrwq_scatter_shifted_offset_p_s32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (int32_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) void foo1 (int32_t *base, uint32x4_t offset, int32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_shifted_offset_p (base, offset, value, p); + vstrwq_scatter_shifted_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c index 3e4e87bf79a..9ec18f45638 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_p_u32.c @@ -22,7 +22,7 @@ extern "C" { void foo (uint32_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_shifted_offset_p_u32 (base, offset, value, p); + vstrwq_scatter_shifted_offset_p_u32 (base, offset, value, p); } @@ -39,7 +39,7 @@ foo (uint32_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) void foo1 (uint32_t *base, uint32x4_t offset, uint32x4_t value, mve_pred16_t p) { - return vstrwq_scatter_shifted_offset_p (base, offset, value, p); + vstrwq_scatter_shifted_offset_p (base, offset, value, p); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c index 7f25490a69a..31ca9e4df16 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_s32.c @@ -18,7 +18,7 @@ extern "C" { void foo (int32_t *base, uint32x4_t offset, int32x4_t value) { - return vstrwq_scatter_shifted_offset_s32 (base, offset, value); + vstrwq_scatter_shifted_offset_s32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (int32_t *base, uint32x4_t offset, int32x4_t value) void foo1 (int32_t *base, uint32x4_t offset, int32x4_t value) { - return vstrwq_scatter_shifted_offset (base, offset, value); + vstrwq_scatter_shifted_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c index a96220c4f6e..88a7ea8e67f 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_scatter_shifted_offset_u32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint32_t *base, uint32x4_t offset, uint32x4_t value) { - return vstrwq_scatter_shifted_offset_u32 (base, offset, value); + vstrwq_scatter_shifted_offset_u32 (base, offset, value); } @@ -31,7 +31,7 @@ foo (uint32_t *base, uint32x4_t offset, uint32x4_t value) void foo1 (uint32_t *base, uint32x4_t offset, uint32x4_t value) { - return vstrwq_scatter_shifted_offset (base, offset, value); + vstrwq_scatter_shifted_offset (base, offset, value); } #ifdef __cplusplus diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_u32.c b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_u32.c index df554af79a6..7aae0cae45b 100644 --- a/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_u32.c +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/vstrwq_u32.c @@ -18,7 +18,7 @@ extern "C" { void foo (uint32_t *base, uint32x4_t value) { - return vstrwq_u32 (base, value); + vstrwq_u32 (base, value); } @@ -31,7 +31,7 @@ foo (uint32_t *base, uint32x4_t value) void foo1 (uint32_t *base, uint32x4_t value) { - return vstrwq (base, value); + vstrwq (base, value); } #ifdef __cplusplus From patchwork Mon Sep 16 09:38:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Lyon X-Patchwork-Id: 1986061 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=cvItRrI4; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=cvItRrI4; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4X6fyC0gVhz1y2Y for ; Mon, 16 Sep 2024 19:39:31 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3DC88385843B for ; Mon, 16 Sep 2024 09:39:29 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20626.outbound.protection.outlook.com [IPv6:2a01:111:f403:2613::626]) by sourceware.org (Postfix) with ESMTPS id 7E0E23858C48 for ; Mon, 16 Sep 2024 09:38:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7E0E23858C48 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7E0E23858C48 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2613::626 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1726479540; cv=pass; b=sVWKAu0xknSE2xHnGAPguLjiqXzbWtCAlYbaZVXuPPlTG2xT6XZhjGxIPnPevySfFFOrQ/xwHd/+21JY9dHbyqLkzV1v4HK0EtDQVJWc3ima6lVsjE1sEBbvrG5pMUAJYjQ0ptheBbEcqVBqhf667y3+gNvceEpm9WmOrA1QWoo= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1726479540; c=relaxed/simple; bh=5A9dEBgAxKCw5Y+6kjRfYPwaeaC+IWTdMwqUpdTQgMU=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=PgwV25NS9YvPdKLS4HuiaP4GTjww7Iru1ldYe5IP77NxefN60M7O/xcHs5pxkNNcIjqGjsN7OezrGoRZgb48Vekbv3RmMWYe7m5ewY/QZ6IbRvF5tBKrbv+anjp5NoEez0eZoJHDjMAWXJSHIINjabHcf2AwFUW9aEr7JYqQybY= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=l5ZS3eMKfQdAhqEwcS/XwmKns1vcy3l6uRP2OAVfOdyB8Lq4PaOikNSPv42HtkABmtuJIgsB9WK+On/rWMpeLs6N3NpXvh00+bikqXUBl/mazL0+ttu2uctBvDUkMDMznKcNDOwSAdrkRcbjgLP/zAL2+3UaDjxcU4CDHDfNgntQ+211yV6YE4gy+1QvM58VABEIPcVt4vXd1TdPRi/88tK7oh1ODpNpXip5xK0mA3NlvfpgcSTAkp+vymezePzoOEWQ5qblJ3J2zsXbNtXc9ASWFZOdg9ZdRHZtrp0RR8U/kXFEnz4U8cWqFfv+qaCXAiHMEYz/cFIC65289WZyTA== ARC-Message-Signature: i=2; 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=+AivMJQY7Jr44gwNNcPsNyBndVmf6002wRyYvZl7Pbs=; b=UiokJJ1sJbCzFBoGt0091K137uIIWAiHRrca6tBILApnwQR7R5jaTr5JyYYRkK8MndJhJOMz5Hd2de1IKvpks/emOUe4X/vc2rzBrHGHxXsXpUp79YE7wx1onTabSdZhqW/5fpOwiz5td7CJl7MX7m6GuLWapwICVmU7E8ArnMLcmqfVGDoLafQNzju2MBWItX4jmdRGMmP2hSS7Ltoqcnx0rcHlAv7FVM27LwyUu2jdOiitViFMZAqSX8TLCTFA6EB5NvPdYEER94siO0DLqKz6c7XsVWWTELq9UT3+7ZCpmXRx0B69VKyg3ENn86JQ649BrSRuc4+2wCdOpBhqsw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+AivMJQY7Jr44gwNNcPsNyBndVmf6002wRyYvZl7Pbs=; b=cvItRrI46r8nYMjqU3mVlrEDvi2Km8RiGoaCkjma90XwNWgiw6RN4qCdE5N/vTEkgMEueJpgiKc33KS6z+s3T8MzFCjr8fygQEHJeH9HdHIVM9FdajTjIkZ9pdQt94orP2LSqZIoHKxWTaDjUseZF9sHMZqWdAwER5Ojh3yd1oY= Received: from DU7P250CA0029.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:54f::18) by DB5PR08MB10162.eurprd08.prod.outlook.com (2603:10a6:10:4a3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.11; Mon, 16 Sep 2024 09:38:51 +0000 Received: from DB1PEPF000509EA.eurprd03.prod.outlook.com (2603:10a6:10:54f:cafe::ec) by DU7P250CA0029.outlook.office365.com (2603:10a6:10:54f::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend Transport; Mon, 16 Sep 2024 09:38:51 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB1PEPF000509EA.mail.protection.outlook.com (10.167.242.68) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13 via Frontend Transport; Mon, 16 Sep 2024 09:38:50 +0000 Received: ("Tessian outbound 80464012c5bc:v441"); Mon, 16 Sep 2024 09:38:50 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 079204f213e99dba X-CR-MTA-TID: 64aa7808 Received: from Lf0b8a08d9ea5.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 1345FBF1-B346-496D-9201-A226ED902F1C.1; Mon, 16 Sep 2024 09:38:43 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lf0b8a08d9ea5.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 16 Sep 2024 09:38:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CCrgG215NCtcLSQ+NkaidobMtWPKgNK51G2gqRWao/9iHa+dzligDoNhOZYUtniJ6UmM+45SWNi2PnAISKBFxj3LPHL4SBEB60R2UJprk4Wbu24vQPap2gcP9PklrEx9j8BemoGJfpSFeF3Be9wYPxpTG+eZhIuLZ40HuN53DERG6I1418IIh/YEImEg1LCHBlX03HNmmgduDYro9yb/zRIeWM+vWw7dKJCJ7aiqGbRSqswDBhMeiTgI2QGkd4Xeuw1897K5MmArxqD4hyCfBvLLwJk0TSc3aEDlLfE+qAmQwOyX2eHVYDdFSS3U8oFyNdFuZ+7g/E/UEk6zp1G1VA== 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=+AivMJQY7Jr44gwNNcPsNyBndVmf6002wRyYvZl7Pbs=; b=cg3YwnOKOuTQYKs8gBJ6V3zU3HojT06BLAPXH2VJj2HFaPDHCZAWeGvhM0bU3pQrxpfIlUBkZZ2KDEI5MAstJBF1LRR19LHfit4suhWRp9Jo17pY25jXDHCHePiqh3Sy2wD4UPDGdBZgZVxDsAFQ4P2tvuvAFlhUxe6uv/OJmlj8fWTNwONM/6JFeOTcfUSmzzHBMFL4+mazq9GhDR1q+Yxx5ekSrRf/d8ApulpZKkbLsXEhqz2oP8JQlna09FhpEVstO77geRlgo0cnbL2mNsUzSH4y/9hA+OKj34kUsGZYkKdGo7y23j8qvmaQWqWl1JNzVdKmK5GuIAtTTrR3fg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+AivMJQY7Jr44gwNNcPsNyBndVmf6002wRyYvZl7Pbs=; b=cvItRrI46r8nYMjqU3mVlrEDvi2Km8RiGoaCkjma90XwNWgiw6RN4qCdE5N/vTEkgMEueJpgiKc33KS6z+s3T8MzFCjr8fygQEHJeH9HdHIVM9FdajTjIkZ9pdQt94orP2LSqZIoHKxWTaDjUseZF9sHMZqWdAwER5Ojh3yd1oY= Received: from AM9P192CA0026.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:21d::31) by PAXPR08MB6398.eurprd08.prod.outlook.com (2603:10a6:102:12d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.14; Mon, 16 Sep 2024 09:38:41 +0000 Received: from AM4PEPF00025F95.EURPRD83.prod.outlook.com (2603:10a6:20b:21d:cafe::79) by AM9P192CA0026.outlook.office365.com (2603:10a6:20b:21d::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend Transport; Mon, 16 Sep 2024 09:38:41 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AM4PEPF00025F95.mail.protection.outlook.com (10.167.16.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8005.1 via Frontend Transport; Mon, 16 Sep 2024 09:38:40 +0000 Received: from AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 16 Sep 2024 09:38:30 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 16 Sep 2024 09:38:30 +0000 Received: from e129018.arm.com (10.57.52.20) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Mon, 16 Sep 2024 09:38:29 +0000 From: Christophe Lyon To: , , CC: Alfie Richards Subject: [PATCH 2/5] arm: [MVE intrinsics] Add load_ext intrinsic shape Date: Mon, 16 Sep 2024 11:38:16 +0200 Message-ID: <20240916093819.12740-3-christophe.lyon@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240916093819.12740-1-christophe.lyon@arm.com> References: <20240916093819.12740-1-christophe.lyon@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00025F95:EE_|PAXPR08MB6398:EE_|DB1PEPF000509EA:EE_|DB5PR08MB10162:EE_ X-MS-Office365-Filtering-Correlation-Id: f6b6babc-f604-4d02-517a-08dcd6335f29 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|36860700013|82310400026|1800799024|376014; X-Microsoft-Antispam-Message-Info-Original: rmFqi3uD0LyyOLzFedjosOo4Up9vN68zXZQeMH2XLIR0JY7riOvQmFDKalZPpwS089KwNByFLtBbm+vNzeL6sEVRdO9nqD77iJxwEYtkDa7hLwQ/Ad0WLxdOQGiFmbKj9PLgMb7jqnaqJLLrZr4K6XuTYQAPuae0Y1mGe8Ga1wuAf4FxBvBBSDJmyYhF71rzAnpRBTh7n5CKFagqi0bHFQj8ZAcYekjjUARS92/yuVrYfeiMqToDcLhk/bNSsysX8ZNrRbgb9t9Sb9vx2vvo2oZ1u1svwWXj9LHz8JNANqvUUGDvZ5cWYct4o+z+brkQxuq1qK9evejILTXMBigUTpGl6x5vitv9cvHDtqtHZxXIk/FZplsHvqtXr3pVkTN/B/6/F2/St+j/HVbh6TRKLgi2KrrGxDgHextSwGlMAgCexIu5wkD+vC0YB4rQNRVmPt0TgqD3pIDEFRDM+uyOwLQcwiKdRqYz8QeJxOkc6Ly/bvKRxsKkBtShppfcm/G9WpkEN2IucDUrQg8iQB6hoVc4HMI1X1lCcMP7tsHH6dW4GeRRjAO8F23CVfNY/kYAn+9UUuPbrcCi8VqMi+iWKqywo2dUlAzS0kzpk7ks9vOziX894ingBzpzclJPE9moKE2WKmjB6wufV2gjIG7EXHdXWbGaiEiazOAvzO9f1zbQw3u0lUmc2glN8dnBZZ23q8j34CnQSgSVe+HvVenf1TLVh4qosr/xrb+yFOVfgduaq7MGq1hobO7DhvDVDyjy97KdcvJ600QUoX7n+6C8p6M9495vxibX01fUFw+a3G1tnAEvBwC7UBDQUXcnYsVXTncfM1NXdN1Abx0M43L5HZagrXsPnDHEp3EASYMW4fE0Yhjta/6zV+x7uXxx8yqkImYPBSAj2ONBkie/+LD6yvZGuiubz1RpthXJduLcbDVjnv0qrx+UqWPjw1Gzi/+pO9U9BMfdLF84rsh5bNsdLhi020FFCRyFMdorSG6Xq7i+7BMs4+XosW4O5xB6MQAPns1jGXRfnrm6p5C3sgSa7p3GaXX4sF7zQvqAy1WtqMbPlKS65zNs65TKM2JekOZbVJgbEEh/MKOenEoG6J1u+YImanPlW12dHQfVNvlq+KNNCdhu75G/zEm5F0jRvmIevF0z7ajB+hxLBuqI85nw2lIS6ijaBFfBN4WWlksjOK/UkejQxQj44NkYjxjhSXOdBlGnLwk42sXkAA+Y4n+qYwjsDBIG4gh9T1qu0Pa0beXLedK2p7nsDZ6czsItt37rt+dNOVX/jUTKERPTsK9pEEXlE4V+NNRtXVrtvQUWHNkOS3aSiFpjf34hm1wfPuzu6DjdOlTEQnrE1vb4fZwtGwrQoXR7yUp3xtFCOoBsQKYpcBO9R0spX5dx6sp5g2lazR3B8p1RiYGRt9zQJBlo910sMs45cDh9iz6B3AFBwvokqLPQuEIC7tuMZqaJslPN X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6398 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:20b:21d::31]; domain=AM9P192CA0026.EURP192.PROD.OUTLOOK.COM X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF000509EA.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 72249faa-4edb-4a80-deff-08dcd633594e X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|1800799024|36860700013|35042699022|376014; X-Microsoft-Antispam-Message-Info: zIe9xwHm7i8/MCWge2C0lBe/doinrSJjyQIgc+kwmz21/R0t7anzgkmql+xcuGO1vXzPZHl3jW6iEIK0nYNCB2kyx3+cxWyGdIssTEyqmX7b6wAa8gUbFpLQH3VWAUOHFYjRzWiHhkaVfI5NuO5OMa3KeDMSrWkZ/0G4Lzg9r5awks0ZDocC1rrnfZ4yJl/mwSAFzbVYv5V5y/fD3aR+0CEFXOMoZYlkxK/3jFgd49V7X/084v39UudcxnE8vPN4ZLr6T/2lOuqvpS0jQxNkk138X5qYN/hi3JVJyA10Z77cUfEPZPR3SAlmP7KKKuBbHsgfB0aE+NPMK/i+3CdM91lSpfkYXg7dvBoCdThwQcHeuK7MzxuVGvj3CiMLtf1jvzEZXJrv7Inl0J1Btx0Nj17kLM/08+V9x+RIYF554zNfu2upJnZ9JsNh05gu8rxj8mpArn/S6TfrVX4qJF5rNmhBaNfj3IKnqpQT6jO59OJTczS8iEnW8RX5ivz9wKN9DngovmQMyLrRTaPFB/tRypWcHNn5cRpi3XHKoVULlE+RPdw64Tg7THHsYZa9twS4C/s8NFyuaYcUuzDdJ3XI5iUdSW5uaOrFHieC4mURzT+szAAitbssedX1KBWPyXh7UJEXO7O9O1J211LIEKB1bPPOYilVjdqqUl52LZ9ZHVaEks08a1dgoVJyMMakP6JVSER6gJFkX2U/Rdq1Kw9/KQR6SD7dTxlkit2FB+mOHT9Cy8DfUhAYK7UwQEl49KHDfIjOtD8ZSxLRFFZ8qAB4l/TXqpYY1FEFBGN8XWPKWOP9KQv76HQU2M/K8bamXD+3GmHfLqmM54yoCq5KSTo+proGawmE9RbNZiEzz0jE00GvQ1uv1xQWy0bgkpKCGIiiLndjIuHNvHeJ4IlkIe1WWhHCHRSD7aMY1AnzJ3fukTQFi0NVmoko9PgMSTAsrb9tFvfaHoVLbyDkrFcRPq6Ca5XgD30qH603el1oLh0wLUMuil6ZBk6jRB/EVdFwBjy2/iuQI9daqCHhZCJHT/i+6bseM6Fdiji6VEqpCh4rbd0IuEjujlAHBHt4NdIPgX5GT2HbpfJ5XOQElCNZtq/lRwds/FdSGH+fEe9RiQX1QNHmYHP+8xjnmjOFjjNNDE39XSNm1XZzWQE7yfk529dmi78wkFQXZBtopvIkc3mmKe4SM3qh3Vzvb1+J4A/GFttYl0DIMWqjwTYoslxn1M5NEnkPoukhEm90whMvBSk4ldcPyBclrLvjYutpqnu6LEvyRL+EhFfRkGsSSW/o9rbll/GZBOZ7j0P+g49XV6LvovMTseIQq1bDmAuDN7G5M5c3Yzt4MqEjF73+oZi7pntv902n25eo4lv5Gln8nm1vWTDHLzpYtiGRe8ObW1RflhV39dRp8bi8df2ll3GX5aKzZHWKXsDQ2q4OFMytd9ltlNE/DiAUm4MOBoAzULbW6OB3 X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(82310400026)(1800799024)(36860700013)(35042699022)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2024 09:38:50.7674 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f6b6babc-f604-4d02-517a-08dcd6335f29 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509EA.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10162 X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org From: Alfie Richards This patch adds the extending load shape. It also adds/fixes comments for the load and store shapes. 2024-09-11 Alfie Richards Christophe Lyon gcc/ * config/arm/arm-mve-builtins-shapes.cc: (load_ext): New. * config/arm/arm-mve-builtins-shapes.h: (load_ext): New. --- gcc/config/arm/arm-mve-builtins-shapes.cc | 30 ++++++++++++++++++++--- gcc/config/arm/arm-mve-builtins-shapes.h | 1 + 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/gcc/config/arm/arm-mve-builtins-shapes.cc b/gcc/config/arm/arm-mve-builtins-shapes.cc index ba20c6a8f73..1783fcf4c31 100644 --- a/gcc/config/arm/arm-mve-builtins-shapes.cc +++ b/gcc/config/arm/arm-mve-builtins-shapes.cc @@ -1428,7 +1428,9 @@ struct inherent_def : public nonoverloaded_base }; SHAPE (inherent) -/* sv_t svfoo[_t0](const _t *) +/* _t vfoo[_t0](const _t *) + + where is the scalar name of . Example: vld1q. int8x16_t [__arm_]vld1q[_s8](int8_t const *base) @@ -1460,6 +1462,24 @@ struct load_def : public overloaded_base<0> }; SHAPE (load) +/* _t foo_t0 (const _t *) + + where is determined by the function base name. + + Example: vldrq. + int32x4_t [__arm_]vldrwq_s32 (int32_t const *base) + uint32x4_t [__arm_]vldrhq_z_u32 (uint16_t const *base, mve_pred16_t p) */ +struct load_ext_def : public nonoverloaded_base +{ + void + build (function_builder &b, const function_group_info &group, + bool preserve_user_namespace) const override + { + build_all (b, "t0,al", group, MODE_none, preserve_user_namespace); + } +}; +SHAPE (load_ext) + /* _t vfoo[_t0](_t) _t vfoo_n_t0(_t) @@ -1509,14 +1529,18 @@ struct mvn_def : public overloaded_base<0> }; SHAPE (mvn) -/* void vfoo[_t0](_t *, v[xN]_t) +/* void vfoo[_t0](_t *, [xN]_t) where might be tied to (for non-truncating stores) or might depend on the function base name (for truncating stores). Example: vst1q. void [__arm_]vst1q[_s8](int8_t *base, int8x16_t value) - void [__arm_]vst1q_p[_s8](int8_t *base, int8x16_t value, mve_pred16_t p) */ + void [__arm_]vst1q_p[_s8](int8_t *base, int8x16_t value, mve_pred16_t p) + + Example: vstrb. + void [__arm_]vstrbq[_s16](int8_t *base, int16x8_t value) + void [__arm_]vstrbq_p[_s16](int8_t *base, int16x8_t value, mve_pred16_t p) */ struct store_def : public overloaded_base<0> { void diff --git a/gcc/config/arm/arm-mve-builtins-shapes.h b/gcc/config/arm/arm-mve-builtins-shapes.h index 61aa4fa73b3..45ed27ec920 100644 --- a/gcc/config/arm/arm-mve-builtins-shapes.h +++ b/gcc/config/arm/arm-mve-builtins-shapes.h @@ -62,6 +62,7 @@ namespace arm_mve extern const function_shape *const create; extern const function_shape *const inherent; extern const function_shape *const load; + extern const function_shape *const load_ext; extern const function_shape *const mvn; extern const function_shape *const store; extern const function_shape *const ternary; From patchwork Mon Sep 16 09:38:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Lyon X-Patchwork-Id: 1986062 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=g6ou0LCi; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=g6ou0LCi; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4X6fyM28sZz1y1C for ; Mon, 16 Sep 2024 19:39:39 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 82F98385B50C for ; Mon, 16 Sep 2024 09:39:37 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20624.outbound.protection.outlook.com [IPv6:2a01:111:f403:2612::624]) by sourceware.org (Postfix) with ESMTPS id 5696C3858C32 for ; Mon, 16 Sep 2024 09:38:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5696C3858C32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5696C3858C32 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2612::624 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1726479539; cv=pass; b=xiOZITaja6YtVp7PpnMapiQHMsNyTpLZ22sV10tEluUrutJBUEJIQd9JbQIso9c5uGDRF4nylGLwXZ/wmD5kuX8FbPHl+8e1RzziceTSEX7+gN8uOC5JCYNW0Am4BPVMQGddCihydskAUO+4KQy7PAKH32L2/ZABLQPgfr/qbM4= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1726479539; c=relaxed/simple; bh=aIrgidziA2dr4a1f7qCEslV0pCXgGnnSL14/x+GLC0k=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=Y0dpegMbT0qcraZIhVjdC5OsGe+6ym8eAcJyEQXvkTQYzzSkOan0D+fut7h/7x/Z91W49Ks8L88DTZb41WTjkecB/Y2RErFj9ezsHWBAGw8EX/qNwatC5UGnOcPhe0cyjY6x4U8n9xtoAl8s1spBYhOpHpjogknTCnfDOWEfLLI= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=wTZw55kI7DK6mKGLl0Y6/tjiEvcRVHClkUbKwcgj3RJgDjpEnW8YFzzAcyFg0yeonTFXkMYawOSG+4mt/XGMjpylzNZraWznQvDc8fEBE+gaPEvVs5Q7SLyedUdQ2Vwdw1sOdh2Iy93iESDOaJc7JHd9mJYWLfMs1OCB9KPXFUI1V9ywEVlURqUDiybl8ekF2ZdJCiSffZwcF1xeshus/dICZjqwN4s5E2slmainNTRqYrjB8hHO8ByZVCvzSyqM2seo3/1yUExRhXRoNk2DCM5QCPWxCjg6r5rrbmmxU/oZT6sdd5vS4ZBo0vucx1GNtWsgjhgAzwv018jAlWM3ew== ARC-Message-Signature: i=2; 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=IIvzou7dlyvdb092YjDdiZoZcGY5UGZ/jDxxn/tAkYc=; b=Zi4U/ZOsksjH+HNH8SH4G+zyU6OWMPe5ruam/+IZ60QQOOcampuD5Roajgsa0iAnLxlC4ofPzbN3Im6pIJezdeaRbqhQNM7JZDGYVWX000YsQbWQzkeq8C9J6cONHDeo6ASCTEsnLnir6/wFcK8RxSkDkoGOD+KHMHCChMjSM4g409hekPPlioJPtQeCqAhTSfLKYPWT836y4KK7xC1lO/84WCPkXGCooyOKmXl8geEbQpzQ9NgnEEExIGdy0OsZEI9FrUXk8SiJWWSG95DXhLwQwg1b2ZZIhhrUGERTbRGkfHp9SqfJ0BIFLI6qy+rQskBiK3gKCioniMOgWqoPkQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IIvzou7dlyvdb092YjDdiZoZcGY5UGZ/jDxxn/tAkYc=; b=g6ou0LCim9MNc/GW6P1lQbdVePoDzh0yR0WY0x9tl+nkK1nH9g29MtdyIKW301JDj2Ft37buOxndFDuv0Djjd5LN1y+Tm6Rw928mA3133FBm5s0EdybMGLx23kRcDbftcWuJxWX2xYCQBoXHOZKK9Qj3uss6w6xF2VOp1x9c3eM= Received: from DUZPR01CA0107.eurprd01.prod.exchangelabs.com (2603:10a6:10:4bb::25) by AS8PR08MB9018.eurprd08.prod.outlook.com (2603:10a6:20b:5b0::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.14; Mon, 16 Sep 2024 09:38:48 +0000 Received: from DB1PEPF000509EF.eurprd03.prod.outlook.com (2603:10a6:10:4bb:cafe::2c) by DUZPR01CA0107.outlook.office365.com (2603:10a6:10:4bb::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend Transport; Mon, 16 Sep 2024 09:38:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB1PEPF000509EF.mail.protection.outlook.com (10.167.242.73) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13 via Frontend Transport; Mon, 16 Sep 2024 09:38:48 +0000 Received: ("Tessian outbound e4724f7f9992:v441"); Mon, 16 Sep 2024 09:38:48 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: acc3990ef296f34d X-CR-MTA-TID: 64aa7808 Received: from Lb54627e62930.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id D6A2510D-9D4A-47A8-B36B-D0D726CEC022.1; Mon, 16 Sep 2024 09:38:40 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lb54627e62930.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 16 Sep 2024 09:38:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bXzIK64Kysat9QgZ7r/spTM3SSp1u9KxkrIgrybV3IWuHUPc5lpkWHVGfToC7+3tCR6qvm1TGCLN1I4Oba6HqhFaiGUhiPuQuYmkNSad+by2UT/qC6+BCFKZ3fJz18jmkiQ0FKDyWWmL45xe1oFsADImrymJBd7nRVYTNgCxdmgxggYryWllVxXUdnSEb5q0kSmZkUMBQml2T3peuUu0vVyTP7n2ddZLCSzDf4nSCYpgJeFURnStyC2oIu3Mgb7aJtiPw7+c5GPsOqFPAqYtcM/xBHYyacaR49KGQV6JXHflqpOohpSsjtbxPLMjS1TKCfDSvDJeVUHEdHqMR8fpyg== 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=IIvzou7dlyvdb092YjDdiZoZcGY5UGZ/jDxxn/tAkYc=; b=cJ8KmHP0LZbKkn1vg41Pq1PskdkFs7HY6v+vTWIu/pQEOQE2kyHuicmET4fFwVkNPwGbxSOaanNe5yNVlc3qIepSWsc4lf1vslT1O+FeJPZvoeBhQXJcjN+z6nwNnegnJyIbQV5ZFIV4xKfoCVc2WueHYRkG2MEWQYIimjsStiamahr7FBfeop5q00c3hKXILRl/+T29L9LUJ5u+f6sF6ZxmK9nIYqRxIKFfzFh2ZCM7q1iB8/MxUv9rao3MRzIzJbNxHivr2+52I6Qc94Y3/i//hKz+vyyZTAlKGwEtjU2yMMYFAXdEocs9I0DhKhIRhUamfaWnKzI/11Npb7w7gw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IIvzou7dlyvdb092YjDdiZoZcGY5UGZ/jDxxn/tAkYc=; b=g6ou0LCim9MNc/GW6P1lQbdVePoDzh0yR0WY0x9tl+nkK1nH9g29MtdyIKW301JDj2Ft37buOxndFDuv0Djjd5LN1y+Tm6Rw928mA3133FBm5s0EdybMGLx23kRcDbftcWuJxWX2xYCQBoXHOZKK9Qj3uss6w6xF2VOp1x9c3eM= Received: from AS9PR04CA0084.eurprd04.prod.outlook.com (2603:10a6:20b:48b::26) by DBAPR08MB5735.eurprd08.prod.outlook.com (2603:10a6:10:1a1::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Mon, 16 Sep 2024 09:38:33 +0000 Received: from AMS0EPF0000019F.eurprd05.prod.outlook.com (2603:10a6:20b:48b:cafe::3e) by AS9PR04CA0084.outlook.office365.com (2603:10a6:20b:48b::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend Transport; Mon, 16 Sep 2024 09:38:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF0000019F.mail.protection.outlook.com (10.167.16.251) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7918.13 via Frontend Transport; Mon, 16 Sep 2024 09:38:32 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 16 Sep 2024 09:38:31 +0000 Received: from e129018.arm.com (10.57.52.20) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Mon, 16 Sep 2024 09:38:30 +0000 From: Christophe Lyon To: , , CC: Alfie Richards Subject: [PATCH 3/5] arm: [MVE intrinsics] Add load_extending and store_truncating function bases Date: Mon, 16 Sep 2024 11:38:17 +0200 Message-ID: <20240916093819.12740-4-christophe.lyon@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240916093819.12740-1-christophe.lyon@arm.com> References: <20240916093819.12740-1-christophe.lyon@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF0000019F:EE_|DBAPR08MB5735:EE_|DB1PEPF000509EF:EE_|AS8PR08MB9018:EE_ X-MS-Office365-Filtering-Correlation-Id: 533716c9-0238-459f-c2c5-08dcd6335dc4 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info-Original: VXtW+AuPXtMiirRuNHdJuQLI72CssELzb127NRlQSg0L4kYNbjnYTkmQLkL/OOf8Waq/+s8th5NaoAc3Lgog4QMOfLsWyI+MezHoQawO3C/eYvkDm52au66ct5wzT38NSxgZGzSLS95V1+pe8Xn8tvTjYwLGVt22tZ0tIvG6bDb1hyGLS5tvRA/CnZsGARsCMETnafmPNukZLqpdReUtkeLAYcBDRMMqPj4zPupy41UjExaCoIA23AIV/yB4apiRzuZUrfdKoPZI1E6Ib/mZZaMzQdi1RpZ+0wIBeGsJ0G+S98J2Dm0CzSsKbEABM/EX0AoVLwJjhtFCZM8Jd1urS6lOeeT2Cky8iH83UV+1CFM7UomrbxiNYOowzQuF3L5y7xL59ProevIO2Op1+WbtCNHc9hP3jtQDC9oXQncT+KyaAiEbgVnxZc0ADhCnyB3eGYLO+CB/REE9UNsW+4bYJRdzf/aXnVeXMB6fQQDIypfyMhOvUdf1j/fYB2VM73aX42XFZ65y2G0FjEm5S6I/t+woQrEzOma++LgixXSKCsXZuOrTl0IBo3faC3Rw04QS6up+5UaK8mN3i8M2X4XguxT19O2kmaBe4qnhvKAGjyTQWdI7SZM7SchryyWYcbLwwpbTit1qGqVBDq8iL2XIfOnwJekJhX+XszrFJwGTZTNBfSwY5aSx2a5oH8I59dLk2ZfhFL5445wQ0KYgVS+n8qoY2ZJ0RzGCiQkIPLOlkCo+WSGTGGM5SPMCxhulgeMe3Qz09IyINUgvYbKk1SNFZx0pN48/rY0CPg9nHu+MNtHyRNx7OB5ObwXdZ9TeUOmE5EB6MhU22BLY/zEp1g9UOFVAMd6v6QUZ4GqDOeWkLU6f07PeVwVUbSxhlL7BxUcaMYrfIBceQEUN3S0EAMYIVItZKM+wbaI2nLv3heNLYsYmyuyuDBtjeVfYlzZgo2wdyz0lFcEBSXR2laOMROfv7AO2Rto/o0JhilHdu+Sda9xE0FfaDlZorWLE4ezYy00cXU9wGnBc7ivuIsJB+M7yVrCKP7rJ9MfjCFyJ81acu0W1wHMOVW7KL2+XAEpZ1V/rPDv0ALqBNruZPlmGX3tTKEsNnjYYUSOiOWjlNJFmBXfW/7+94lXag5UdpevBa0ou3RC0kN2DNhh3m5YpWGDPf0bvieGo1PdgOFQo794Rw4cAh0S4r0bf1pYRQwVyo6nfwNjKwrA9VnLO8GEYtHPBbjZG130sQM/MFUc2TenfABE37/u63QN0n9pi9xSHY5lTCc6XvIr+nDfTVYnkEpCB60nqm22g/VJ22ogDMsm948mzrOJcRy4BNG/U/RA6kYiSyUC1Uv9qMEAMOlClTBdgoEV0OzpNr6HA71BTIlITVb9HO54RdFoIDtTi4KtbfFLGCCor7QxHdfEMz44xwXGJL1xBdD2M5yaJal2UVkD27LKDPmJItXxQLr84168n5K3H X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5735 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:20b:48b::26]; domain=AS9PR04CA0084.eurprd04.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF000509EF.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: cd58e1f5-6e16-4e00-9712-08dcd633546c X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|35042699022|1800799024|36860700013|376014; X-Microsoft-Antispam-Message-Info: /Jhn/aBC0LBokDMv97R3/eEEnA/+DzbIARoJzAKuS55xN1XH6C67b6oPAmMXXvMx1RZENa6nzMWRj7PSx9M3/E91ZGMdbBjn6PD5Adhl/+VkOi84nbkgoOKX908PG8TLTmb6AvUpvTDXSOKOUJ+GTvyXaSD7WAGuDx9Jk+fYXWn1WHXINp26ZuQ+zWTJPFqKkUXTegXgQ6qm9rZW1PHsE8i7BWYv3yXZhAHaFXtrmTjYITrsEGgja4X07U2SsMSn939XhUBvBS1X9p/tl+grXZDitveM5nKbDiY77b+QHsIjMWyYRaORHqCUziGXhiSxJqkG0IffWU0DAhcJJxeVilOPpTvesY+tH8bn9/6TCLbuMNf7QRPwmmrWyA9ou304xZtFrEnqAVGVunlmvpyaytksSroV+Evkf6RdFW/jv/MwpBkIKrFhbVTiFJOxs0mmh40gzkyelqJJbRRveYez92GT3Bpuk7eN8mj2Es0jfuQ4MigQ1Sw5HD4K19l1HjfuJKwJuA9qFvJOOCx4XH4U0ZfSp4/MlI8PThLI8j2jT+/IRf3oP8FzEUsbpDxyeiO2Z8qGFSuioUJRBbTvn0FcsljBhASgidgYycsaCOKJEz50sqMBTchCVVfOModOnDx2IU0F/1HInJwuQypLcfPMBuq5F8nGOIBuVETLBq1EmZN1cWQ2xRcVBKK+HTUbLg6hXG59Oj5br6FVv3zn2223yyPsD4wKv4gikj4u29gMV1j24cc5/05kQoyWsSlNbUI3uEjnQOcPnx/K3YR+vsPYmOpgZ/gp7QEtI78WR2m8u/+aOYExPM7Nhi5BbCKlhUrEqUrqBUfruNVXNwcNo++zCKQEeHjSQzEdURvF8JgC9rtxt91tgZBy7/RshY4s7xtD63S2nzhvigkNC1an8N2msuZAFtUuHLdDo9uOBAwPYGZLEU9E3lg0y5jyVS2UR5s8lfGM2c9ouIUW+ElsIblorEf/JMHgJ0iNj2hcL0ic0TYQ+PIxxSqyKPPFl9bPldlF8jxsoOhbUD9qj0wp7zjsTNAHarO+OdsxVzPuJasMLrAptA57NZOxyjiqMMIn3Zw+8kdYtQffCoT1LJLRR8RLh2exovounXewVYtpGSFo/Qx92Xrk+oVU4ufioHbzRKy0XOKloKz8taiSgRxvp7d0EI6LtgDIQx71uJHVcysfuMjV82/NVeF3EHen9QwCGqJDnL2991i/I4bbAihejTdf2sj9hNJpo6HmTS4xhboeXR/BtZm32QavnnOiBlrehLAWOYGzJ/dnSrg2ygH+qv7jioS35zwPTRv8grMNGlhOapTG/u/VAf/pjU+0cBzGkLn/zg7TvNueR9AwQDef+KlsDGZWSpEsu8Q9b0o51ylEKf1I2G3DgJpUZvK8PkbMgpNBldzchl2gWQ2eFMRkozMyEkbOwxvO+1zkK0ZvsqIFegYEogwkNm8yPOgJd0Bvt2B6 X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(82310400026)(35042699022)(1800799024)(36860700013)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2024 09:38:48.4151 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 533716c9-0238-459f-c2c5-08dcd6335dc4 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509EF.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9018 X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org From: Alfie Richards This patch adds the load_extending and store_truncating function bases for MVE intrinsics. The constructors have parameters describing the memory element type/width which is part of the function base name (e.g. "h" in vldrhq). 2024-09-11 Alfie Richards gcc/ * config/arm/arm-mve-builtins-functions.h (load_extending): New class. (store_truncating): New class. * config/arm/arm-protos.h (arm_mve_data_mode): New helper function. * config/arm/arm.cc (arm_mve_data_mode): New helper function. --- gcc/config/arm/arm-mve-builtins-functions.h | 106 ++++++++++++++++++++ gcc/config/arm/arm-protos.h | 3 + gcc/config/arm/arm.cc | 15 +++ 3 files changed, 124 insertions(+) diff --git a/gcc/config/arm/arm-mve-builtins-functions.h b/gcc/config/arm/arm-mve-builtins-functions.h index ac2a731bff4..e47bc69936e 100644 --- a/gcc/config/arm/arm-mve-builtins-functions.h +++ b/gcc/config/arm/arm-mve-builtins-functions.h @@ -20,6 +20,8 @@ #ifndef GCC_ARM_MVE_BUILTINS_FUNCTIONS_H #define GCC_ARM_MVE_BUILTINS_FUNCTIONS_H +#include "arm-protos.h" + namespace arm_mve { /* Wrap T, which is derived from function_base, and indicate that the @@ -1024,6 +1026,110 @@ public: } }; +/* A function_base that loads elements from memory and extends them + to a wider element. The memory element type is a fixed part of + the function base name. */ +class load_extending : public function_base +{ +public: + CONSTEXPR load_extending (type_suffix_index signed_memory_type, + type_suffix_index unsigned_memory_type, + type_suffix_index float_memory_type) + : m_signed_memory_type (signed_memory_type), + m_unsigned_memory_type (unsigned_memory_type), + m_float_memory_type (float_memory_type) + {} + CONSTEXPR load_extending (type_suffix_index signed_memory_type, + type_suffix_index unsigned_memory_type) + : m_signed_memory_type (signed_memory_type), + m_unsigned_memory_type (unsigned_memory_type), + m_float_memory_type (NUM_TYPE_SUFFIXES) + {} + + unsigned int call_properties (const function_instance &) const override + { + return CP_READ_MEMORY; + } + + tree memory_scalar_type (const function_instance &fi) const override + { + type_suffix_index memory_type_suffix + = (fi.type_suffix (0).integer_p + ? (fi.type_suffix (0).unsigned_p + ? m_unsigned_memory_type + : m_signed_memory_type) + : m_float_memory_type); + return scalar_types[type_suffixes[memory_type_suffix].vector_type]; + } + + machine_mode memory_vector_mode (const function_instance &fi) const override + { + type_suffix_index memory_type_suffix + = (fi.type_suffix (0).integer_p + ? (fi.type_suffix (0).unsigned_p + ? m_unsigned_memory_type + : m_signed_memory_type) + : m_float_memory_type); + machine_mode mem_mode = type_suffixes[memory_type_suffix].vector_mode; + machine_mode reg_mode = fi.vector_mode (0); + + return arm_mve_data_mode (GET_MODE_INNER (mem_mode), + GET_MODE_NUNITS (reg_mode)) + .require (); + } + + /* The type of the memory elements. This is part of the function base + name rather than a true type suffix. */ + type_suffix_index m_signed_memory_type; + type_suffix_index m_unsigned_memory_type; + type_suffix_index m_float_memory_type; +}; + +/* A function_base that truncates vector elements and stores them to memory. + The memory element width is a fixed part of the function base name. */ +class store_truncating : public function_base +{ +public: + CONSTEXPR store_truncating (scalar_mode to_int_mode, + opt_scalar_mode to_float_mode) + : m_to_int_mode (to_int_mode), m_to_float_mode (to_float_mode) + {} + + unsigned int call_properties (const function_instance &) const override + { + return CP_WRITE_MEMORY; + } + + tree memory_scalar_type (const function_instance &fi) const override + { + /* In truncating stores, the signedness of the memory element is defined + to be the same as the signedness of the vector element. The signedness + doesn't make any difference to the behavior of the function. */ + type_class_index tclass = fi.type_suffix (0).tclass; + unsigned int element_bits = GET_MODE_BITSIZE ( + (fi.type_suffix (0).integer_p + ? m_to_int_mode + : m_to_float_mode.require ())); + type_suffix_index suffix = find_type_suffix (tclass, element_bits); + return scalar_types[type_suffixes[suffix].vector_type]; + } + + machine_mode memory_vector_mode (const function_instance &fi) const override + { + poly_uint64 nunits = GET_MODE_NUNITS (fi.vector_mode (0)); + return arm_mve_data_mode ( + (fi.type_suffix (0).integer_p + ? m_to_int_mode + : m_to_float_mode.require ()), + nunits) + .require (); + } + + /* The mode of a single memory element. */ + scalar_mode m_to_int_mode; + opt_scalar_mode m_to_float_mode; +}; + } /* end namespace arm_mve */ /* Declare the global function base NAME, creating it from an instance diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h index 50cae2b513a..2327f2cfe4e 100644 --- a/gcc/config/arm/arm-protos.h +++ b/gcc/config/arm/arm-protos.h @@ -615,4 +615,7 @@ void arm_initialize_isa (sbitmap, const enum isa_feature *); const char * arm_gen_far_branch (rtx *, int, const char * , const char *); bool arm_mve_immediate_check(rtx, machine_mode, bool); + +opt_machine_mode arm_mve_data_mode (scalar_mode, poly_uint64); + #endif /* ! GCC_ARM_PROTOS_H */ diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc index de34e9867e6..41c4a525613 100644 --- a/gcc/config/arm/arm.cc +++ b/gcc/config/arm/arm.cc @@ -76,6 +76,7 @@ #include "opts.h" #include "aarch-common.h" #include "aarch-common-protos.h" +#include "machmode.h" /* This file should be included last. */ #include "target-def.h" @@ -36104,4 +36105,18 @@ arm_output_load_tpidr (rtx dst, bool pred_p) return ""; } +/* Return the MVE vector mode that has NUNITS elements of mode INNER_MODE. */ +opt_machine_mode +arm_mve_data_mode (scalar_mode inner_mode, poly_uint64 nunits) +{ + enum mode_class mclass + = (SCALAR_FLOAT_MODE_P (inner_mode) ? MODE_VECTOR_FLOAT : MODE_VECTOR_INT); + machine_mode mode; + FOR_EACH_MODE_IN_CLASS (mode, mclass) + if (inner_mode == GET_MODE_INNER (mode) + && known_eq (nunits, GET_MODE_NUNITS (mode))) + return mode; + return opt_machine_mode (); +} + #include "gt-arm.h" From patchwork Mon Sep 16 09:38:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Lyon X-Patchwork-Id: 1986060 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=H9J2dEie; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=H9J2dEie; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4X6fyB3YdXz1y1C for ; Mon, 16 Sep 2024 19:39:30 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A4220385B503 for ; Mon, 16 Sep 2024 09:39:28 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20608.outbound.protection.outlook.com [IPv6:2a01:111:f403:260d::608]) by sourceware.org (Postfix) with ESMTPS id 4D7A73858D37 for ; Mon, 16 Sep 2024 09:38:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4D7A73858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 4D7A73858D37 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260d::608 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1726479541; cv=pass; b=IL6l8m7Uf5aABLT47hNAZSSBgDOGZYh81BrvEnXqrsTPlk3OKQi+1Pyz8aDCzvO2Affszc1AGzc5tmlKUYppiQbYDdOsav3HZvxTL32SN4E0nHqcgxttqfieXRQywVlYrn6nMpxNaarL9bJu97/t2oLGlEcTgk3OvLYQSAuWftw= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1726479541; c=relaxed/simple; bh=YRJCp8/3ovFueOPKODBwnOusk78AJ4u1rWUdGHSxcJc=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=QT03XZ7xiP0LqrtV1S15O1eF83n56w9hmcPUoxUpDC76wM53L/+CI+scahn6PHWcEZ006R/4ND7zdO9y+9X1C90OLOWjnyXxjDGrr+zvosrO6DDs0wuuRr7RAy7cPLFGjc+m/mFPASm8Y8wb/cv3o8USvv/B3Im8A9VFZIE4kqM= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=zTKAWbUR+yRrnD6XsK7rH6h3K89/+CcbR0ep0Xqq3L5q0sGtAMXONL8WVQ/NtffMdXwCMb8BbE8GpoB7Qt1eSuCvANtebQtBaA1/cPQXmCOIiA6HMc2zo+iKEljNKWXOEhr87pr0iEU4xWkpNQkLWxU0hDsYt6rKYilS1kGzmvihSeacOHJYKPark5vbobQO5/c/ephRVDBQPtplisfnUsGWgHU7sX51b9wiaWoVPM3NTf73SVUo/YgyVemVXhGkFNjyV1DJixpau1zLkZkJBwVwuk0PNThFZnk/xztjCxG9diDwZUKm9SuivV5aDfO7mhIoCdtoXxdtPJAcEGWnhQ== ARC-Message-Signature: i=2; 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=QcPK0O3Q3pSU8zVBziRnekFwh/2jkHNrXw/DqfC6fGc=; b=xULyYjP2VuSaIZK39od8COFsCs4PZom3vf/jRh/waSRYnCnSfZkVSjchMdM95XjjhvE0RdO10hoCo420DN0pC69ppNF1cc6OerRfwUxMOG2yY5LVvn1fi6HPw+Fe+tPlMvmMROsmoiylytYnEcS9wxQcPMq18rLLwDiLiemNzWDyVbrLGqwJ1z1HhxHI/C2G2DiTFvVs9ATZ6QmT6xrlBYdwcCDZ5o2b9qeYjiuis2X/m9PBjtCFV8AYcoRU1CWsZ+RIcVA/hs7KmJyAZWuz2wQdSI4GpGQgQvlHjEJnRHE8PQ2HPS4kLbWPdREJDE3pKawHKUbp1MG6UZFNrtbPHA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QcPK0O3Q3pSU8zVBziRnekFwh/2jkHNrXw/DqfC6fGc=; b=H9J2dEiePRH31b+1+c4fs8/TDSlUi+LRngBiB+tuIlDhSOVROcbYLRf8t2nNAO+OZVoxKXoSRxT7cvy2Yg553KAOn7dxiwbs9fnqGIHbZX0P81ZudYNdg1JWbvjzjzQexwToAT+5QLl4uolwesOwMPIquGy/SaQxFZCSFBBu6dU= Received: from AS9PR05CA0016.eurprd05.prod.outlook.com (2603:10a6:20b:488::7) by PAVPR08MB9378.eurprd08.prod.outlook.com (2603:10a6:102:301::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.11; Mon, 16 Sep 2024 09:38:55 +0000 Received: from AM4PEPF00025F97.EURPRD83.prod.outlook.com (2603:10a6:20b:488:cafe::9b) by AS9PR05CA0016.outlook.office365.com (2603:10a6:20b:488::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend Transport; Mon, 16 Sep 2024 09:38:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM4PEPF00025F97.mail.protection.outlook.com (10.167.16.6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8005.1 via Frontend Transport; Mon, 16 Sep 2024 09:38:55 +0000 Received: ("Tessian outbound 7047db86dc93:v441"); Mon, 16 Sep 2024 09:38:54 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: ad5149374edf63c5 X-CR-MTA-TID: 64aa7808 Received: from Ld2abe7a64306.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 997A1F28-88DF-452F-B5B4-52FB61F6F42A.1; Mon, 16 Sep 2024 09:38:48 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Ld2abe7a64306.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 16 Sep 2024 09:38:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JFU2GCAl2cLlTrjEOnujKrhmrEbnVnTkucbxZe3kONRpeuI/ON1j+eZipZiF85kpnOj4KMJFNkZUxEMTOsLlsULw5vLX2wIZ9O/cB3YpAaE+Kf1XTnu7o0BUb7pj+CemsWNyw+P2WvYDCDsD/Ca1J68lW5lFHuvEoZ6RVSGAQDRVYyd1sbaPYDr5O1FxcYoSWEfoxH0ujOhZ7kvrfe7Pen2gGjMH3QRXQzSDsBftVt7TLjvTXmHtyAri3qjN+nchVYtEc17ZAHotHUrsGScV+Vg3XfQgZo0NQa4aYWmFYxsZX4mfwaiadbST6rAimv7wH3Yu9HsQV/oIU3xOJyF9TA== 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=QcPK0O3Q3pSU8zVBziRnekFwh/2jkHNrXw/DqfC6fGc=; b=ZL9b9boKzTsBKU22TpARMUjrSreUedQYbDhOageJI0N3Fa0DKKw585FukdKqWqYl9z64WgOpdJztmWTjByUeIaGTN6kD6nXo0XfQjuLWk4OGon1KJuODI355k1Eo1XU2o84fMh/J3FkThHBXkjZ3akUH57A9lFzeOQvnV4pd20twrJbHA7IQ25q7jdHy9ubXM/+W+DHyn08jbxK5KsWyYKP2Zz++qD7coyDOQL6CmMI5fUAdOdW3SVyHOqVtXkKER4NGAoyHi1VTqlaDRZFqUHXTkv/qOmRrABnlsvn2pNw7m3MIJdJDfqenmdsd3jDmA0UVdO1x9ndDAIxUQozdFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QcPK0O3Q3pSU8zVBziRnekFwh/2jkHNrXw/DqfC6fGc=; b=H9J2dEiePRH31b+1+c4fs8/TDSlUi+LRngBiB+tuIlDhSOVROcbYLRf8t2nNAO+OZVoxKXoSRxT7cvy2Yg553KAOn7dxiwbs9fnqGIHbZX0P81ZudYNdg1JWbvjzjzQexwToAT+5QLl4uolwesOwMPIquGy/SaQxFZCSFBBu6dU= Received: from PR1P264CA0005.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:19e::10) by DBAPR08MB5736.eurprd08.prod.outlook.com (2603:10a6:10:1a9::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Mon, 16 Sep 2024 09:38:42 +0000 Received: from AM4PEPF00025F9B.EURPRD83.prod.outlook.com (2603:10a6:102:19e:cafe::1d) by PR1P264CA0005.outlook.office365.com (2603:10a6:102:19e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend Transport; Mon, 16 Sep 2024 09:38:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AM4PEPF00025F9B.mail.protection.outlook.com (10.167.16.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8005.1 via Frontend Transport; Mon, 16 Sep 2024 09:38:41 +0000 Received: from AZ-NEU-EXJ01.Arm.com (10.240.25.132) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 16 Sep 2024 09:38:34 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EXJ01.Arm.com (10.240.25.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 16 Sep 2024 09:38:32 +0000 Received: from e129018.arm.com (10.57.52.20) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Mon, 16 Sep 2024 09:38:31 +0000 From: Christophe Lyon To: , , CC: Alfie Richards Subject: [PATCH 4/5] arm: [MVE intrinsics] Add support for predicated contiguous loads and stores Date: Mon, 16 Sep 2024 11:38:18 +0200 Message-ID: <20240916093819.12740-5-christophe.lyon@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240916093819.12740-1-christophe.lyon@arm.com> References: <20240916093819.12740-1-christophe.lyon@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00025F9B:EE_|DBAPR08MB5736:EE_|AM4PEPF00025F97:EE_|PAVPR08MB9378:EE_ X-MS-Office365-Filtering-Correlation-Id: 343046e9-2367-40a9-0eb5-08dcd63361d6 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info-Original: g8ooDrPV3ueqk6Aq7RF+QxtF8RGVZbgOb64AUMo+8hgLtrmh4+2b4OpXFXqoQiVOaDTOtB1bD22Gb4udnfFP3/2FmBJtqH4WJ+15hsWkkqR182VPhgg4SXy8Q6wRJ3xm7WPznBV+DO4HZqgrsj4ae5wcaaagyPFfsuhgHaNCSNYa79+lKIFtSSGmQEo5uPAGjKne7G4Bgxflu4IINOmJ0lQ7Z6tqBp4PX6sqGzzVh9Afuy1C1om/15uHCEF27kX0PzWDjMLljT4KA7BPPCNeY1nkACHjNT3SnnnGIdggLiDURnZUwTUCdHWMGrOpN4+b4DUgNS6haF+W9EQhwgpl82rdS7HhNBf5qVXCH6MV53+ZIDpWxP3XlFNhE7ZWj0sEuQuEY+bnmt2BdIQpqd+VX383Sx0MKff7PSPDdW/X88QcA/RMKvLwCw6PX6BbidxRfNKd6wF0xtNuDjPZ5+24Qo1vBRKb93EaCu5NedDJj154BB5sqVaowl5LoJnHTg03EwG0OSPc2tuvTBpVgKFG8oZLuccKXKTldsQbgH+gSB9NDQHmwfVSqHPEeTwjT3J3yIMzUKIeaTC2fKlSW7fJ+YgSiDL+QUK4KeXk+1qHteW0asNnzdFl/hXbj+zrxjwqJLOBW8ojzgAtekmmGXnJCF7+o1d15nupz7rXzenxq+Iq3BgQLmdx5SF3fwj2K60NonyUdKdMBiSct5xE4uExL9Oj4uR6klmd2q4XkhIThx726JO8T//cWws9cIjr5yAAcow1tvkXY6Rc7WPbXCEhiwAcsg36pnCSozTtTc+lAR8FEcfxZzBlK7hNvQ+0+H3/iWw4rds5tSdWLu21g4QWODIBZmkpQpwPp2GTIPe8xuz0rDG10k0bMnzU/TQu4RelBAZVbPtFYK0bN/pEYz+eXdLwFQYmyoi9KOHxK5idpmVTFqPaTXYmj/zLY/Cb5gQhryy+AQIKx1+V4F+jef6opqgkrNCqw+qRhwVHld58fK+TUccjw5p/px5sT3W34CjUgOgyafLWILWVtnV2xWosUPD9t5oNE10bqo9RvCvzQRdpVOu8h9XVeNzu4D6E3GK5SnLgIX38cXzja1v3NlM8LZ8Gaq7Ws68uqmISiMsuICV4svHSWfskROU2bjTcbsg9bBvqCajF7LP6oW/DMZxTRln3RGgqCh/sJbFfGEh+wb+RsdRTGT3ABX6uauQrKaiu0rJuxDMpNjdZXdFsCIBBNdMHbn3/68L0VW5ctvH1c5Xt+gJasPXovH0q3i+0mAQYoAnpQA/tfZLapZ31+sMT2dY66qy9dYX3gfu4MUvDgx2SMGyspnwHUN3wmp/YxppxESQ/JUSVAbh1rFFlIiUBdRW2o5J3eqqfhTqJEI+XZ5cO0brNfKQ2VJwM2h/Awt2atJJYs1lpPeGqTZh2QIDzy+wgu6OlJFTOE5VAjiPP0ya7U6F3REVkrfuVe9PT20yS X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5736 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:102:19e::10]; domain=PR1P264CA0005.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00025F97.EURPRD83.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 23e5a6e3-45b7-4620-1360-08dcd63359e4 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|1800799024|35042699022|376014|82310400026; X-Microsoft-Antispam-Message-Info: SZszT+tDy2VFyLIDuacaKDD3VxBjxg402CHNIdQ8d9mCDz5mSgxVuOUkWCnYQ2769FpQSuCBxueeuW4Alo7LeEKacC3HWkVBZd6W6U7Ir+j7ad4DrhbzjWtQQcI0IN8KQ6Ixr/Tg+nsIqbXrHwK33rL4bj0bAWGpxSBZMuyvChDmiZMe8srgOkkTKk52QyWQN8958DoNlmkpHH0HNZOle73JXezG1sBz5/rQCKiLElYsAVI1hn3pA05o4v/JK05kS6iNBqksMCNY0s+VnXK3dtXxXOErVGBJAXkZWCjmxKa1XoBfRSceoWqjsRo4DqIu6RulBxEoVjr4iTq79GceU4Ud0CIkwYCkUcPutmbW8Vw8wCd6ctKvux25vdPnOC7o2iHhJ9B23HooEQ9qywR5nA/Sx5zuHeVhPSyEoJJ7ieYfydHRQqKtcEl0ohU2NRF3Q0Aekq5JKmVEaroXwULG/uhRMeAcdFIUwNgCxxv7RORhJIpXe9E75Pf+pNb00LOuED88NjNteXQajWxp8PRL+CrNlrwwsnCKKxkXX/KKsRxFXCtKKWG2pGQHoTqxgyvd5vjpywBBaH/3TPTrkaQ+tfukUXuQXoXJ4tUpqvs3e2oyqMMokx+BNDLHOY4oTWnMoCAlvEdGt8qrEkRqZON4O0dVl6KOCy/6YBdJ6DP3ZwAB2UAkPE3+Qzh94ssgGrHypLSsBc9YXmcKa2Q92P9Yt5qWq0hD0ayJAm/Xc8c9km0wP9ZKLQ1eOEF+mNV2nOw2PmJsfQDlL3Tc2ve+nRcFDF6SC5K67DL3LV9rOJ6mlWUm4wuN8/cHrLgVe+Bo585J2zh025P3ZxaFnezjJarftHOuzNgpCMxoiAn676URdv4P4Mp78e5W64/DygCDD+hK36mH+EtfA2uxC+rSznPzDh/6dmYa3DyAzdvpwmDCNjTu3ZZhW2sV7PajiFC3GUbKb3SS/rM3ZmwaBhz9MxlFzH59oOLMnIWhdUSYqDW5SrrUqy4WFiRC+MaZqRdPQuLte3ZxryCWacMEV41jRuKZ+3lnQnRoAPU8+FlNYKZ0CgFtxcesbbccnuEc00J5XUCF9LEaGBI7XT1zBw0OmbRofZ6QKQ4x9x5fSyw7C51kR+LdEm2Q4e/eeJsnyp5QG2P+tMqWghOeA2t3Fqn6S4z9muoUiwRyKkr9uoXxciD6PBHTIT01jkj/k10aisW2vK6SG3Un1S8NSopUb1k/q+biYwxZv6EY87W2BLBPwsznI1JRC8uwZqNm+1RjRUAZZJmgEKoPOmMHtiQEG8C7V40GY+3DwiEg14S+w7pQZLIdgp1E7cf08e3zkNXtvgC+jAPAyk3E/5LI7/gC+NFTIqbCtRue8dzb1nhWdBJjLSjqf9xfVXe9K8dMSQoUnCySyeZTpQNeWqy5tNnK2qNQvX4Kdv6U2924amXn4uzraUtHwqoxwTpjTaQf8tX0K8ujx1RU X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(36860700013)(1800799024)(35042699022)(376014)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2024 09:38:55.2237 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 343046e9-2367-40a9-0eb5-08dcd63361d6 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM4PEPF00025F97.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9378 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org From: Alfie Richards This patch extends function_expander::use_contiguous_load_insn and function_expander::use_contiguous_store_insn functions to support predicated versions. 2024-09-11 Alfie Richards Christophe Lyon gcc/ * config/arm/arm-mve-builtins.cc (function_expander::use_contiguous_load_insn): Add support for PRED_z. (function_expander::use_contiguous_store_insn): Add support for PRED_p. --- gcc/config/arm/arm-mve-builtins.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/config/arm/arm-mve-builtins.cc b/gcc/config/arm/arm-mve-builtins.cc index 7e8217666fe..f519fded000 100644 --- a/gcc/config/arm/arm-mve-builtins.cc +++ b/gcc/config/arm/arm-mve-builtins.cc @@ -2237,6 +2237,8 @@ function_expander::use_contiguous_load_insn (insn_code icode) add_output_operand (icode); add_mem_operand (mem_mode, get_contiguous_base ()); + if (pred == PRED_z) + add_input_operand (icode, args[1]); return generate_insn (icode); } @@ -2249,6 +2251,8 @@ function_expander::use_contiguous_store_insn (insn_code icode) add_mem_operand (mem_mode, get_contiguous_base ()); add_input_operand (icode, args[1]); + if (pred == PRED_p) + add_input_operand (icode, args[2]); return generate_insn (icode); } From patchwork Mon Sep 16 09:38:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Lyon X-Patchwork-Id: 1986064 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fDjJkwDn; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=fDjJkwDn; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4X6g0c6VRtz1y1g for ; Mon, 16 Sep 2024 19:41:36 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1C2FE3858414 for ; Mon, 16 Sep 2024 09:41:35 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20616.outbound.protection.outlook.com [IPv6:2a01:111:f403:2613::616]) by sourceware.org (Postfix) with ESMTPS id 63F293858D20 for ; Mon, 16 Sep 2024 09:39:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 63F293858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 63F293858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2613::616 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1726479553; cv=pass; b=m17JEeIRI0R6lVLms4xTPd/NAbO7G1Jpvn/5ejBPM33vZCG6rJWKLTW/o37rTz6sP9mVBl8Uv4+QQ/+gxfHhsP7fKi9EUN3XL+Po+Bxeqfy82ACHUYA44m4WIMJFl7ngjuPdYajcOP6+8C+DAKtVyNHp80FLrRKqcrmxr8hNdB8= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1726479553; c=relaxed/simple; bh=aXpiZfpOIWrzRDsMRiNzYZeiNKskPf9uAEnisnSpga0=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=wXghopiVhn/08+Y0vYHvRT/VTxVTk/CDb062TPh4oTAfASk/4iUzJFnAGXLotPkvEQQgmKviphNHLdy0IuGkMuErmvXvozXzW6Qr0u8AtRBtFd412IflLDZdY2BHpjAidbhL7xn1RBrN9Knj51lSDxMe7Amje94filogVI0LG7k= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=sHqmxDrtG77AQBUCEbnW5P27TSGEFyOvkU3Dwm2j0vGa4iV11dWfIMylQkTN3fZpNIK8vn5hjtzeYYChT73nvS9mrP2q6NWBgyqdSZ8woIBQ4u4KXKxQ0rJ96aezx5GLEsEYkcyFtAkWYeGfVTzYzkFnUWaKvJgkrKIutai4yU1YMRy1BCnUF08xWvooaACMS9rbX6/dUNkAAF+k2qqUwQVveHW/sHRFjzJ4NmclHo7flRvpcAdtBAAy23U+fiKtMDrqWtYExddNm3pUK82bp+W2sBPspdHiyMMRepRGSxXlpP2usRJHQrAfDR1fFYQP7+DfcLqFh8stjmvbDvm3Fw== ARC-Message-Signature: i=2; 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=QcUWQCJ78cqx/rVJRmm1XsV2G2Y8pEr6qo3agTAPJyw=; b=j2aBi6OeNtWLM+Avd+yN7mFnycjIdqAxyum+cgY62hOVFNHOac8NdZ0TBw/sYcIwjRvkH4/XIhA1KFVy4z4pKKOsTY1lKdhhF93YOSysPrSop5sD4RkeGWc2CChn5DXbcbZCsDhNxii5UfJExn1LS5QS7yN6cRrl4ywOXomZY301LEAkIrLr8aJ7asxss6DsYfcaTh57NV1pj4sxvwYDsspUDDCpQqzK9P111ZwBh2Hhgq4Opan+ZX/1UkJFKWBgTSrE/ZcoFn9dhUXnIbSUjAXFNE/pQHAuf8ZKzqa9g9226cLu0tvO0nkTfI8WeCS44jB+HpzVCte7b8AoYGphMA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QcUWQCJ78cqx/rVJRmm1XsV2G2Y8pEr6qo3agTAPJyw=; b=fDjJkwDnX62oG2kP6uJIw+ZvVQKxzb2h51eeANU+wJgotfssr+3DiqgRNr9C1RNT9LAndIxHOegdd4wRvI9KeHTKGgyE8uz7M8pEGPRIPotxoojvNx6V3HT6HJyo7bpl4IFCgi84f3jS26rABDMScIstI8kIrx4vNkagnXVWZTY= Received: from AS9PR06CA0483.eurprd06.prod.outlook.com (2603:10a6:20b:49b::8) by GV1PR08MB10454.eurprd08.prod.outlook.com (2603:10a6:150:15d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.14; Mon, 16 Sep 2024 09:38:58 +0000 Received: from AM1PEPF000252DF.eurprd07.prod.outlook.com (2603:10a6:20b:49b:cafe::a2) by AS9PR06CA0483.outlook.office365.com (2603:10a6:20b:49b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend Transport; Mon, 16 Sep 2024 09:38:58 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM1PEPF000252DF.mail.protection.outlook.com (10.167.16.57) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13 via Frontend Transport; Mon, 16 Sep 2024 09:38:58 +0000 Received: ("Tessian outbound 7047db86dc93:v441"); Mon, 16 Sep 2024 09:38:58 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 4eeea1a8eec10ea7 X-CR-MTA-TID: 64aa7808 Received: from Ldbd6b5478b59.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 500061E2-9EF7-43A4-A0B1-D7ED48F7708A.1; Mon, 16 Sep 2024 09:38:46 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Ldbd6b5478b59.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 16 Sep 2024 09:38:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RWHML92eSpJT32gw/8itTI5xiC3bQCbgEzu4W/CUX+lB0sF7il3ztWlH+PuTskLmup/BnxTMAZKkeT1s1PKFJhUfUs1qx/JYBe9uYzB6oYG1Q+E7xrZx32UkMmnhb8EW7OPsmBHYatKwpno0AxNXANgpNIzeaUTFc2/ozFrTki9Rf0pexZ8ZPvDRHrnIvafE72olFI8J4f+vHh8XSGYM2MCYmffH5NYAjc0YIu33167+OMTuL5Fgp7lBHcviIbJbt3yL3bN80M85f+a5K/9VOmxsIjRxVXwLsMnNHBlkal9NsXJ1NdjwqysWbUfKC6AFVcIZg6gRdRNQstLSTQkmeA== 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=QcUWQCJ78cqx/rVJRmm1XsV2G2Y8pEr6qo3agTAPJyw=; b=w0Um7rqEeD8kdjjSMxa+nWF6xFKKgQrlmv513DzTL6Tfsx+ZlleUCQEdjnDEdlwKj8vZBIPL35MNmjtN+DOP8JT7P5Zb3oPHBuKdRO9PjxXYLtE/eRTZU9DCbYCwunM3f6OiiAy9l4UxJrJVTEjJT/2lPrcir/CJ8uPyHNubVYxS7Ug9il019FK4pdvTmCTrJ9mwU6UGa0La6Xvko+JYNTTA39/1xByJwdWjoiF2XJ3eokkNY28t+NXPCP0r3tv4K9/fAweVUfMFJQTQqEsevPZFchdxihDZ+gPmIQrRgDPJAibGmC/HpILgDxLxdSQ6oFP4/hPxFBliaJ0SyfQVEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QcUWQCJ78cqx/rVJRmm1XsV2G2Y8pEr6qo3agTAPJyw=; b=fDjJkwDnX62oG2kP6uJIw+ZvVQKxzb2h51eeANU+wJgotfssr+3DiqgRNr9C1RNT9LAndIxHOegdd4wRvI9KeHTKGgyE8uz7M8pEGPRIPotxoojvNx6V3HT6HJyo7bpl4IFCgi84f3jS26rABDMScIstI8kIrx4vNkagnXVWZTY= Received: from AS9PR06CA0642.eurprd06.prod.outlook.com (2603:10a6:20b:46f::13) by PA4PR08MB7641.eurprd08.prod.outlook.com (2603:10a6:102:273::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.11; Mon, 16 Sep 2024 09:38:39 +0000 Received: from AMS0EPF0000019C.eurprd05.prod.outlook.com (2603:10a6:20b:46f:cafe::3a) by AS9PR06CA0642.outlook.office365.com (2603:10a6:20b:46f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend Transport; Mon, 16 Sep 2024 09:38:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF0000019C.mail.protection.outlook.com (10.167.16.248) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7918.13 via Frontend Transport; Mon, 16 Sep 2024 09:38:39 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 16 Sep 2024 09:38:33 +0000 Received: from e129018.arm.com (10.57.52.20) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Mon, 16 Sep 2024 09:38:32 +0000 From: Christophe Lyon To: , , CC: Alfie Richards Subject: [PATCH 5/5] arm: [MVE intrinsics] Rework MVE vld/vst intrinsics Date: Mon, 16 Sep 2024 11:38:19 +0200 Message-ID: <20240916093819.12740-6-christophe.lyon@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240916093819.12740-1-christophe.lyon@arm.com> References: <20240916093819.12740-1-christophe.lyon@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF0000019C:EE_|PA4PR08MB7641:EE_|AM1PEPF000252DF:EE_|GV1PR08MB10454:EE_ X-MS-Office365-Filtering-Correlation-Id: 72c0ff80-cf44-4199-8172-08dcd6336397 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|82310400026|1800799024|36860700013|376014; X-Microsoft-Antispam-Message-Info-Original: m7Hz/Amg84zN6+XDLcoq50m6gYqI9kOwG/1bE3y1DzqvOyXqex+u2hdEcoUOxpI/fv822m/m9qXdsU+PJJ5dSvpG0RyreMynts0X+8Wn3Jh1pppix7MIHGtdK1tIm+YFZFBw4cOUMZBb99KGgBbU2oPRXxQMF332Ja0lvIAyZR1+ypm1aTnkbscBQZ0/MjnPdA7LrZsIbqIjP8aczBaHg2kwon3kUGjzoX21ly+VyKyAtVSuPvChq0BC099cVrx5lERLnpxBUxRjMyK4bmrPrUxIHtifLd40adPXDcdhUvmYJPAiYtYE2JqK1qWrGQ3onBTtM/wHsfrqon5B6mMD1yGUvbVmY6VAi2Ubxh5DcD3M+2/BbFruGG9C4+pMjm/cBpayFjdM9AtRgraxkEtOIQH341xVkBrfhYGvPmx0Vrc+QF58dJsKseTixZW5nsmP9IS52tRrx8uKlrTAAmeIcxlw2Xc8n3rkzi/vMFquozeFEMZouuEkEk0D77Q0/kBCVY1U8iTaToto6l6yABSthtTTS5W1uD1mdPt34bUxCvUhk5fCx7+Frr5ff8HU8FZb3XLcKCnfVgm4v8s/mYchlF479Rx96osAqqWaYEIKlMdbP+/PnjlF5kUfemSJLZWfob07mC2MiTLg0+iPuoAkO2e85K+a6mb3A5bPmUbnTG+5xwiiL+h0nJnRF/juZEyoqv3+7Kb4cbn2kbB9rQ0sF7FEprihAecRnWzfOHhFe4AoWJiJUjjm1x+HgamoOCZIGyVkGvWzk3zLarmSjXOiYbnwKgztNkSD2CsHzeJNRQUvRxJSHT+IljVoavdxg1KxMcLcG6OzqMXOfy70HHwtg5h6DH1iHbwnd+FNrAU8EVYItOpB2fyX59RV0nMO6JHohj7JasyWBLMsH+ANtPtijU0uEkcJqo2vgdgfGlFwVMcP0Vf5zuzfEeibmT/L/FnY9y+vgVrTTQFod7DN2sKzPMk9N/OY6M/pb4qd6jU+4mtOz7KwGLmWksp/HIRES64VUk2qJDkYe+defncKtCHlENivv8T+ZXye3b+akjRVCX3GyMrfWcoPTFPOSY3mf2ilJl5qNNl1oupj5vX+Zq9eLOqx82UZz5c4bo12HGJ3NJfAJPqyd8vWbOtXE95CFxA3EBDOLuEDQ/bkG0UTZip3qLoY41o7rmj/qV/3Q0oKyT4yfiCIrumzdagOXk/O26F1YFdGZUX7NydEd7V4IB9HCCHGSSYyEdBpG6SBPicnHJEod2/D1e504CifCJMf8xH2pfEyxuMLFLyBo/fpanDwxapD9SX024fgX6cUOr95upgsG5Mz4FiQclluECYUd3CCdAtAT4vIPZlhOCjVZV+ZcT3DPl38KTMW7RyZrIcpiGK0THcc0UGoPpCgr4bXzridljPH16PFogZ8P/Nk7e6mYLhZI9RlexxNw5jdY8knAe4QDVUUeEataB/aZmqDA+Xw X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7641 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:20b:46f::13]; domain=AS9PR06CA0642.eurprd06.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM1PEPF000252DF.eurprd07.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: cca0f3bf-2c6d-4b7e-cad7-08dcd633582a X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|376014|1800799024|36860700013|35042699022; X-Microsoft-Antispam-Message-Info: 575PJ3jlMN3M7W6mQKiEYh1ZyKi+gXwsZGihc0CUhpDjsjceZriuRTnr7bur4syNAfCSzlcj4bLJYbeDLKtpLpyQimoJK/pgQJa4WYe9t9z5dL6vz2hWSH59bffWTke9akMzrYgt8Qozq19pEFF0PtmSF2onNvOSNC/Vzy8Ioey6ECmAylbsKVJlm2Pc+NHltTj5JTCFWBAhH2XFYwT6bkMB3/iqw95vW+H08b2MoQAF6TLlZvFC7mRtPU9cA1e2lfou7qqgiVcwTOTwbVAJQPcvEiHg7C0WEReEmMupls0waCgCDTZyLJp1lFkLcYEmJmyc45DK1HNZN8CcRHY7YWud6Ur2nRBgzCnKDhOrSeOabh8S02qtpNDBuHYQx0Oped2zfjHCwbjyhbBrhAKCmVvrnJ2QozbZtH6xL8DuJfi/jDN/dxvNyh2lNMKm48D39aD+vCLuJRyoFgGhQQDCXb89SJAEYmJDs0Ma48W6ZBMxnoGwXzGwHskCYdkPezGgFat0ncxzhT4GoWLohTuhdVEc6T009UBdciRSXRR2SqM9lFhnqjBAV5X1NtnbmYlkUVTVp3VFN/ODW2w3JKComPZkRyp7ChmoTvhJgEbDoSExSxPGT1xhayB2BIMwiUmV8weJUpaFpv68V4tktWJT+e+QEnRJegICCGwuMQsbamO8LLUKfbDbW4HPm/IEBM3Q4FTBlT/b0BLcmlTMYFRJ8hW09cWaVpOeatksDDmBRcVvfqfFvDGBWgat3I63BiW880mfrlUiMYJwQiP8VaQhs58wOfkNHJbdyr+JD8CICiqbk2tUFXzJZCYK0/1knRSPXJXbTRQs4vYFC7A7EpftIWaEwlm5itMCBzayqZY0mYzRDdb0W/zcCs1UBTlOxD8DYck+QY9rbCbYll9+26luSvKANioYaGjntxfrjbVLiityashlVqGzFgyEhZLz9IDIbZbvXfdJughnLJ9IDsz1a/JVxX/yMj5orLO3HY0zW/cWQ/MgrFU6AUeOTm5CdykqiRJr5Jy+wtvKjMLbJpyu31uXN2gjH+y8+h2qrk+nat1eTseRXiH11ygMBDkzv0h5/5WIW7JXrVJpBkQKD7+qH9+EZMMtOR3DZlSX+F1Q+VomcIOXsQdZfa54lI36Q7fS2tomTt9d9+biSgT8STVPq0E3FLp3PIsvwbVubk39prSWENtDm252wnTqjX/HKizdnuyzn56we6p7Ji5TSK+OqVlUNJuNg2HtKL/B26qXR+jD+ILRtqmW7k9EN+30MM81cJJP30ZWRowxlaC/lGLWCvZzBCdxQ3CnFs3NhWofO0gPeIBnkLS+6vNmKRJkS/K/uzowiYbyD0Zr6mJq3RU8QaEHRNSIFF6y36FGqYn/s6IQI3fQlXrcVKCWP2EQBwEPL4nr8tbt0o13gtE6oqar07YrUsqso2o5bYDNa1nfSE1P4oPLEqYoCA/2PH8Fca6X X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2024 09:38:58.1536 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 72c0ff80-cf44-4199-8172-08dcd6336397 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM1PEPF000252DF.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10454 X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org From: Alfie Richards Implement the mve vld and vst intrinsics using the MVE builtins framework. The main part of the patch is to reimplement to vstr/vldr patterns such that we now have much fewer of them: - non-truncating stores - predicated non-truncating stores - truncating stores - predicated truncating stores - non-extending loads - predicated non-extending loads - extending loads - predicated extending loads This enables us to update the implementation of vld1/vst1 and use the new vldr/vstr builtins. The patch also adds support for the predicated vld1/vst1 versions. 2024-09-11 Alfie Richards Christophe Lyon gcc/ * config/arm/arm-mve-builtins-base.cc (vld1q_impl): Add support for predicated version. (vst1q_impl): Likewise. (vstrq_impl): New class. (vldrq_impl): New class. (vldrbq): New. (vldrhq): New. (vldrwq): New. (vstrbq): New. (vstrhq): New. (vstrwq): New. * config/arm/arm-mve-builtins-base.def (vld1q): Add predicated version. (vldrbq): New. (vldrhq): New. (vldrwq): New. (vst1q): Add predicated version. (vstrbq): New. (vstrhq): New. (vstrwq): New. (vrev32q): Update types to float_16. * config/arm/arm-mve-builtins-base.h (vldrbq): New. (vldrhq): New. (vldrwq): New. (vstrbq): New. (vstrhq): New. (vstrwq): New. * config/arm/arm-mve-builtins-functions.h (memory_vector_mode): Remove conversion of floating point vectors to integer. * config/arm/arm-mve-builtins.cc (TYPES_float16): Change to... (TYPES_float_16): ...this. (TYPES_float_32): New. (float16): Change to... (float_16): ...this. (float_32): New. (preds_z_or_none): New. (function_resolver::check_gp_argument): Add support for _z predicate. * config/arm/arm_mve.h (vstrbq): Remove. (vstrbq_p): Likewise. (vstrhq): Likewise. (vstrhq_p): Likewise. (vstrwq): Likewise. (vstrwq_p): Likewise. (vst1q_p): Likewise. (vld1q_z): Likewise. (vldrbq_s8): Likewise. (vldrbq_u8): Likewise. (vldrbq_s16): Likewise. (vldrbq_u16): Likewise. (vldrbq_s32): Likewise. (vldrbq_u32): Likewise. (vstrbq_p_s8): Likewise. (vstrbq_p_s32): Likewise. (vstrbq_p_s16): Likewise. (vstrbq_p_u8): Likewise. (vstrbq_p_u32): Likewise. (vstrbq_p_u16): Likewise. (vldrbq_z_s16): Likewise. (vldrbq_z_u8): Likewise. (vldrbq_z_s8): Likewise. (vldrbq_z_s32): Likewise. (vldrbq_z_u16): Likewise. (vldrbq_z_u32): Likewise. (vldrhq_s32): Likewise. (vldrhq_s16): Likewise. (vldrhq_u32): Likewise. (vldrhq_u16): Likewise. (vldrhq_z_s32): Likewise. (vldrhq_z_s16): Likewise. (vldrhq_z_u32): Likewise. (vldrhq_z_u16): Likewise. (vldrwq_s32): Likewise. (vldrwq_u32): Likewise. (vldrwq_z_s32): Likewise. (vldrwq_z_u32): Likewise. (vldrhq_f16): Likewise. (vldrhq_z_f16): Likewise. (vldrwq_f32): Likewise. (vldrwq_z_f32): Likewise. (vstrhq_f16): Likewise. (vstrhq_s32): Likewise. (vstrhq_s16): Likewise. (vstrhq_u32): Likewise. (vstrhq_u16): Likewise. (vstrhq_p_f16): Likewise. (vstrhq_p_s32): Likewise. (vstrhq_p_s16): Likewise. (vstrhq_p_u32): Likewise. (vstrhq_p_u16): Likewise. (vstrwq_f32): Likewise. (vstrwq_s32): Likewise. (vstrwq_u32): Likewise. (vstrwq_p_f32): Likewise. (vstrwq_p_s32): Likewise. (vstrwq_p_u32): Likewise. (vst1q_p_u8): Likewise. (vst1q_p_s8): Likewise. (vld1q_z_u8): Likewise. (vld1q_z_s8): Likewise. (vst1q_p_u16): Likewise. (vst1q_p_s16): Likewise. (vld1q_z_u16): Likewise. (vld1q_z_s16): Likewise. (vst1q_p_u32): Likewise. (vst1q_p_s32): Likewise. (vld1q_z_u32): Likewise. (vld1q_z_s32): Likewise. (vld1q_z_f16): Likewise. (vst1q_p_f16): Likewise. (vld1q_z_f32): Likewise. (vst1q_p_f32): Likewise. (__arm_vstrbq_s8): Likewise. (__arm_vstrbq_s32): Likewise. (__arm_vstrbq_s16): Likewise. (__arm_vstrbq_u8): Likewise. (__arm_vstrbq_u32): Likewise. (__arm_vstrbq_u16): Likewise. (__arm_vldrbq_s8): Likewise. (__arm_vldrbq_u8): Likewise. (__arm_vldrbq_s16): Likewise. (__arm_vldrbq_u16): Likewise. (__arm_vldrbq_s32): Likewise. (__arm_vldrbq_u32): Likewise. (__arm_vstrbq_p_s8): Likewise. (__arm_vstrbq_p_s32): Likewise. (__arm_vstrbq_p_s16): Likewise. (__arm_vstrbq_p_u8): Likewise. (__arm_vstrbq_p_u32): Likewise. (__arm_vstrbq_p_u16): Likewise. (__arm_vldrbq_z_s8): Likewise. (__arm_vldrbq_z_s32): Likewise. (__arm_vldrbq_z_s16): Likewise. (__arm_vldrbq_z_u8): Likewise. (__arm_vldrbq_z_u32): Likewise. (__arm_vldrbq_z_u16): Likewise. (__arm_vldrhq_s32): Likewise. (__arm_vldrhq_s16): Likewise. (__arm_vldrhq_u32): Likewise. (__arm_vldrhq_u16): Likewise. (__arm_vldrhq_z_s32): Likewise. (__arm_vldrhq_z_s16): Likewise. (__arm_vldrhq_z_u32): Likewise. (__arm_vldrhq_z_u16): Likewise. (__arm_vldrwq_s32): Likewise. (__arm_vldrwq_u32): Likewise. (__arm_vldrwq_z_s32): Likewise. (__arm_vldrwq_z_u32): Likewise. (__arm_vstrhq_s32): Likewise. (__arm_vstrhq_s16): Likewise. (__arm_vstrhq_u32): Likewise. (__arm_vstrhq_u16): Likewise. (__arm_vstrhq_p_s32): Likewise. (__arm_vstrhq_p_s16): Likewise. (__arm_vstrhq_p_u32): Likewise. (__arm_vstrhq_p_u16): Likewise. (__arm_vstrwq_s32): Likewise. (__arm_vstrwq_u32): Likewise. (__arm_vstrwq_p_s32): Likewise. (__arm_vstrwq_p_u32): Likewise. (__arm_vst1q_p_u8): Likewise. (__arm_vst1q_p_s8): Likewise. (__arm_vld1q_z_u8): Likewise. (__arm_vld1q_z_s8): Likewise. (__arm_vst1q_p_u16): Likewise. (__arm_vst1q_p_s16): Likewise. (__arm_vld1q_z_u16): Likewise. (__arm_vld1q_z_s16): Likewise. (__arm_vst1q_p_u32): Likewise. (__arm_vst1q_p_s32): Likewise. (__arm_vld1q_z_u32): Likewise. (__arm_vld1q_z_s32): Likewise. (__arm_vldrwq_f32): Likewise. (__arm_vldrwq_z_f32): Likewise. (__arm_vldrhq_z_f16): Likewise. (__arm_vldrhq_f16): Likewise. (__arm_vstrwq_p_f32): Likewise. (__arm_vstrwq_f32): Likewise. (__arm_vstrhq_f16): Likewise. (__arm_vstrhq_p_f16): Likewise. (__arm_vld1q_z_f16): Likewise. (__arm_vst1q_p_f16): Likewise. (__arm_vld1q_z_f32): Likewise. (__arm_vst2q_f32): Likewise. (__arm_vst1q_p_f32): Likewise. (__arm_vstrbq): Likewise. (__arm_vstrbq_p): Likewise. (__arm_vstrhq): Likewise. (__arm_vstrhq_p): Likewise. (__arm_vstrwq): Likewise. (__arm_vstrwq_p): Likewise. (__arm_vst1q_p): Likewise. (__arm_vld1q_z): Likewise. * config/arm/arm_mve_builtins.def: (vstrbq_s): Delete. (vstrbq_u): Likewise. (vldrbq_s): Likewise. (vldrbq_u): Likewise. (vstrbq_p_s): Likewise. (vstrbq_p_u): Likewise. (vldrbq_z_s): Likewise. (vldrbq_z_u): Likewise. (vld1q_u): Likewise. (vld1q_s): Likewise. (vldrhq_z_u): Likewise. (vldrhq_u): Likewise. (vldrhq_z_s): Likewise. (vldrhq_s): Likewise. (vld1q_f): Likewise. (vldrhq_f): Likewise. (vldrhq_z_f): Likewise. (vldrwq_f): Likewise. (vldrwq_s): Likewise. (vldrwq_u): Likewise. (vldrwq_z_f): Likewise. (vldrwq_z_s): Likewise. (vldrwq_z_u): Likewise. (vst1q_u): Likewise. (vst1q_s): Likewise. (vstrhq_p_u): Likewise. (vstrhq_u): Likewise. (vstrhq_p_s): Likewise. (vstrhq_s): Likewise. (vst1q_f): Likewise. (vstrhq_f): Likewise. (vstrhq_p_f): Likewise. (vstrwq_f): Likewise. (vstrwq_s): Likewise. (vstrwq_u): Likewise. (vstrwq_p_f): Likewise. (vstrwq_p_s): Likewise. (vstrwq_p_u): Likewise. * config/arm/iterators.md (MVE_w_narrow_TYPE): New iterator. (MVE_w_narrow_type): New iterator. (MVE_wide_n_TYPE): New attribute. (MVE_wide_n_type): New attribute. (MVE_wide_n_sz_elem): New attribute. (MVE_wide_n_VPRED): New attribute. (MVE_elem_ch): New attribute. (supf): Remove VSTRBQ_S, VSTRBQ_U, VLDRBQ_S, VLDRBQ_U, VLD1Q_S, VLD1Q_U, VLDRHQ_S, VLDRHQ_U, VLDRWQ_S, VLDRWQ_U, VST1Q_S, VST1Q_U, VSTRHQ_S, VSTRHQ_U, VSTRWQ_S, VSTRWQ_U. (VSTRBQ, VLDRBQ, VLD1Q, VLDRHQ, VLDRWQ, VST1Q, VSTRHQ, VSTRWQ): Delete. * config/arm/mve.md (mve_vstrbq_): Remove. (mve_vldrbq_): Likewise. (mve_vstrbq_p_): Likewise. (mve_vldrbq_z_): Likewise. (mve_vldrhq_fv8hf): Likewise. (mve_vldrhq_): Likewise. (mve_vldrhq_z_fv8hf): Likewise. (mve_vldrhq_z_): Likewise. (mve_vldrwq_fv4sf): Likewise. (mve_vldrwq_v4si): Likewise. (mve_vldrwq_z_fv4sf): Likewise. (mve_vldrwq_z_v4si): Likewise. (@mve_vld1q_f): Likewise. (@mve_vld1q_): Likewise. (mve_vstrhq_fv8hf): Likewise. (mve_vstrhq_p_fv8hf): Likewise. (mve_vstrhq_p_): Likewise. (mve_vstrhq_): Likewise. (mve_vstrwq_fv4sf): Likewise. (mve_vstrwq_p_fv4sf): Likewise. (mve_vstrwq_p_v4si): Likewise. (mve_vstrwq_v4si): Likewise. (@mve_vst1q_f): Likewise. (@mve_vst1q_): Likewise. (@mve_vstrq_): New. (@mve_vstrq_p_): New. (@mve_vstrq_truncate_): New. (@mve_vstrq_p_truncate_): New. (@mve_vldrq_): New. (@mve_vldrq_z_): New. (@mve_vldrq_extend_): New. (@mve_vldrq_z_extend_): New. * config/arm/unspecs.md: (VSTRBQ_S): Remove. (VSTRBQ_U): Likewise. (VLDRBQ_S): Likewise. (VLDRBQ_U): Likewise. (VLD1Q_F): Likewise. (VLD1Q_S): Likewise. (VLD1Q_U): Likewise. (VLDRHQ_F): Likewise. (VLDRHQ_U): Likewise. (VLDRHQ_S): Likewise. (VLDRWQ_F): Likewise. (VLDRWQ_S): Likewise. (VLDRWQ_U): Likewise. (VSTRHQ_F): Likewise. (VST1Q_S): Likewise. (VST1Q_U): Likewise. (VSTRHQ_U): Likewise. (VSTRWQ_S): Likewise. (VSTRWQ_U): Likewise. (VSTRWQ_F): Likewise. (VST1Q_F): Likewise. (VLDRQ): New. (VLDRQ_Z): Likewise. (VLDRQ_EXT): Likewise. (VLDRQ_EXT_Z): Likewise. (VSTRQ): Likewise. (VSTRQ_P): Likewise. (VSTRQ_TRUNC): Likewise. (VSTRQ_TRUNC_P): Likewise. --- gcc/config/arm/arm-mve-builtins-base.cc | 135 ++- gcc/config/arm/arm-mve-builtins-base.def | 20 +- gcc/config/arm/arm-mve-builtins-base.h | 6 + gcc/config/arm/arm-mve-builtins-functions.h | 13 - gcc/config/arm/arm-mve-builtins.cc | 15 +- gcc/config/arm/arm_mve.h | 978 +------------------- gcc/config/arm/arm_mve_builtins.def | 38 - gcc/config/arm/iterators.md | 37 +- gcc/config/arm/mve.md | 662 ++++--------- gcc/config/arm/unspecs.md | 29 +- 10 files changed, 379 insertions(+), 1554 deletions(-) diff --git a/gcc/config/arm/arm-mve-builtins-base.cc b/gcc/config/arm/arm-mve-builtins-base.cc index e0ae593a6c0..9ca1bc4258a 100644 --- a/gcc/config/arm/arm-mve-builtins-base.cc +++ b/gcc/config/arm/arm-mve-builtins-base.cc @@ -96,16 +96,18 @@ public: expand (function_expander &e) const override { insn_code icode; - if (e.type_suffix (0).float_p) - icode = code_for_mve_vld1q_f(e.vector_mode (0)); - else + switch (e.pred) { - if (e.type_suffix (0).unsigned_p) - icode = code_for_mve_vld1q(VLD1Q_U, - e.vector_mode (0)); - else - icode = code_for_mve_vld1q(VLD1Q_S, - e.vector_mode (0)); + case PRED_none: + icode = code_for_mve_vldrq (e.vector_mode (0)); + break; + + case PRED_z: + icode = code_for_mve_vldrq_z (e.vector_mode (0)); + break; + + default: + gcc_unreachable (); } return e.use_contiguous_load_insn (icode); } @@ -124,21 +126,112 @@ public: expand (function_expander &e) const override { insn_code icode; - if (e.type_suffix (0).float_p) - icode = code_for_mve_vst1q_f(e.vector_mode (0)); - else + switch (e.pred) + { + case PRED_none: + icode = code_for_mve_vstrq (e.vector_mode (0)); + break; + + case PRED_p: + icode = code_for_mve_vstrq_p (e.vector_mode (0)); + break; + + default: + gcc_unreachable (); + } + return e.use_contiguous_store_insn (icode); + } +}; + +/* Builds the vstrq* intrinsics. */ +class vstrq_impl : public store_truncating +{ +public: + using store_truncating::store_truncating; + + unsigned int call_properties (const function_instance &) const override + { + return CP_WRITE_MEMORY; + } + + rtx expand (function_expander &e) const override + { + insn_code icode; + switch (e.pred) { - if (e.type_suffix (0).unsigned_p) - icode = code_for_mve_vst1q(VST1Q_U, - e.vector_mode (0)); + case PRED_none: + if (e.vector_mode (0) == e.memory_vector_mode ()) + /* Non-truncating store case. */ + icode = code_for_mve_vstrq (e.vector_mode (0)); else - icode = code_for_mve_vst1q(VST1Q_S, - e.vector_mode (0)); + /* Truncating store case. + (there is only one possible truncation for each memory mode so only + one mode argument is needed). */ + icode = code_for_mve_vstrq_truncate (e.memory_vector_mode ()); + break; + + case PRED_p: + if (e.vector_mode (0) == e.memory_vector_mode ()) + icode = code_for_mve_vstrq_p (e.vector_mode (0)); + else + icode = code_for_mve_vstrq_p_truncate (e.memory_vector_mode ()); + break; + + default: + gcc_unreachable (); } return e.use_contiguous_store_insn (icode); } }; +/* Builds the vldrq* intrinsics. */ +class vldrq_impl : public load_extending +{ +public: + using load_extending::load_extending; + + unsigned int call_properties (const function_instance &) const override + { + return CP_READ_MEMORY; + } + + rtx expand (function_expander &e) const override + { + insn_code icode; + switch (e.pred) + { + case PRED_none: + if (e.vector_mode (0) == e.memory_vector_mode ()) + /* Non-extending load case. */ + icode = code_for_mve_vldrq (e.vector_mode (0)); + else + /* Extending load case. + (there is only one extension for each memory mode so only one type + argument is needed). */ + icode = code_for_mve_vldrq_extend (e.memory_vector_mode (), + e.type_suffix (0).unsigned_p + ? ZERO_EXTEND + : SIGN_EXTEND); + break; + + case PRED_z: + if (e.vector_mode (0) == e.memory_vector_mode ()) + icode = code_for_mve_vldrq_z (e.vector_mode (0)); + else + icode = code_for_mve_vldrq_z_extend (e.memory_vector_mode (), + e.type_suffix (0).unsigned_p + ? ZERO_EXTEND + : SIGN_EXTEND); + break; + + default: + gcc_unreachable (); + } + + return e.use_contiguous_load_insn (icode); + } +}; + } /* end anonymous namespace */ namespace arm_mve { @@ -347,6 +440,11 @@ FUNCTION (vfmsq, unspec_mve_function_exact_insn, (-1, -1, VFMSQ_F, -1, -1, -1, - FUNCTION_WITH_M_N_NO_F (vhaddq, VHADDQ) FUNCTION_WITH_M_N_NO_F (vhsubq, VHSUBQ) FUNCTION (vld1q, vld1_impl,) +FUNCTION (vldrbq, vldrq_impl, (TYPE_SUFFIX_s8, TYPE_SUFFIX_u8)) +FUNCTION (vldrhq, vldrq_impl, + (TYPE_SUFFIX_s16, TYPE_SUFFIX_u16, TYPE_SUFFIX_f16)) +FUNCTION (vldrwq, vldrq_impl, + (TYPE_SUFFIX_s32, TYPE_SUFFIX_u32, TYPE_SUFFIX_f32)) FUNCTION_PRED_P_S (vmaxavq, VMAXAVQ) FUNCTION_WITHOUT_N_NO_U_F (vmaxaq, VMAXAQ) FUNCTION_ONLY_F (vmaxnmaq, VMAXNMAQ) @@ -463,6 +561,9 @@ FUNCTION_ONLY_N_NO_F (vshrq, VSHRQ) FUNCTION_ONLY_N_NO_F (vsliq, VSLIQ) FUNCTION_ONLY_N_NO_F (vsriq, VSRIQ) FUNCTION (vst1q, vst1_impl,) +FUNCTION (vstrbq, vstrq_impl, (QImode, opt_scalar_mode ())) +FUNCTION (vstrhq, vstrq_impl, (HImode, HFmode)) +FUNCTION (vstrwq, vstrq_impl, (SImode, SFmode)) FUNCTION_WITH_RTX_M_N (vsubq, MINUS, VSUBQ) FUNCTION (vuninitializedq, vuninitializedq_impl,) diff --git a/gcc/config/arm/arm-mve-builtins-base.def b/gcc/config/arm/arm-mve-builtins-base.def index 90d031eebec..513827f0e40 100644 --- a/gcc/config/arm/arm-mve-builtins-base.def +++ b/gcc/config/arm/arm-mve-builtins-base.def @@ -47,7 +47,10 @@ DEF_MVE_FUNCTION (vhaddq, binary_opt_n, all_integer, mx_or_none) DEF_MVE_FUNCTION (vhcaddq_rot90, binary, all_signed, mx_or_none) DEF_MVE_FUNCTION (vhcaddq_rot270, binary, all_signed, mx_or_none) DEF_MVE_FUNCTION (vhsubq, binary_opt_n, all_integer, mx_or_none) -DEF_MVE_FUNCTION (vld1q, load, all_integer, none) +DEF_MVE_FUNCTION (vld1q, load, all_integer, z_or_none) +DEF_MVE_FUNCTION (vldrbq, load_ext, all_integer, z_or_none) +DEF_MVE_FUNCTION (vldrhq, load_ext, integer_16_32, z_or_none) +DEF_MVE_FUNCTION (vldrwq, load_ext, integer_32, z_or_none) DEF_MVE_FUNCTION (vmaxaq, binary_maxamina, all_signed, m_or_none) DEF_MVE_FUNCTION (vmaxavq, binary_maxavminav, all_signed, p_or_none) DEF_MVE_FUNCTION (vmaxq, binary, all_integer, mx_or_none) @@ -151,7 +154,10 @@ DEF_MVE_FUNCTION (vshrntq, binary_rshift_narrow, integer_16_32, m_or_none) DEF_MVE_FUNCTION (vshrq, binary_rshift, all_integer, mx_or_none) DEF_MVE_FUNCTION (vsliq, ternary_lshift, all_integer, m_or_none) DEF_MVE_FUNCTION (vsriq, ternary_rshift, all_integer, m_or_none) -DEF_MVE_FUNCTION (vst1q, store, all_integer, none) +DEF_MVE_FUNCTION (vst1q, store, all_integer, p_or_none) +DEF_MVE_FUNCTION (vstrbq, store, all_integer, p_or_none) +DEF_MVE_FUNCTION (vstrhq, store, integer_16_32, p_or_none) +DEF_MVE_FUNCTION (vstrwq, store, integer_32, p_or_none) DEF_MVE_FUNCTION (vsubq, binary_opt_n, all_integer, mx_or_none) DEF_MVE_FUNCTION (vuninitializedq, inherent, all_integer_with_64, none) #undef REQUIRES_FLOAT @@ -184,7 +190,9 @@ DEF_MVE_FUNCTION (veorq, binary, all_float, mx_or_none) DEF_MVE_FUNCTION (vfmaq, ternary_opt_n, all_float, m_or_none) DEF_MVE_FUNCTION (vfmasq, ternary_n, all_float, m_or_none) DEF_MVE_FUNCTION (vfmsq, ternary, all_float, m_or_none) -DEF_MVE_FUNCTION (vld1q, load, all_float, none) +DEF_MVE_FUNCTION (vld1q, load, all_float, z_or_none) +DEF_MVE_FUNCTION (vldrhq, load_ext, float_16, z_or_none) +DEF_MVE_FUNCTION (vldrwq, load_ext, float_32, z_or_none) DEF_MVE_FUNCTION (vmaxnmaq, binary, all_float, m_or_none) DEF_MVE_FUNCTION (vmaxnmavq, binary_maxvminv, all_float, p_or_none) DEF_MVE_FUNCTION (vmaxnmq, binary, all_float, mx_or_none) @@ -198,7 +206,7 @@ DEF_MVE_FUNCTION (vnegq, unary, all_float, mx_or_none) DEF_MVE_FUNCTION (vorrq, binary_orrq, all_float, mx_or_none) DEF_MVE_FUNCTION (vpselq, vpsel, all_float, none) DEF_MVE_FUNCTION (vreinterpretq, unary_convert, reinterpret_float, none) -DEF_MVE_FUNCTION (vrev32q, unary, float16, mx_or_none) +DEF_MVE_FUNCTION (vrev32q, unary, float_16, mx_or_none) DEF_MVE_FUNCTION (vrev64q, unary, all_float, mx_or_none) DEF_MVE_FUNCTION (vrndaq, unary, all_float, mx_or_none) DEF_MVE_FUNCTION (vrndmq, unary, all_float, mx_or_none) @@ -206,7 +214,9 @@ DEF_MVE_FUNCTION (vrndnq, unary, all_float, mx_or_none) DEF_MVE_FUNCTION (vrndpq, unary, all_float, mx_or_none) DEF_MVE_FUNCTION (vrndq, unary, all_float, mx_or_none) DEF_MVE_FUNCTION (vrndxq, unary, all_float, mx_or_none) -DEF_MVE_FUNCTION (vst1q, store, all_float, none) +DEF_MVE_FUNCTION (vst1q, store, all_float, p_or_none) +DEF_MVE_FUNCTION (vstrhq, store, float_16, p_or_none) +DEF_MVE_FUNCTION (vstrwq, store, float_32, p_or_none) DEF_MVE_FUNCTION (vsubq, binary_opt_n, all_float, mx_or_none) DEF_MVE_FUNCTION (vuninitializedq, inherent, all_float, none) #undef REQUIRES_FLOAT diff --git a/gcc/config/arm/arm-mve-builtins-base.h b/gcc/config/arm/arm-mve-builtins-base.h index c9b52a81c5e..1e267ce0238 100644 --- a/gcc/config/arm/arm-mve-builtins-base.h +++ b/gcc/config/arm/arm-mve-builtins-base.h @@ -64,6 +64,9 @@ extern const function_base *const vhcaddq_rot270; extern const function_base *const vhcaddq_rot90; extern const function_base *const vhsubq; extern const function_base *const vld1q; +extern const function_base *const vldrbq; +extern const function_base *const vldrhq; +extern const function_base *const vldrwq; extern const function_base *const vmaxaq; extern const function_base *const vmaxavq; extern const function_base *const vmaxnmaq; @@ -180,6 +183,9 @@ extern const function_base *const vshrq; extern const function_base *const vsliq; extern const function_base *const vsriq; extern const function_base *const vst1q; +extern const function_base *const vstrbq; +extern const function_base *const vstrhq; +extern const function_base *const vstrwq; extern const function_base *const vsubq; extern const function_base *const vuninitializedq; diff --git a/gcc/config/arm/arm-mve-builtins-functions.h b/gcc/config/arm/arm-mve-builtins-functions.h index e47bc69936e..c78b370e958 100644 --- a/gcc/config/arm/arm-mve-builtins-functions.h +++ b/gcc/config/arm/arm-mve-builtins-functions.h @@ -1005,19 +1005,6 @@ public: memory_vector_mode (const function_instance &fi) const override { machine_mode mode = fi.vector_mode (0); - /* Vectors of floating-point are managed in memory as vectors of - integers. */ - switch (mode) - { - case E_V4SFmode: - mode = E_V4SImode; - break; - case E_V8HFmode: - mode = E_V8HImode; - break; - default: - break; - } if (m_vectors_per_tuple != 1) mode = targetm.array_mode (mode, m_vectors_per_tuple).require (); diff --git a/gcc/config/arm/arm-mve-builtins.cc b/gcc/config/arm/arm-mve-builtins.cc index f519fded000..109e391d768 100644 --- a/gcc/config/arm/arm-mve-builtins.cc +++ b/gcc/config/arm/arm-mve-builtins.cc @@ -149,8 +149,10 @@ CONSTEXPR const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = { class ("b", "f", etc.) and a numerical bit count. */ /* _f16. */ -#define TYPES_float16(S, D) \ - S (f16) +#define TYPES_float_16(S, D) S (f16) + +/* _f32. */ +#define TYPES_float_32(S, D) S (f32) /* _f16 _f32. */ #define TYPES_all_float(S, D) \ @@ -273,7 +275,8 @@ static const type_suffix_pair types_none[] = { DEF_MVE_TYPES_ARRAY (all_integer); DEF_MVE_TYPES_ARRAY (all_integer_with_64); -DEF_MVE_TYPES_ARRAY (float16); +DEF_MVE_TYPES_ARRAY (float_16); +DEF_MVE_TYPES_ARRAY (float_32); DEF_MVE_TYPES_ARRAY (all_float); DEF_MVE_TYPES_ARRAY (all_signed); DEF_MVE_TYPES_ARRAY (all_unsigned); @@ -308,6 +311,11 @@ static const predication_index preds_p_or_none[] = { PRED_p, PRED_none, NUM_PREDS }; +/* Used by functions that have the z predicated form, in addition to + an unpredicated form. */ +static const predication_index preds_z_or_none[] + = {PRED_z, PRED_none, NUM_PREDS}; + /* A list of all MVE ACLE functions. */ static CONSTEXPR const function_group_info function_groups[] = { #define DEF_MVE_FUNCTION(NAME, SHAPE, TYPES, PREDS) \ @@ -1601,6 +1609,7 @@ function_resolver::check_gp_argument (unsigned int nops, case PRED_p: case PRED_x: + case PRED_z: /* Add final predicate. */ nargs = nops + 1; break; diff --git a/gcc/config/arm/arm_mve.h b/gcc/config/arm/arm_mve.h index ae1b5438797..659d8802e4a 100644 --- a/gcc/config/arm/arm_mve.h +++ b/gcc/config/arm/arm_mve.h @@ -49,10 +49,8 @@ #define vbicq_m(__inactive, __a, __b, __p) __arm_vbicq_m(__inactive, __a, __b, __p) #define vornq_m(__inactive, __a, __b, __p) __arm_vornq_m(__inactive, __a, __b, __p) #define vstrbq_scatter_offset(__base, __offset, __value) __arm_vstrbq_scatter_offset(__base, __offset, __value) -#define vstrbq(__addr, __value) __arm_vstrbq(__addr, __value) #define vstrwq_scatter_base(__addr, __offset, __value) __arm_vstrwq_scatter_base(__addr, __offset, __value) #define vldrbq_gather_offset(__base, __offset) __arm_vldrbq_gather_offset(__base, __offset) -#define vstrbq_p(__addr, __value, __p) __arm_vstrbq_p(__addr, __value, __p) #define vstrbq_scatter_offset_p(__base, __offset, __value, __p) __arm_vstrbq_scatter_offset_p(__base, __offset, __value, __p) #define vstrwq_scatter_base_p(__addr, __offset, __value, __p) __arm_vstrwq_scatter_base_p(__addr, __offset, __value, __p) #define vldrbq_gather_offset_z(__base, __offset, __p) __arm_vldrbq_gather_offset_z(__base, __offset, __p) @@ -72,10 +70,6 @@ #define vstrhq_scatter_offset_p(__base, __offset, __value, __p) __arm_vstrhq_scatter_offset_p(__base, __offset, __value, __p) #define vstrhq_scatter_shifted_offset(__base, __offset, __value) __arm_vstrhq_scatter_shifted_offset(__base, __offset, __value) #define vstrhq_scatter_shifted_offset_p(__base, __offset, __value, __p) __arm_vstrhq_scatter_shifted_offset_p(__base, __offset, __value, __p) -#define vstrhq(__addr, __value) __arm_vstrhq(__addr, __value) -#define vstrhq_p(__addr, __value, __p) __arm_vstrhq_p(__addr, __value, __p) -#define vstrwq(__addr, __value) __arm_vstrwq(__addr, __value) -#define vstrwq_p(__addr, __value, __p) __arm_vstrwq_p(__addr, __value, __p) #define vstrdq_scatter_base_p(__addr, __offset, __value, __p) __arm_vstrdq_scatter_base_p(__addr, __offset, __value, __p) #define vstrdq_scatter_base(__addr, __offset, __value) __arm_vstrdq_scatter_base(__addr, __offset, __value) #define vstrdq_scatter_offset_p(__base, __offset, __value, __p) __arm_vstrdq_scatter_offset_p(__base, __offset, __value, __p) @@ -129,9 +123,7 @@ #define vsbciq_m(__inactive, __a, __b, __carry_out, __p) __arm_vsbciq_m(__inactive, __a, __b, __carry_out, __p) #define vsbcq(__a, __b, __carry) __arm_vsbcq(__a, __b, __carry) #define vsbcq_m(__inactive, __a, __b, __carry, __p) __arm_vsbcq_m(__inactive, __a, __b, __carry, __p) -#define vst1q_p(__addr, __value, __p) __arm_vst1q_p(__addr, __value, __p) #define vst2q(__addr, __value) __arm_vst2q(__addr, __value) -#define vld1q_z(__base, __p) __arm_vld1q_z(__base, __p) #define vld2q(__addr) __arm_vld2q(__addr) #define vld4q(__addr) __arm_vld4q(__addr) #define vsetq_lane(__a, __b, __idx) __arm_vsetq_lane(__a, __b, __idx) @@ -304,24 +296,12 @@ #define vstrwq_scatter_base_u32(__addr, __offset, __value) __arm_vstrwq_scatter_base_u32(__addr, __offset, __value) #define vldrbq_gather_offset_u8(__base, __offset) __arm_vldrbq_gather_offset_u8(__base, __offset) #define vldrbq_gather_offset_s8(__base, __offset) __arm_vldrbq_gather_offset_s8(__base, __offset) -#define vldrbq_s8(__base) __arm_vldrbq_s8(__base) -#define vldrbq_u8(__base) __arm_vldrbq_u8(__base) #define vldrbq_gather_offset_u16(__base, __offset) __arm_vldrbq_gather_offset_u16(__base, __offset) #define vldrbq_gather_offset_s16(__base, __offset) __arm_vldrbq_gather_offset_s16(__base, __offset) -#define vldrbq_s16(__base) __arm_vldrbq_s16(__base) -#define vldrbq_u16(__base) __arm_vldrbq_u16(__base) #define vldrbq_gather_offset_u32(__base, __offset) __arm_vldrbq_gather_offset_u32(__base, __offset) #define vldrbq_gather_offset_s32(__base, __offset) __arm_vldrbq_gather_offset_s32(__base, __offset) -#define vldrbq_s32(__base) __arm_vldrbq_s32(__base) -#define vldrbq_u32(__base) __arm_vldrbq_u32(__base) #define vldrwq_gather_base_s32(__addr, __offset) __arm_vldrwq_gather_base_s32(__addr, __offset) #define vldrwq_gather_base_u32(__addr, __offset) __arm_vldrwq_gather_base_u32(__addr, __offset) -#define vstrbq_p_s8( __addr, __value, __p) __arm_vstrbq_p_s8( __addr, __value, __p) -#define vstrbq_p_s32( __addr, __value, __p) __arm_vstrbq_p_s32( __addr, __value, __p) -#define vstrbq_p_s16( __addr, __value, __p) __arm_vstrbq_p_s16( __addr, __value, __p) -#define vstrbq_p_u8( __addr, __value, __p) __arm_vstrbq_p_u8( __addr, __value, __p) -#define vstrbq_p_u32( __addr, __value, __p) __arm_vstrbq_p_u32( __addr, __value, __p) -#define vstrbq_p_u16( __addr, __value, __p) __arm_vstrbq_p_u16( __addr, __value, __p) #define vstrbq_scatter_offset_p_s8( __base, __offset, __value, __p) __arm_vstrbq_scatter_offset_p_s8( __base, __offset, __value, __p) #define vstrbq_scatter_offset_p_s32( __base, __offset, __value, __p) __arm_vstrbq_scatter_offset_p_s32( __base, __offset, __value, __p) #define vstrbq_scatter_offset_p_s16( __base, __offset, __value, __p) __arm_vstrbq_scatter_offset_p_s16( __base, __offset, __value, __p) @@ -336,12 +316,6 @@ #define vldrbq_gather_offset_z_u16(__base, __offset, __p) __arm_vldrbq_gather_offset_z_u16(__base, __offset, __p) #define vldrbq_gather_offset_z_u32(__base, __offset, __p) __arm_vldrbq_gather_offset_z_u32(__base, __offset, __p) #define vldrbq_gather_offset_z_s8(__base, __offset, __p) __arm_vldrbq_gather_offset_z_s8(__base, __offset, __p) -#define vldrbq_z_s16(__base, __p) __arm_vldrbq_z_s16(__base, __p) -#define vldrbq_z_u8(__base, __p) __arm_vldrbq_z_u8(__base, __p) -#define vldrbq_z_s8(__base, __p) __arm_vldrbq_z_s8(__base, __p) -#define vldrbq_z_s32(__base, __p) __arm_vldrbq_z_s32(__base, __p) -#define vldrbq_z_u16(__base, __p) __arm_vldrbq_z_u16(__base, __p) -#define vldrbq_z_u32(__base, __p) __arm_vldrbq_z_u32(__base, __p) #define vldrwq_gather_base_z_u32(__addr, __offset, __p) __arm_vldrwq_gather_base_z_u32(__addr, __offset, __p) #define vldrwq_gather_base_z_s32(__addr, __offset, __p) __arm_vldrwq_gather_base_z_s32(__addr, __offset, __p) #define vldrhq_gather_offset_s32(__base, __offset) __arm_vldrhq_gather_offset_s32(__base, __offset) @@ -360,22 +334,6 @@ #define vldrhq_gather_shifted_offset_z_s16(__base, __offset, __p) __arm_vldrhq_gather_shifted_offset_z_s16(__base, __offset, __p) #define vldrhq_gather_shifted_offset_z_u32(__base, __offset, __p) __arm_vldrhq_gather_shifted_offset_z_u32(__base, __offset, __p) #define vldrhq_gather_shifted_offset_z_u16(__base, __offset, __p) __arm_vldrhq_gather_shifted_offset_z_u16(__base, __offset, __p) -#define vldrhq_s32(__base) __arm_vldrhq_s32(__base) -#define vldrhq_s16(__base) __arm_vldrhq_s16(__base) -#define vldrhq_u32(__base) __arm_vldrhq_u32(__base) -#define vldrhq_u16(__base) __arm_vldrhq_u16(__base) -#define vldrhq_z_s32(__base, __p) __arm_vldrhq_z_s32(__base, __p) -#define vldrhq_z_s16(__base, __p) __arm_vldrhq_z_s16(__base, __p) -#define vldrhq_z_u32(__base, __p) __arm_vldrhq_z_u32(__base, __p) -#define vldrhq_z_u16(__base, __p) __arm_vldrhq_z_u16(__base, __p) -#define vldrwq_s32(__base) __arm_vldrwq_s32(__base) -#define vldrwq_u32(__base) __arm_vldrwq_u32(__base) -#define vldrwq_z_s32(__base, __p) __arm_vldrwq_z_s32(__base, __p) -#define vldrwq_z_u32(__base, __p) __arm_vldrwq_z_u32(__base, __p) -#define vldrhq_f16(__base) __arm_vldrhq_f16(__base) -#define vldrhq_z_f16(__base, __p) __arm_vldrhq_z_f16(__base, __p) -#define vldrwq_f32(__base) __arm_vldrwq_f32(__base) -#define vldrwq_z_f32(__base, __p) __arm_vldrwq_z_f32(__base, __p) #define vldrdq_gather_base_s64(__addr, __offset) __arm_vldrdq_gather_base_s64(__addr, __offset) #define vldrdq_gather_base_u64(__addr, __offset) __arm_vldrdq_gather_base_u64(__addr, __offset) #define vldrdq_gather_base_z_s64(__addr, __offset, __p) __arm_vldrdq_gather_base_z_s64(__addr, __offset, __p) @@ -406,7 +364,6 @@ #define vldrwq_gather_shifted_offset_z_f32(__base, __offset, __p) __arm_vldrwq_gather_shifted_offset_z_f32(__base, __offset, __p) #define vldrwq_gather_shifted_offset_z_s32(__base, __offset, __p) __arm_vldrwq_gather_shifted_offset_z_s32(__base, __offset, __p) #define vldrwq_gather_shifted_offset_z_u32(__base, __offset, __p) __arm_vldrwq_gather_shifted_offset_z_u32(__base, __offset, __p) -#define vstrhq_f16(__addr, __value) __arm_vstrhq_f16(__addr, __value) #define vstrhq_scatter_offset_s32( __base, __offset, __value) __arm_vstrhq_scatter_offset_s32( __base, __offset, __value) #define vstrhq_scatter_offset_s16( __base, __offset, __value) __arm_vstrhq_scatter_offset_s16( __base, __offset, __value) #define vstrhq_scatter_offset_u32( __base, __offset, __value) __arm_vstrhq_scatter_offset_u32( __base, __offset, __value) @@ -423,21 +380,6 @@ #define vstrhq_scatter_shifted_offset_p_s16( __base, __offset, __value, __p) __arm_vstrhq_scatter_shifted_offset_p_s16( __base, __offset, __value, __p) #define vstrhq_scatter_shifted_offset_p_u32( __base, __offset, __value, __p) __arm_vstrhq_scatter_shifted_offset_p_u32( __base, __offset, __value, __p) #define vstrhq_scatter_shifted_offset_p_u16( __base, __offset, __value, __p) __arm_vstrhq_scatter_shifted_offset_p_u16( __base, __offset, __value, __p) -#define vstrhq_s32(__addr, __value) __arm_vstrhq_s32(__addr, __value) -#define vstrhq_s16(__addr, __value) __arm_vstrhq_s16(__addr, __value) -#define vstrhq_u32(__addr, __value) __arm_vstrhq_u32(__addr, __value) -#define vstrhq_u16(__addr, __value) __arm_vstrhq_u16(__addr, __value) -#define vstrhq_p_f16(__addr, __value, __p) __arm_vstrhq_p_f16(__addr, __value, __p) -#define vstrhq_p_s32(__addr, __value, __p) __arm_vstrhq_p_s32(__addr, __value, __p) -#define vstrhq_p_s16(__addr, __value, __p) __arm_vstrhq_p_s16(__addr, __value, __p) -#define vstrhq_p_u32(__addr, __value, __p) __arm_vstrhq_p_u32(__addr, __value, __p) -#define vstrhq_p_u16(__addr, __value, __p) __arm_vstrhq_p_u16(__addr, __value, __p) -#define vstrwq_f32(__addr, __value) __arm_vstrwq_f32(__addr, __value) -#define vstrwq_s32(__addr, __value) __arm_vstrwq_s32(__addr, __value) -#define vstrwq_u32(__addr, __value) __arm_vstrwq_u32(__addr, __value) -#define vstrwq_p_f32(__addr, __value, __p) __arm_vstrwq_p_f32(__addr, __value, __p) -#define vstrwq_p_s32(__addr, __value, __p) __arm_vstrwq_p_s32(__addr, __value, __p) -#define vstrwq_p_u32(__addr, __value, __p) __arm_vstrwq_p_u32(__addr, __value, __p) #define vstrdq_scatter_base_p_s64(__addr, __offset, __value, __p) __arm_vstrdq_scatter_base_p_s64(__addr, __offset, __value, __p) #define vstrdq_scatter_base_p_u64(__addr, __offset, __value, __p) __arm_vstrdq_scatter_base_p_u64(__addr, __offset, __value, __p) #define vstrdq_scatter_base_s64(__addr, __offset, __value) __arm_vstrdq_scatter_base_s64(__addr, __offset, __value) @@ -636,46 +578,30 @@ #define vsbcq_u32(__a, __b, __carry) __arm_vsbcq_u32(__a, __b, __carry) #define vsbcq_m_s32(__inactive, __a, __b, __carry, __p) __arm_vsbcq_m_s32(__inactive, __a, __b, __carry, __p) #define vsbcq_m_u32(__inactive, __a, __b, __carry, __p) __arm_vsbcq_m_u32(__inactive, __a, __b, __carry, __p) -#define vst1q_p_u8(__addr, __value, __p) __arm_vst1q_p_u8(__addr, __value, __p) -#define vst1q_p_s8(__addr, __value, __p) __arm_vst1q_p_s8(__addr, __value, __p) #define vst2q_s8(__addr, __value) __arm_vst2q_s8(__addr, __value) #define vst2q_u8(__addr, __value) __arm_vst2q_u8(__addr, __value) -#define vld1q_z_u8(__base, __p) __arm_vld1q_z_u8(__base, __p) -#define vld1q_z_s8(__base, __p) __arm_vld1q_z_s8(__base, __p) #define vld2q_s8(__addr) __arm_vld2q_s8(__addr) #define vld2q_u8(__addr) __arm_vld2q_u8(__addr) #define vld4q_s8(__addr) __arm_vld4q_s8(__addr) #define vld4q_u8(__addr) __arm_vld4q_u8(__addr) -#define vst1q_p_u16(__addr, __value, __p) __arm_vst1q_p_u16(__addr, __value, __p) -#define vst1q_p_s16(__addr, __value, __p) __arm_vst1q_p_s16(__addr, __value, __p) #define vst2q_s16(__addr, __value) __arm_vst2q_s16(__addr, __value) #define vst2q_u16(__addr, __value) __arm_vst2q_u16(__addr, __value) -#define vld1q_z_u16(__base, __p) __arm_vld1q_z_u16(__base, __p) -#define vld1q_z_s16(__base, __p) __arm_vld1q_z_s16(__base, __p) #define vld2q_s16(__addr) __arm_vld2q_s16(__addr) #define vld2q_u16(__addr) __arm_vld2q_u16(__addr) #define vld4q_s16(__addr) __arm_vld4q_s16(__addr) #define vld4q_u16(__addr) __arm_vld4q_u16(__addr) -#define vst1q_p_u32(__addr, __value, __p) __arm_vst1q_p_u32(__addr, __value, __p) -#define vst1q_p_s32(__addr, __value, __p) __arm_vst1q_p_s32(__addr, __value, __p) #define vst2q_s32(__addr, __value) __arm_vst2q_s32(__addr, __value) #define vst2q_u32(__addr, __value) __arm_vst2q_u32(__addr, __value) -#define vld1q_z_u32(__base, __p) __arm_vld1q_z_u32(__base, __p) -#define vld1q_z_s32(__base, __p) __arm_vld1q_z_s32(__base, __p) #define vld2q_s32(__addr) __arm_vld2q_s32(__addr) #define vld2q_u32(__addr) __arm_vld2q_u32(__addr) #define vld4q_s32(__addr) __arm_vld4q_s32(__addr) #define vld4q_u32(__addr) __arm_vld4q_u32(__addr) #define vld4q_f16(__addr) __arm_vld4q_f16(__addr) #define vld2q_f16(__addr) __arm_vld2q_f16(__addr) -#define vld1q_z_f16(__base, __p) __arm_vld1q_z_f16(__base, __p) #define vst2q_f16(__addr, __value) __arm_vst2q_f16(__addr, __value) -#define vst1q_p_f16(__addr, __value, __p) __arm_vst1q_p_f16(__addr, __value, __p) #define vld4q_f32(__addr) __arm_vld4q_f32(__addr) #define vld2q_f32(__addr) __arm_vld2q_f32(__addr) -#define vld1q_z_f32(__base, __p) __arm_vld1q_z_f32(__base, __p) #define vst2q_f32(__addr, __value) __arm_vst2q_f32(__addr, __value) -#define vst1q_p_f32(__addr, __value, __p) __arm_vst1q_p_f32(__addr, __value, __p) #define vsetq_lane_f16(__a, __b, __idx) __arm_vsetq_lane_f16(__a, __b, __idx) #define vsetq_lane_f32(__a, __b, __idx) __arm_vsetq_lane_f32(__a, __b, __idx) #define vsetq_lane_s16(__a, __b, __idx) __arm_vsetq_lane_s16(__a, __b, __idx) @@ -1169,48 +1095,6 @@ __arm_vstrbq_scatter_offset_u16 (uint8_t * __base, uint16x8_t __offset, uint16x8 __builtin_mve_vstrbq_scatter_offset_uv8hi ((__builtin_neon_qi *) __base, __offset, __value); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_s8 (int8_t * __addr, int8x16_t __value) -{ - __builtin_mve_vstrbq_sv16qi ((__builtin_neon_qi *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_s32 (int8_t * __addr, int32x4_t __value) -{ - __builtin_mve_vstrbq_sv4si ((__builtin_neon_qi *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_s16 (int8_t * __addr, int16x8_t __value) -{ - __builtin_mve_vstrbq_sv8hi ((__builtin_neon_qi *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_u8 (uint8_t * __addr, uint8x16_t __value) -{ - __builtin_mve_vstrbq_uv16qi ((__builtin_neon_qi *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_u32 (uint8_t * __addr, uint32x4_t __value) -{ - __builtin_mve_vstrbq_uv4si ((__builtin_neon_qi *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_u16 (uint8_t * __addr, uint16x8_t __value) -{ - __builtin_mve_vstrbq_uv8hi ((__builtin_neon_qi *) __addr, __value); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vstrwq_scatter_base_s32 (uint32x4_t __addr, const int __offset, int32x4_t __value) @@ -1239,20 +1123,6 @@ __arm_vldrbq_gather_offset_s8 (int8_t const * __base, uint8x16_t __offset) return __builtin_mve_vldrbq_gather_offset_sv16qi ((__builtin_neon_qi *) __base, __offset); } -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_s8 (int8_t const * __base) -{ - return __builtin_mve_vldrbq_sv16qi ((__builtin_neon_qi *) __base); -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_u8 (uint8_t const * __base) -{ - return __builtin_mve_vldrbq_uv16qi ((__builtin_neon_qi *) __base); -} - __extension__ extern __inline uint16x8_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vldrbq_gather_offset_u16 (uint8_t const * __base, uint16x8_t __offset) @@ -1267,20 +1137,6 @@ __arm_vldrbq_gather_offset_s16 (int8_t const * __base, uint16x8_t __offset) return __builtin_mve_vldrbq_gather_offset_sv8hi ((__builtin_neon_qi *) __base, __offset); } -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_s16 (int8_t const * __base) -{ - return __builtin_mve_vldrbq_sv8hi ((__builtin_neon_qi *) __base); -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_u16 (uint8_t const * __base) -{ - return __builtin_mve_vldrbq_uv8hi ((__builtin_neon_qi *) __base); -} - __extension__ extern __inline uint32x4_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vldrbq_gather_offset_u32 (uint8_t const * __base, uint32x4_t __offset) @@ -1295,20 +1151,6 @@ __arm_vldrbq_gather_offset_s32 (int8_t const * __base, uint32x4_t __offset) return __builtin_mve_vldrbq_gather_offset_sv4si ((__builtin_neon_qi *) __base, __offset); } -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_s32 (int8_t const * __base) -{ - return __builtin_mve_vldrbq_sv4si ((__builtin_neon_qi *) __base); -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_u32 (uint8_t const * __base) -{ - return __builtin_mve_vldrbq_uv4si ((__builtin_neon_qi *) __base); -} - __extension__ extern __inline int32x4_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vldrwq_gather_base_s32 (uint32x4_t __addr, const int __offset) @@ -1323,48 +1165,6 @@ __arm_vldrwq_gather_base_u32 (uint32x4_t __addr, const int __offset) return __builtin_mve_vldrwq_gather_base_uv4si (__addr, __offset); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p_s8 (int8_t * __addr, int8x16_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrbq_p_sv16qi ((__builtin_neon_qi *) __addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p_s32 (int8_t * __addr, int32x4_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrbq_p_sv4si ((__builtin_neon_qi *) __addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p_s16 (int8_t * __addr, int16x8_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrbq_p_sv8hi ((__builtin_neon_qi *) __addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p_u8 (uint8_t * __addr, uint8x16_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrbq_p_uv16qi ((__builtin_neon_qi *) __addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p_u32 (uint8_t * __addr, uint32x4_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrbq_p_uv4si ((__builtin_neon_qi *) __addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p_u16 (uint8_t * __addr, uint16x8_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrbq_p_uv8hi ((__builtin_neon_qi *) __addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vstrbq_scatter_offset_p_s8 (int8_t * __base, uint8x16_t __offset, int8x16_t __value, mve_pred16_t __p) @@ -1463,48 +1263,6 @@ __arm_vldrbq_gather_offset_z_u16 (uint8_t const * __base, uint16x8_t __offset, m return __builtin_mve_vldrbq_gather_offset_z_uv8hi ((__builtin_neon_qi *) __base, __offset, __p); } -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_z_s8 (int8_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrbq_z_sv16qi ((__builtin_neon_qi *) __base, __p); -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_z_s32 (int8_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrbq_z_sv4si ((__builtin_neon_qi *) __base, __p); -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_z_s16 (int8_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrbq_z_sv8hi ((__builtin_neon_qi *) __base, __p); -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_z_u8 (uint8_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrbq_z_uv16qi ((__builtin_neon_qi *) __base, __p); -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_z_u32 (uint8_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrbq_z_uv4si ((__builtin_neon_qi *) __base, __p); -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrbq_z_u16 (uint8_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrbq_z_uv8hi ((__builtin_neon_qi *) __base, __p); -} - __extension__ extern __inline int32x4_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vldrwq_gather_base_z_s32 (uint32x4_t __addr, const int __offset, mve_pred16_t __p) @@ -1631,91 +1389,6 @@ __arm_vldrhq_gather_shifted_offset_z_u16 (uint16_t const * __base, uint16x8_t __ return __builtin_mve_vldrhq_gather_shifted_offset_z_uv8hi ((__builtin_neon_hi *) __base, __offset, __p); } -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrhq_s32 (int16_t const * __base) -{ - return __builtin_mve_vldrhq_sv4si ((__builtin_neon_hi *) __base); -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrhq_s16 (int16_t const * __base) -{ - return __builtin_mve_vldrhq_sv8hi ((__builtin_neon_hi *) __base); -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrhq_u32 (uint16_t const * __base) -{ - return __builtin_mve_vldrhq_uv4si ((__builtin_neon_hi *) __base); -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrhq_u16 (uint16_t const * __base) -{ - return __builtin_mve_vldrhq_uv8hi ((__builtin_neon_hi *) __base); -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrhq_z_s32 (int16_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrhq_z_sv4si ((__builtin_neon_hi *) __base, __p); -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrhq_z_s16 (int16_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrhq_z_sv8hi ((__builtin_neon_hi *) __base, __p); -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrhq_z_u32 (uint16_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrhq_z_uv4si ((__builtin_neon_hi *) __base, __p); -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrhq_z_u16 (uint16_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrhq_z_uv8hi ((__builtin_neon_hi *) __base, __p); -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrwq_s32 (int32_t const * __base) -{ - return __builtin_mve_vldrwq_sv4si ((__builtin_neon_si *) __base); -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrwq_u32 (uint32_t const * __base) -{ - return __builtin_mve_vldrwq_uv4si ((__builtin_neon_si *) __base); -} - - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrwq_z_s32 (int32_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrwq_z_sv4si ((__builtin_neon_si *) __base, __p); -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrwq_z_u32 (uint32_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrwq_z_uv4si ((__builtin_neon_si *) __base, __p); -} - __extension__ extern __inline int64x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vldrdq_gather_base_s64 (uint64x2_t __addr, const int __offset) @@ -1969,90 +1642,6 @@ __arm_vstrhq_scatter_shifted_offset_p_u16 (uint16_t * __base, uint16x8_t __offse __builtin_mve_vstrhq_scatter_shifted_offset_p_uv8hi ((__builtin_neon_hi *) __base, __offset, __value, __p); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_s32 (int16_t * __addr, int32x4_t __value) -{ - __builtin_mve_vstrhq_sv4si ((__builtin_neon_hi *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_s16 (int16_t * __addr, int16x8_t __value) -{ - __builtin_mve_vstrhq_sv8hi ((__builtin_neon_hi *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_u32 (uint16_t * __addr, uint32x4_t __value) -{ - __builtin_mve_vstrhq_uv4si ((__builtin_neon_hi *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_u16 (uint16_t * __addr, uint16x8_t __value) -{ - __builtin_mve_vstrhq_uv8hi ((__builtin_neon_hi *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_p_s32 (int16_t * __addr, int32x4_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrhq_p_sv4si ((__builtin_neon_hi *) __addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_p_s16 (int16_t * __addr, int16x8_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrhq_p_sv8hi ((__builtin_neon_hi *) __addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_p_u32 (uint16_t * __addr, uint32x4_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrhq_p_uv4si ((__builtin_neon_hi *) __addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_p_u16 (uint16_t * __addr, uint16x8_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrhq_p_uv8hi ((__builtin_neon_hi *) __addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq_s32 (int32_t * __addr, int32x4_t __value) -{ - __builtin_mve_vstrwq_sv4si ((__builtin_neon_si *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq_u32 (uint32_t * __addr, uint32x4_t __value) -{ - __builtin_mve_vstrwq_uv4si ((__builtin_neon_si *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq_p_s32 (int32_t * __addr, int32x4_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrwq_p_sv4si ((__builtin_neon_si *) __addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq_p_u32 (uint32_t * __addr, uint32x4_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrwq_p_uv4si ((__builtin_neon_si *) __addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vstrdq_scatter_base_p_s64 (uint64x2_t __addr, const int __offset, int64x2_t __value, mve_pred16_t __p) @@ -3190,20 +2779,6 @@ __arm_vsbcq_m_u32 (uint32x4_t __inactive, uint32x4_t __a, uint32x4_t __b, unsign return __res; } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p_u8 (uint8_t * __addr, uint8x16_t __value, mve_pred16_t __p) -{ - return __arm_vstrbq_p_u8 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p_s8 (int8_t * __addr, int8x16_t __value, mve_pred16_t __p) -{ - return __arm_vstrbq_p_s8 (__addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vst2q_s8 (int8_t * __addr, int8x16x2_t __value) @@ -3222,20 +2797,6 @@ __arm_vst2q_u8 (uint8_t * __addr, uint8x16x2_t __value) __builtin_mve_vst2qv16qi ((__builtin_neon_qi *) __addr, __rv.__o); } -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z_u8 (uint8_t const *__base, mve_pred16_t __p) -{ - return __arm_vldrbq_z_u8 ( __base, __p); -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z_s8 (int8_t const *__base, mve_pred16_t __p) -{ - return __arm_vldrbq_z_s8 ( __base, __p); -} - __extension__ extern __inline int8x16x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vld2q_s8 (int8_t const * __addr) @@ -3272,20 +2833,6 @@ __arm_vld4q_u8 (uint8_t const * __addr) return __rv.__i; } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p_u16 (uint16_t * __addr, uint16x8_t __value, mve_pred16_t __p) -{ - return __arm_vstrhq_p_u16 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p_s16 (int16_t * __addr, int16x8_t __value, mve_pred16_t __p) -{ - return __arm_vstrhq_p_s16 (__addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vst2q_s16 (int16_t * __addr, int16x8x2_t __value) @@ -3304,20 +2851,6 @@ __arm_vst2q_u16 (uint16_t * __addr, uint16x8x2_t __value) __builtin_mve_vst2qv8hi ((__builtin_neon_hi *) __addr, __rv.__o); } -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z_u16 (uint16_t const *__base, mve_pred16_t __p) -{ - return __arm_vldrhq_z_u16 ( __base, __p); -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z_s16 (int16_t const *__base, mve_pred16_t __p) -{ - return __arm_vldrhq_z_s16 ( __base, __p); -} - __extension__ extern __inline int16x8x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vld2q_s16 (int16_t const * __addr) @@ -3354,20 +2887,6 @@ __arm_vld4q_u16 (uint16_t const * __addr) return __rv.__i; } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p_u32 (uint32_t * __addr, uint32x4_t __value, mve_pred16_t __p) -{ - return __arm_vstrwq_p_u32 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p_s32 (int32_t * __addr, int32x4_t __value, mve_pred16_t __p) -{ - return __arm_vstrwq_p_s32 (__addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vst2q_s32 (int32_t * __addr, int32x4x2_t __value) @@ -3386,20 +2905,6 @@ __arm_vst2q_u32 (uint32_t * __addr, uint32x4x2_t __value) __builtin_mve_vst2qv4si ((__builtin_neon_si *) __addr, __rv.__o); } -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z_u32 (uint32_t const *__base, mve_pred16_t __p) -{ - return __arm_vldrwq_z_u32 ( __base, __p); -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z_s32 (int32_t const *__base, mve_pred16_t __p) -{ - return __arm_vldrwq_z_s32 ( __base, __p); -} - __extension__ extern __inline int32x4x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vld2q_s32 (int32_t const * __addr) @@ -4319,34 +3824,6 @@ __arm_vornq_m_f16 (float16x8_t __inactive, float16x8_t __a, float16x8_t __b, mve return __builtin_mve_vornq_m_fv8hf (__inactive, __a, __b, __p); } -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrwq_f32 (float32_t const * __base) -{ - return __builtin_mve_vldrwq_fv4sf((__builtin_neon_si *) __base); -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrwq_z_f32 (float32_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrwq_z_fv4sf((__builtin_neon_si *) __base, __p); -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrhq_z_f16 (float16_t const * __base, mve_pred16_t __p) -{ - return __builtin_mve_vldrhq_z_fv8hf((__builtin_neon_hi *) __base, __p); -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vldrhq_f16 (float16_t const * __base) -{ - return __builtin_mve_vldrhq_fv8hf((__builtin_neon_hi *) __base); -} - __extension__ extern __inline float16x8_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vldrhq_gather_offset_f16 (float16_t const * __base, uint16x8_t __offset) @@ -4417,34 +3894,6 @@ __arm_vldrwq_gather_shifted_offset_z_f32 (float32_t const * __base, uint32x4_t _ return __builtin_mve_vldrwq_gather_shifted_offset_z_fv4sf ((__builtin_neon_si *) __base, __offset, __p); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq_p_f32 (float32_t * __addr, float32x4_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrwq_p_fv4sf ((__builtin_neon_si *) __addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq_f32 (float32_t * __addr, float32x4_t __value) -{ - __builtin_mve_vstrwq_fv4sf ((__builtin_neon_si *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_f16 (float16_t * __addr, float16x8_t __value) -{ - __builtin_mve_vstrhq_fv8hf ((__builtin_neon_hi *) __addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_p_f16 (float16_t * __addr, float16x8_t __value, mve_pred16_t __p) -{ - __builtin_mve_vstrhq_p_fv8hf ((__builtin_neon_hi *) __addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vstrhq_scatter_offset_f16 (float16_t * __base, uint16x8_t __offset, float16x8_t __value) @@ -4833,13 +4282,6 @@ __arm_vld2q_f16 (float16_t const * __addr) return __rv.__i; } -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z_f16 (float16_t const *__base, mve_pred16_t __p) -{ - return __arm_vldrhq_z_f16 (__base, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vst2q_f16 (float16_t * __addr, float16x8x2_t __value) @@ -4849,13 +4291,6 @@ __arm_vst2q_f16 (float16_t * __addr, float16x8x2_t __value) __builtin_mve_vst2qv8hf (__addr, __rv.__o); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p_f16 (float16_t * __addr, float16x8_t __value, mve_pred16_t __p) -{ - return __arm_vstrhq_p_f16 (__addr, __value, __p); -} - __extension__ extern __inline float32x4x4_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vld4q_f32 (float32_t const * __addr) @@ -4874,27 +4309,13 @@ __arm_vld2q_f32 (float32_t const * __addr) return __rv.__i; } -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z_f32 (float32_t const *__base, mve_pred16_t __p) -{ - return __arm_vldrwq_z_f32 (__base, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst2q_f32 (float32_t * __addr, float32x4x2_t __value) -{ - union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__i = __value; - __builtin_mve_vst2qv4sf (__addr, __rv.__o); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p_f32 (float32_t * __addr, float32x4_t __value, mve_pred16_t __p) +__arm_vst2q_f32 (float32_t * __addr, float32x4x2_t __value) { - return __arm_vstrwq_p_f32 (__addr, __value, __p); + union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv; + __rv.__i = __value; + __builtin_mve_vst2qv4sf (__addr, __rv.__o); } __extension__ extern __inline float16x8_t @@ -5283,48 +4704,6 @@ __arm_vstrbq_scatter_offset (uint8_t * __base, uint16x8_t __offset, uint16x8_t _ __arm_vstrbq_scatter_offset_u16 (__base, __offset, __value); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq (int8_t * __addr, int8x16_t __value) -{ - __arm_vstrbq_s8 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq (int8_t * __addr, int32x4_t __value) -{ - __arm_vstrbq_s32 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq (int8_t * __addr, int16x8_t __value) -{ - __arm_vstrbq_s16 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq (uint8_t * __addr, uint8x16_t __value) -{ - __arm_vstrbq_u8 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq (uint8_t * __addr, uint32x4_t __value) -{ - __arm_vstrbq_u32 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq (uint8_t * __addr, uint16x8_t __value) -{ - __arm_vstrbq_u16 (__addr, __value); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vstrwq_scatter_base (uint32x4_t __addr, const int __offset, int32x4_t __value) @@ -5381,48 +4760,6 @@ __arm_vldrbq_gather_offset (int8_t const * __base, uint32x4_t __offset) return __arm_vldrbq_gather_offset_s32 (__base, __offset); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p (int8_t * __addr, int8x16_t __value, mve_pred16_t __p) -{ - __arm_vstrbq_p_s8 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p (int8_t * __addr, int32x4_t __value, mve_pred16_t __p) -{ - __arm_vstrbq_p_s32 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p (int8_t * __addr, int16x8_t __value, mve_pred16_t __p) -{ - __arm_vstrbq_p_s16 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p (uint8_t * __addr, uint8x16_t __value, mve_pred16_t __p) -{ - __arm_vstrbq_p_u8 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p (uint8_t * __addr, uint32x4_t __value, mve_pred16_t __p) -{ - __arm_vstrbq_p_u32 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrbq_p (uint8_t * __addr, uint16x8_t __value, mve_pred16_t __p) -{ - __arm_vstrbq_p_u16 (__addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vstrbq_scatter_offset_p (int8_t * __base, uint8x16_t __offset, int8x16_t __value, mve_pred16_t __p) @@ -5857,90 +5194,6 @@ __arm_vstrhq_scatter_shifted_offset_p (uint16_t * __base, uint16x8_t __offset, u __arm_vstrhq_scatter_shifted_offset_p_u16 (__base, __offset, __value, __p); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq (int16_t * __addr, int32x4_t __value) -{ - __arm_vstrhq_s32 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq (int16_t * __addr, int16x8_t __value) -{ - __arm_vstrhq_s16 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq (uint16_t * __addr, uint32x4_t __value) -{ - __arm_vstrhq_u32 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq (uint16_t * __addr, uint16x8_t __value) -{ - __arm_vstrhq_u16 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_p (int16_t * __addr, int32x4_t __value, mve_pred16_t __p) -{ - __arm_vstrhq_p_s32 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_p (int16_t * __addr, int16x8_t __value, mve_pred16_t __p) -{ - __arm_vstrhq_p_s16 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_p (uint16_t * __addr, uint32x4_t __value, mve_pred16_t __p) -{ - __arm_vstrhq_p_u32 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_p (uint16_t * __addr, uint16x8_t __value, mve_pred16_t __p) -{ - __arm_vstrhq_p_u16 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq (int32_t * __addr, int32x4_t __value) -{ - __arm_vstrwq_s32 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq (uint32_t * __addr, uint32x4_t __value) -{ - __arm_vstrwq_u32 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq_p (int32_t * __addr, int32x4_t __value, mve_pred16_t __p) -{ - __arm_vstrwq_p_s32 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq_p (uint32_t * __addr, uint32x4_t __value, mve_pred16_t __p) -{ - __arm_vstrwq_p_u32 (__addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vstrdq_scatter_base_p (uint64x2_t __addr, const int __offset, int64x2_t __value, mve_pred16_t __p) @@ -6837,20 +6090,6 @@ __arm_vsbcq_m (uint32x4_t __inactive, uint32x4_t __a, uint32x4_t __b, unsigned * return __arm_vsbcq_m_u32 (__inactive, __a, __b, __carry, __p); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p (uint8_t * __addr, uint8x16_t __value, mve_pred16_t __p) -{ - __arm_vst1q_p_u8 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p (int8_t * __addr, int8x16_t __value, mve_pred16_t __p) -{ - __arm_vst1q_p_s8 (__addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vst2q (int8_t * __addr, int8x16x2_t __value) @@ -6865,20 +6104,6 @@ __arm_vst2q (uint8_t * __addr, uint8x16x2_t __value) __arm_vst2q_u8 (__addr, __value); } -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z (uint8_t const *__base, mve_pred16_t __p) -{ - return __arm_vld1q_z_u8 (__base, __p); -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z (int8_t const *__base, mve_pred16_t __p) -{ - return __arm_vld1q_z_s8 (__base, __p); -} - __extension__ extern __inline int8x16x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vld2q (int8_t const * __addr) @@ -6907,20 +6132,6 @@ __arm_vld4q (uint8_t const * __addr) return __arm_vld4q_u8 (__addr); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p (uint16_t * __addr, uint16x8_t __value, mve_pred16_t __p) -{ - __arm_vst1q_p_u16 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p (int16_t * __addr, int16x8_t __value, mve_pred16_t __p) -{ - __arm_vst1q_p_s16 (__addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vst2q (int16_t * __addr, int16x8x2_t __value) @@ -6935,20 +6146,6 @@ __arm_vst2q (uint16_t * __addr, uint16x8x2_t __value) __arm_vst2q_u16 (__addr, __value); } -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z (uint16_t const *__base, mve_pred16_t __p) -{ - return __arm_vld1q_z_u16 (__base, __p); -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z (int16_t const *__base, mve_pred16_t __p) -{ - return __arm_vld1q_z_s16 (__base, __p); -} - __extension__ extern __inline int16x8x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vld2q (int16_t const * __addr) @@ -6977,20 +6174,6 @@ __arm_vld4q (uint16_t const * __addr) return __arm_vld4q_u16 (__addr); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p (uint32_t * __addr, uint32x4_t __value, mve_pred16_t __p) -{ - __arm_vst1q_p_u32 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p (int32_t * __addr, int32x4_t __value, mve_pred16_t __p) -{ - __arm_vst1q_p_s32 (__addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vst2q (int32_t * __addr, int32x4x2_t __value) @@ -7005,20 +6188,6 @@ __arm_vst2q (uint32_t * __addr, uint32x4x2_t __value) __arm_vst2q_u32 (__addr, __value); } -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z (uint32_t const *__base, mve_pred16_t __p) -{ - return __arm_vld1q_z_u32 (__base, __p); -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z (int32_t const *__base, mve_pred16_t __p) -{ - return __arm_vld1q_z_s32 (__base, __p); -} - __extension__ extern __inline int32x4x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vld2q (int32_t const * __addr) @@ -7651,34 +6820,6 @@ __arm_vldrwq_gather_shifted_offset_z (float32_t const * __base, uint32x4_t __off return __arm_vldrwq_gather_shifted_offset_z_f32 (__base, __offset, __p); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq_p (float32_t * __addr, float32x4_t __value, mve_pred16_t __p) -{ - __arm_vstrwq_p_f32 (__addr, __value, __p); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrwq (float32_t * __addr, float32x4_t __value) -{ - __arm_vstrwq_f32 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq (float16_t * __addr, float16x8_t __value) -{ - __arm_vstrhq_f16 (__addr, __value); -} - -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vstrhq_p (float16_t * __addr, float16x8_t __value, mve_pred16_t __p) -{ - __arm_vstrhq_p_f16 (__addr, __value, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vstrhq_scatter_offset (float16_t * __base, uint16x8_t __offset, float16x8_t __value) @@ -7861,13 +7002,6 @@ __arm_vld2q (float16_t const * __addr) return __arm_vld2q_f16 (__addr); } -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z (float16_t const *__base, mve_pred16_t __p) -{ - return __arm_vld1q_z_f16 (__base, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vst2q (float16_t * __addr, float16x8x2_t __value) @@ -7875,13 +7009,6 @@ __arm_vst2q (float16_t * __addr, float16x8x2_t __value) __arm_vst2q_f16 (__addr, __value); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p (float16_t * __addr, float16x8_t __value, mve_pred16_t __p) -{ - __arm_vst1q_p_f16 (__addr, __value, __p); -} - __extension__ extern __inline float32x4x4_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vld4q (float32_t const * __addr) @@ -7896,13 +7023,6 @@ __arm_vld2q (float32_t const * __addr) return __arm_vld2q_f32 (__addr); } -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vld1q_z (float32_t const *__base, mve_pred16_t __p) -{ - return __arm_vld1q_z_f32 (__base, __p); -} - __extension__ extern __inline void __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vst2q (float32_t * __addr, float32x4x2_t __value) @@ -7910,13 +7030,6 @@ __arm_vst2q (float32_t * __addr, float32x4x2_t __value) __arm_vst2q_f32 (__addr, __value); } -__extension__ extern __inline void -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -__arm_vst1q_p (float32_t * __addr, float32x4_t __value, mve_pred16_t __p) -{ - __arm_vst1q_p_f32 (__addr, __value, __p); -} - __extension__ extern __inline float16x8_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) __arm_vsetq_lane (float16_t __a, float16x8_t __b, const int __idx) @@ -8428,17 +7541,6 @@ extern void *__ARM_undef; int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vornq_m_f16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vornq_m_f32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3));}) -#define __arm_vld1q_z(p0,p1) ( \ - _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ - int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld1q_z_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), p1), \ - int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld1q_z_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), p1), \ - int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld1q_z_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), p1), \ - int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld1q_z_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), p1), \ - int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld1q_z_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), p1), \ - int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld1q_z_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), p1), \ - int (*)[__ARM_mve_type_float16_t_ptr]: __arm_vld1q_z_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), p1), \ - int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vld1q_z_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), p1))) - #define __arm_vld2q(p0) ( \ _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld2q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *)), \ @@ -8517,17 +7619,6 @@ extern void *__ARM_undef; int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), p1, p2), \ int (*)[__ARM_mve_type_float32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), p1, p2))) -#define __arm_vst1q_p(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ - _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ - int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vst1q_p_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t), p2), \ - int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vst1q_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ - int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vst1q_p_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ - int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vst1q_p_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ - int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vst1q_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ - int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vst1q_p_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2), \ - int (*)[__ARM_mve_type_float16_t_ptr][__ARM_mve_type_float16x8_t]: __arm_vst1q_p_f16 (__ARM_mve_coerce_f16_ptr(p0, float16_t *), __ARM_mve_coerce(__p1, float16x8_t), p2), \ - int (*)[__ARM_mve_type_float32_t_ptr][__ARM_mve_type_float32x4_t]: __arm_vst1q_p_f32 (__ARM_mve_coerce_f32_ptr(p0, float32_t *), __ARM_mve_coerce(__p1, float32x4_t), p2));}) - #define __arm_vst2q(p0,p1) ({ __typeof(p1) __p1 = (p1); \ _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16x2_t]: __arm_vst2q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16x2_t)), \ @@ -8933,15 +8024,6 @@ extern void *__ARM_undef; int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_s32 (__ARM_mve_coerce_s32_ptr(__p0, int32_t *), p1, p2), \ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vldrwq_gather_shifted_offset_z_u32 (__ARM_mve_coerce_u32_ptr(__p0, uint32_t *), p1, p2));}) -#define __arm_vst1q_p(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ - _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ - int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vst1q_p_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t), p2), \ - int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vst1q_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ - int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vst1q_p_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ - int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vst1q_p_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ - int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vst1q_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ - int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vst1q_p_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) - #define __arm_vst2q(p0,p1) ({ __typeof(p1) __p1 = (p1); \ _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16x2_t]: __arm_vst2q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16x2_t)), \ @@ -8951,20 +8033,6 @@ extern void *__ARM_undef; int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8x2_t]: __arm_vst2q_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8x2_t)), \ int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4x2_t]: __arm_vst2q_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4x2_t)));}) -#define __arm_vstrhq(p0,p1) ({ __typeof(p1) __p1 = (p1); \ - _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ - int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrhq_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ - int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrhq_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ - int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ - int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) - -#define __arm_vstrhq_p(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ - _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ - int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrhq_p_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ - int (*)[__ARM_mve_type_int16_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrhq_p_s32 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ - int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_p_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ - int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_p_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) - #define __arm_vstrhq_scatter_offset_p(p0,p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ __typeof(p2) __p2 = (p2); \ _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ @@ -8997,17 +8065,6 @@ extern void *__ARM_undef; int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vstrhq_scatter_shifted_offset_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t)), \ int (*)[__ARM_mve_type_uint16_t_ptr][__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vstrhq_scatter_shifted_offset_u32 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), __ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t)));}) - -#define __arm_vstrwq(p0,p1) ({ __typeof(p1) __p1 = (p1); \ - _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ - int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ - int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) - -#define __arm_vstrwq_p(p0,p1,p2) ({ __typeof(p1) __p1 = (p1); \ - _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ - int (*)[__ARM_mve_type_int32_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrwq_p_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ - int (*)[__ARM_mve_type_uint32_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrwq_p_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) - #define __arm_vstrdq_scatter_base_p(p0,p1,p2,p3) ({ __typeof(p2) __p2 = (p2); \ _Generic( (int (*)[__ARM_mve_typeid(__p2)])0, \ int (*)[__ARM_mve_type_int64x2_t]: __arm_vstrdq_scatter_base_p_s64 (p0, p1, __ARM_mve_coerce(__p2, int64x2_t), p3), \ @@ -9105,14 +8162,6 @@ extern void *__ARM_undef; int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vbicq_x_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vbicq_x_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3));}) -#define __arm_vld1q_z(p0,p1) ( _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ - int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld1q_z_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), p1), \ - int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld1q_z_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *), p1), \ - int (*)[__ARM_mve_type_int32_t_ptr]: __arm_vld1q_z_s32 (__ARM_mve_coerce_s32_ptr(p0, int32_t *), p1), \ - int (*)[__ARM_mve_type_uint8_t_ptr]: __arm_vld1q_z_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), p1), \ - int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld1q_z_u16 (__ARM_mve_coerce_u16_ptr(p0, uint16_t *), p1), \ - int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld1q_z_u32 (__ARM_mve_coerce_u32_ptr(p0, uint32_t *), p1))) - #define __arm_vld2q(p0) ( _Generic( (int (*)[__ARM_mve_typeid(p0)])0, \ int (*)[__ARM_mve_type_int8_t_ptr]: __arm_vld2q_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *)), \ int (*)[__ARM_mve_type_int16_t_ptr]: __arm_vld2q_s16 (__ARM_mve_coerce_s16_ptr(p0, int16_t *)), \ @@ -9428,25 +8477,6 @@ extern void *__ARM_undef; int (*)[__ARM_mve_type_uint16x8_t]: __arm_vshlcq_m_u16 (__ARM_mve_coerce(__p0, uint16x8_t), p1, p2, p3), \ int (*)[__ARM_mve_type_uint32x4_t]: __arm_vshlcq_m_u32 (__ARM_mve_coerce(__p0, uint32x4_t), p1, p2, p3));}) -#define __arm_vstrbq(p0,p1) ({ __typeof(p1) __p1 = (p1); \ - _Generic( (int (*)[__ARM_mve_typeid(p0)][__ARM_mve_typeid(__p1)])0, \ - int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vstrbq_s8 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t)), \ - int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrbq_s16 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int16x8_t)), \ - int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrbq_s32 (__ARM_mve_coerce_s8_ptr(p0, int8_t *), __ARM_mve_coerce(__p1, int32x4_t)), \ - int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vstrbq_u8 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t)), \ - int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrbq_u16 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t)), \ - int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrbq_u32 (__ARM_mve_coerce_u8_ptr(p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t)));}) - -#define __arm_vstrbq_p(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \ - __typeof(p1) __p1 = (p1); \ - _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \ - int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int8x16_t]: __arm_vstrbq_p_s8 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, int8x16_t), p2), \ - int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int16x8_t]: __arm_vstrbq_p_s16 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, int16x8_t), p2), \ - int (*)[__ARM_mve_type_int8_t_ptr][__ARM_mve_type_int32x4_t]: __arm_vstrbq_p_s32 (__ARM_mve_coerce_s8_ptr(__p0, int8_t *), __ARM_mve_coerce(__p1, int32x4_t), p2), \ - int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint8x16_t]: __arm_vstrbq_p_u8 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint8x16_t), p2), \ - int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint16x8_t]: __arm_vstrbq_p_u16 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint16x8_t), p2), \ - int (*)[__ARM_mve_type_uint8_t_ptr][__ARM_mve_type_uint32x4_t]: __arm_vstrbq_p_u32 (__ARM_mve_coerce_u8_ptr(__p0, uint8_t *), __ARM_mve_coerce(__p1, uint32x4_t), p2));}) - #define __arm_vstrdq_scatter_base(p0,p1,p2) ({ __typeof(p2) __p2 = (p2); \ _Generic( (int (*)[__ARM_mve_typeid(__p2)])0, \ int (*)[__ARM_mve_type_int64x2_t]: __arm_vstrdq_scatter_base_s64 (p0, p1, __ARM_mve_coerce(__p2, int64x2_t)), \ diff --git a/gcc/config/arm/arm_mve_builtins.def b/gcc/config/arm/arm_mve_builtins.def index f141aab816c..08ae37170b3 100644 --- a/gcc/config/arm/arm_mve_builtins.def +++ b/gcc/config/arm/arm_mve_builtins.def @@ -669,20 +669,14 @@ VAR2 (QUADOP_NONE_NONE_NONE_NONE_PRED, vandq_m_f, v8hf, v4sf) VAR2 (QUADOP_NONE_NONE_NONE_NONE_PRED, vaddq_m_n_f, v8hf, v4sf) VAR2 (QUADOP_NONE_NONE_NONE_NONE_PRED, vaddq_m_f, v8hf, v4sf) VAR2 (QUADOP_NONE_NONE_NONE_NONE_PRED, vabdq_m_f, v8hf, v4sf) -VAR3 (STRS, vstrbq_s, v16qi, v8hi, v4si) -VAR3 (STRU, vstrbq_u, v16qi, v8hi, v4si) VAR3 (STRSS, vstrbq_scatter_offset_s, v16qi, v8hi, v4si) VAR3 (STRSU, vstrbq_scatter_offset_u, v16qi, v8hi, v4si) VAR1 (STRSBS, vstrwq_scatter_base_s, v4si) VAR1 (STRSBU, vstrwq_scatter_base_u, v4si) VAR3 (LDRGU, vldrbq_gather_offset_u, v16qi, v8hi, v4si) VAR3 (LDRGS, vldrbq_gather_offset_s, v16qi, v8hi, v4si) -VAR3 (LDRS, vldrbq_s, v16qi, v8hi, v4si) -VAR3 (LDRU, vldrbq_u, v16qi, v8hi, v4si) VAR1 (LDRGBS, vldrwq_gather_base_s, v4si) VAR1 (LDRGBU, vldrwq_gather_base_u, v4si) -VAR3 (STRS_P, vstrbq_p_s, v16qi, v8hi, v4si) -VAR3 (STRU_P, vstrbq_p_u, v16qi, v8hi, v4si) VAR3 (STRSS_P, vstrbq_scatter_offset_p_s, v16qi, v8hi, v4si) VAR3 (STRSU_P, vstrbq_scatter_offset_p_u, v16qi, v8hi, v4si) VAR1 (STRSBS_P, vstrwq_scatter_base_p_s, v4si) @@ -691,15 +685,6 @@ VAR1 (LDRGBS_Z, vldrwq_gather_base_z_s, v4si) VAR1 (LDRGBU_Z, vldrwq_gather_base_z_u, v4si) VAR3 (LDRGS_Z, vldrbq_gather_offset_z_s, v16qi, v8hi, v4si) VAR3 (LDRGU_Z, vldrbq_gather_offset_z_u, v16qi, v8hi, v4si) -VAR3 (LDRS_Z, vldrbq_z_s, v16qi, v8hi, v4si) -VAR3 (LDRU_Z, vldrbq_z_u, v16qi, v8hi, v4si) -VAR3 (LDRU, vld1q_u, v16qi, v8hi, v4si) -VAR3 (LDRS, vld1q_s, v16qi, v8hi, v4si) -VAR2 (LDRU_Z, vldrhq_z_u, v8hi, v4si) -VAR2 (LDRU, vldrhq_u, v8hi, v4si) -VAR2 (LDRS_Z, vldrhq_z_s, v8hi, v4si) -VAR2 (LDRS, vldrhq_s, v8hi, v4si) -VAR2 (LDRS, vld1q_f, v8hf, v4sf) VAR2 (LDRGU_Z, vldrhq_gather_shifted_offset_z_u, v8hi, v4si) VAR2 (LDRGU_Z, vldrhq_gather_offset_z_u, v8hi, v4si) VAR2 (LDRGU, vldrhq_gather_shifted_offset_u, v8hi, v4si) @@ -708,14 +693,6 @@ VAR2 (LDRGS_Z, vldrhq_gather_shifted_offset_z_s, v8hi, v4si) VAR2 (LDRGS_Z, vldrhq_gather_offset_z_s, v8hi, v4si) VAR2 (LDRGS, vldrhq_gather_shifted_offset_s, v8hi, v4si) VAR2 (LDRGS, vldrhq_gather_offset_s, v8hi, v4si) -VAR1 (LDRS, vldrhq_f, v8hf) -VAR1 (LDRS_Z, vldrhq_z_f, v8hf) -VAR1 (LDRS, vldrwq_f, v4sf) -VAR1 (LDRS, vldrwq_s, v4si) -VAR1 (LDRU, vldrwq_u, v4si) -VAR1 (LDRS_Z, vldrwq_z_f, v4sf) -VAR1 (LDRS_Z, vldrwq_z_s, v4si) -VAR1 (LDRU_Z, vldrwq_z_u, v4si) VAR1 (LDRGBS, vldrdq_gather_base_s, v2di) VAR1 (LDRGBS, vldrwq_gather_base_f, v4sf) VAR1 (LDRGBS_Z, vldrdq_gather_base_z_s, v2di) @@ -746,13 +723,6 @@ VAR1 (LDRGU_Z, vldrdq_gather_offset_z_u, v2di) VAR1 (LDRGU_Z, vldrdq_gather_shifted_offset_z_u, v2di) VAR1 (LDRGU_Z, vldrwq_gather_offset_z_u, v4si) VAR1 (LDRGU_Z, vldrwq_gather_shifted_offset_z_u, v4si) -VAR3 (STRU, vst1q_u, v16qi, v8hi, v4si) -VAR3 (STRS, vst1q_s, v16qi, v8hi, v4si) -VAR2 (STRU_P, vstrhq_p_u, v8hi, v4si) -VAR2 (STRU, vstrhq_u, v8hi, v4si) -VAR2 (STRS_P, vstrhq_p_s, v8hi, v4si) -VAR2 (STRS, vstrhq_s, v8hi, v4si) -VAR2 (STRS, vst1q_f, v8hf, v4sf) VAR2 (STRSU_P, vstrhq_scatter_shifted_offset_p_u, v8hi, v4si) VAR2 (STRSU_P, vstrhq_scatter_offset_p_u, v8hi, v4si) VAR2 (STRSU, vstrhq_scatter_shifted_offset_u, v8hi, v4si) @@ -761,14 +731,6 @@ VAR2 (STRSS_P, vstrhq_scatter_shifted_offset_p_s, v8hi, v4si) VAR2 (STRSS_P, vstrhq_scatter_offset_p_s, v8hi, v4si) VAR2 (STRSS, vstrhq_scatter_shifted_offset_s, v8hi, v4si) VAR2 (STRSS, vstrhq_scatter_offset_s, v8hi, v4si) -VAR1 (STRS, vstrhq_f, v8hf) -VAR1 (STRS_P, vstrhq_p_f, v8hf) -VAR1 (STRS, vstrwq_f, v4sf) -VAR1 (STRS, vstrwq_s, v4si) -VAR1 (STRU, vstrwq_u, v4si) -VAR1 (STRS_P, vstrwq_p_f, v4sf) -VAR1 (STRS_P, vstrwq_p_s, v4si) -VAR1 (STRU_P, vstrwq_p_u, v4si) VAR1 (STRSBS, vstrdq_scatter_base_s, v2di) VAR1 (STRSBS, vstrwq_scatter_base_f, v4sf) VAR1 (STRSBS_P, vstrdq_scatter_base_p_s, v2di) diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md index b9ff01cb104..d67e0be1788 100644 --- a/gcc/config/arm/iterators.md +++ b/gcc/config/arm/iterators.md @@ -283,6 +283,14 @@ (define_mode_iterator MVE_7_HI [HI V16BI V8BI V4BI V2QI]) (define_mode_iterator MVE_V8HF [V8HF]) (define_mode_iterator MVE_V16QI [V16QI]) +;; Types for MVE truncating stores and widening loads +(define_mode_iterator MVE_w_narrow_TYPE [V8QI V4QI V4HI]) +(define_mode_attr MVE_w_narrow_type [(V8QI "v8qi") (V4QI "v4qi") (V4HI "v4hi")]) +(define_mode_attr MVE_wide_n_TYPE [(V8QI "V8HI") (V4QI "V4SI") (V4HI "V4SI")]) +(define_mode_attr MVE_wide_n_type [(V8QI "v8hi") (V4QI "v4si") (V4HI "v4si")]) +(define_mode_attr MVE_wide_n_sz_elem [(V8QI "16") (V4QI "32") (V4HI "32")]) +(define_mode_attr MVE_wide_n_VPRED [(V8QI "V8BI") (V4QI "V4BI") (V4HI "V4BI")]) + ;;---------------------------------------------------------------------------- ;; Code iterators ;;---------------------------------------------------------------------------- @@ -1769,6 +1777,10 @@ (define_mode_attr V_elem_ch [(V8QI "b") (V16QI "b") (V2SF "s") (V4SF "s") (V2SF "s") (V4SF "s")]) +(define_mode_attr MVE_elem_ch [(V4QI "b") (V8QI "b") (V16QI "b") + (V4HI "h") (V8HI "h") (V8HF "h") + (V4SI "w") (V4SF "w")]) + (define_mode_attr VH_elem_ch [(V4HI "s") (V8HI "s") (V4HF "s") (V8HF "s") (HF "s")]) @@ -2472,19 +2484,16 @@ (define_int_attr supf [(VCVTQ_TO_F_S "s") (VCVTQ_TO_F_U "u") (VREV16Q_S "s") (VMLALDAVAXQ_P_S "s") (VMLALDAVAQ_P_S "s") (VMLALDAVAQ_P_U "u") (VSTRWQSB_S "s") (VSTRWQSB_U "u") (VSTRBQSO_S "s") - (VSTRBQSO_U "u") (VSTRBQ_S "s") (VSTRBQ_U "u") - (VLDRBQGO_S "s") (VLDRBQGO_U "u") (VLDRBQ_S "s") - (VLDRBQ_U "u") (VLDRWQGB_S "s") (VLDRWQGB_U "u") - (VLD1Q_S "s") (VLD1Q_U "u") (VLDRHQGO_S "s") + (VSTRBQSO_U "u") + (VLDRBQGO_S "s") (VLDRBQGO_U "u") (VLDRWQGB_S "s") + (VLDRWQGB_U "u") (VLDRHQGO_S "s") (VLDRHQGO_U "u") (VLDRHQGSO_S "s") (VLDRHQGSO_U "u") - (VLDRHQ_S "s") (VLDRHQ_U "u") (VLDRWQ_S "s") - (VLDRWQ_U "u") (VLDRDQGB_S "s") (VLDRDQGB_U "u") + (VLDRDQGB_S "s") (VLDRDQGB_U "u") (VLDRDQGO_S "s") (VLDRDQGO_U "u") (VLDRDQGSO_S "s") (VLDRDQGSO_U "u") (VLDRWQGO_S "s") (VLDRWQGO_U "u") - (VLDRWQGSO_S "s") (VLDRWQGSO_U "u") (VST1Q_S "s") - (VST1Q_U "u") (VSTRHQSO_S "s") (VSTRHQSO_U "u") - (VSTRHQSSO_S "s") (VSTRHQSSO_U "u") (VSTRHQ_S "s") - (VSTRHQ_U "u") (VSTRWQ_S "s") (VSTRWQ_U "u") + (VLDRWQGSO_S "s") (VLDRWQGSO_U "u") + (VSTRHQSO_S "s") (VSTRHQSO_U "u") + (VSTRHQSSO_S "s") (VSTRHQSSO_U "u") (VSTRDQSB_S "s") (VSTRDQSB_U "u") (VSTRDQSO_S "s") (VSTRDQSO_U "u") (VSTRDQSSO_S "s") (VSTRDQSSO_U "u") (VSTRWQSO_U "u") (VSTRWQSO_S "s") (VSTRWQSSO_U "u") @@ -2899,25 +2908,17 @@ (define_int_iterator VSHRNBQ_M_N [VSHRNBQ_M_N_S VSHRNBQ_M_N_U]) (define_int_iterator VSHRNTQ_M_N [VSHRNTQ_M_N_S VSHRNTQ_M_N_U]) (define_int_iterator VSTRWSBQ [VSTRWQSB_S VSTRWQSB_U]) (define_int_iterator VSTRBSOQ [VSTRBQSO_S VSTRBQSO_U]) -(define_int_iterator VSTRBQ [VSTRBQ_S VSTRBQ_U]) (define_int_iterator VLDRBGOQ [VLDRBQGO_S VLDRBQGO_U]) -(define_int_iterator VLDRBQ [VLDRBQ_S VLDRBQ_U]) (define_int_iterator VLDRWGBQ [VLDRWQGB_S VLDRWQGB_U]) -(define_int_iterator VLD1Q [VLD1Q_S VLD1Q_U]) (define_int_iterator VLDRHGOQ [VLDRHQGO_S VLDRHQGO_U]) (define_int_iterator VLDRHGSOQ [VLDRHQGSO_S VLDRHQGSO_U]) -(define_int_iterator VLDRHQ [VLDRHQ_S VLDRHQ_U]) -(define_int_iterator VLDRWQ [VLDRWQ_S VLDRWQ_U]) (define_int_iterator VLDRDGBQ [VLDRDQGB_S VLDRDQGB_U]) (define_int_iterator VLDRDGOQ [VLDRDQGO_S VLDRDQGO_U]) (define_int_iterator VLDRDGSOQ [VLDRDQGSO_S VLDRDQGSO_U]) (define_int_iterator VLDRWGOQ [VLDRWQGO_S VLDRWQGO_U]) (define_int_iterator VLDRWGSOQ [VLDRWQGSO_S VLDRWQGSO_U]) -(define_int_iterator VST1Q [VST1Q_S VST1Q_U]) (define_int_iterator VSTRHSOQ [VSTRHQSO_S VSTRHQSO_U]) (define_int_iterator VSTRHSSOQ [VSTRHQSSO_S VSTRHQSSO_U]) -(define_int_iterator VSTRHQ [VSTRHQ_S VSTRHQ_U]) -(define_int_iterator VSTRWQ [VSTRWQ_S VSTRWQ_U]) (define_int_iterator VSTRDSBQ [VSTRDQSB_S VSTRDQSB_U]) (define_int_iterator VSTRDSOQ [VSTRDQSO_S VSTRDQSO_U]) (define_int_iterator VSTRDSSOQ [VSTRDQSSO_S VSTRDQSSO_U]) diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md index 706a45c7d66..17fa4d0182e 100644 --- a/gcc/config/arm/mve.md +++ b/gcc/config/arm/mve.md @@ -3354,26 +3354,6 @@ (define_insn "mve_vornq_m_f" (set_attr "type" "mve_move") (set_attr "length""8")]) -;; -;; [vstrbq_s vstrbq_u] -;; -(define_insn "mve_vstrbq_" - [(set (match_operand: 0 "mve_memory_operand" "=Ux") - (unspec: [(match_operand:MVE_2 1 "s_register_operand" "w")] - VSTRBQ)) - ] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[1]); - ops[1] = gen_rtx_REG (TImode, regno); - ops[0] = operands[0]; - output_asm_insn("vstrb.\t%q1, %E0",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrbq_")) - (set_attr "length" "4")]) - ;; ;; [vstrbq_scatter_offset_s vstrbq_scatter_offset_u] ;; @@ -3450,29 +3430,6 @@ (define_insn "mve_vldrbq_gather_offset_" [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrbq_gather_offset_")) (set_attr "length" "4")]) -;; -;; [vldrbq_s vldrbq_u] -;; -(define_insn "mve_vldrbq_" - [(set (match_operand:MVE_2 0 "s_register_operand" "=w") - (unspec:MVE_2 [(match_operand: 1 "mve_memory_operand" "Ux")] - VLDRBQ)) - ] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[0]); - ops[0] = gen_rtx_REG (TImode, regno); - ops[1] = operands[1]; - if ( == 8) - output_asm_insn ("vldrb.\t%q0, %E1",ops); - else - output_asm_insn ("vldrb.\t%q0, %E1",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrbq_")) - (set_attr "length" "4")]) - ;; ;; [vldrwq_gather_base_s vldrwq_gather_base_u] ;; @@ -3551,25 +3508,6 @@ (define_insn "mve_vstrwq_scatter_base_p_v4si" [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrwq_scatter_base_v4si")) (set_attr "length" "8")]) -(define_insn "mve_vstrbq_p_" - [(set (match_operand: 0 "mve_memory_operand" "=Ux") - (unspec: - [(match_operand:MVE_2 1 "s_register_operand" "w") - (match_operand: 2 "vpr_register_operand" "Up") - (match_dup 0)] - VSTRBQ))] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[1]); - ops[1] = gen_rtx_REG (TImode, regno); - ops[0] = operands[0]; - output_asm_insn ("vpst\;vstrbt.\t%q1, %E0",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrbq_")) - (set_attr "length" "8")]) - ;; ;; [vldrbq_gather_offset_z_s vldrbq_gather_offset_z_u] ;; @@ -3596,30 +3534,6 @@ (define_insn "mve_vldrbq_gather_offset_z_" [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrbq_gather_offset_")) (set_attr "length" "8")]) -;; -;; [vldrbq_z_s vldrbq_z_u] -;; -(define_insn "mve_vldrbq_z_" - [(set (match_operand:MVE_2 0 "s_register_operand" "=w") - (unspec:MVE_2 [(match_operand: 1 "mve_memory_operand" "Ux") - (match_operand: 2 "vpr_register_operand" "Up")] - VLDRBQ)) - ] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[0]); - ops[0] = gen_rtx_REG (TImode, regno); - ops[1] = operands[1]; - if ( == 8) - output_asm_insn ("vpst\;vldrbt.\t%q0, %E1",ops); - else - output_asm_insn ("vpst\;vldrbt.\t%q0, %E1",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrbq_")) - (set_attr "length" "8")]) - ;; ;; [vldrwq_gather_base_z_s vldrwq_gather_base_z_u] ;; @@ -3642,26 +3556,6 @@ (define_insn "mve_vldrwq_gather_base_z_v4si" [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrwq_gather_base_v4si")) (set_attr "length" "8")]) -;; -;; [vldrhq_f] -;; -(define_insn "mve_vldrhq_fv8hf" - [(set (match_operand:V8HF 0 "s_register_operand" "=w") - (unspec:V8HF [(match_operand:V8HI 1 "mve_memory_operand" "Ux")] - VLDRHQ_F)) - ] - "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" -{ - rtx ops[2]; - int regno = REGNO (operands[0]); - ops[0] = gen_rtx_REG (TImode, regno); - ops[1] = operands[1]; - output_asm_insn ("vldrh.16\t%q0, %E1",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrhq_fv8hf")) - (set_attr "length" "4")]) - ;; ;; [vldrhq_gather_offset_s vldrhq_gather_offset_u] ;; @@ -3762,176 +3656,6 @@ (define_insn "mve_vldrhq_gather_shifted_offset_z_" [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrhq_gather_shifted_offset_")) (set_attr "length" "8")]) -;; -;; [vldrhq_s, vldrhq_u] -;; -(define_insn "mve_vldrhq_" - [(set (match_operand:MVE_5 0 "s_register_operand" "=w") - (unspec:MVE_5 [(match_operand: 1 "mve_memory_operand" "Ux")] - VLDRHQ)) - ] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[0]); - ops[0] = gen_rtx_REG (TImode, regno); - ops[1] = operands[1]; - if ( == 16) - output_asm_insn ("vldrh.16\t%q0, %E1",ops); - else - output_asm_insn ("vldrh.\t%q0, %E1",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrhq_")) - (set_attr "length" "4")]) - -;; -;; [vldrhq_z_f] -;; -(define_insn "mve_vldrhq_z_fv8hf" - [(set (match_operand:V8HF 0 "s_register_operand" "=w") - (unspec:V8HF [(match_operand:V8HI 1 "mve_memory_operand" "Ux") - (match_operand: 2 "vpr_register_operand" "Up")] - VLDRHQ_F)) - ] - "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" -{ - rtx ops[2]; - int regno = REGNO (operands[0]); - ops[0] = gen_rtx_REG (TImode, regno); - ops[1] = operands[1]; - output_asm_insn ("vpst\;vldrht.16\t%q0, %E1",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrhq_fv8hf")) - (set_attr "length" "8")]) - -;; -;; [vldrhq_z_s vldrhq_z_u] -;; -(define_insn "mve_vldrhq_z_" - [(set (match_operand:MVE_5 0 "s_register_operand" "=w") - (unspec:MVE_5 [(match_operand: 1 "mve_memory_operand" "Ux") - (match_operand: 2 "vpr_register_operand" "Up")] - VLDRHQ)) - ] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[0]); - ops[0] = gen_rtx_REG (TImode, regno); - ops[1] = operands[1]; - if ( == 16) - output_asm_insn ("vpst\;vldrht.16\t%q0, %E1",ops); - else - output_asm_insn ("vpst\;vldrht.\t%q0, %E1",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrhq_")) - (set_attr "length" "8")]) - -;; -;; [vldrwq_f] -;; -(define_insn "mve_vldrwq_fv4sf" - [(set (match_operand:V4SF 0 "s_register_operand" "=w") - (unspec:V4SF [(match_operand:V4SI 1 "mve_memory_operand" "Ux")] - VLDRWQ_F)) - ] - "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" -{ - rtx ops[2]; - int regno = REGNO (operands[0]); - ops[0] = gen_rtx_REG (TImode, regno); - ops[1] = operands[1]; - output_asm_insn ("vldrw.32\t%q0, %E1",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrwq_fv4sf")) - (set_attr "length" "4")]) - -;; -;; [vldrwq_s vldrwq_u] -;; -(define_insn "mve_vldrwq_v4si" - [(set (match_operand:V4SI 0 "s_register_operand" "=w") - (unspec:V4SI [(match_operand:V4SI 1 "mve_memory_operand" "Ux")] - VLDRWQ)) - ] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[0]); - ops[0] = gen_rtx_REG (TImode, regno); - ops[1] = operands[1]; - output_asm_insn ("vldrw.32\t%q0, %E1",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrwq_v4si")) - (set_attr "length" "4")]) - -;; -;; [vldrwq_z_f] -;; -(define_insn "mve_vldrwq_z_fv4sf" - [(set (match_operand:V4SF 0 "s_register_operand" "=w") - (unspec:V4SF [(match_operand:V4SI 1 "mve_memory_operand" "Ux") - (match_operand:V4BI 2 "vpr_register_operand" "Up")] - VLDRWQ_F)) - ] - "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" -{ - rtx ops[2]; - int regno = REGNO (operands[0]); - ops[0] = gen_rtx_REG (TImode, regno); - ops[1] = operands[1]; - output_asm_insn ("vpst\;vldrwt.32\t%q0, %E1",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrwq_fv4sf")) - (set_attr "length" "8")]) - -;; -;; [vldrwq_z_s vldrwq_z_u] -;; -(define_insn "mve_vldrwq_z_v4si" - [(set (match_operand:V4SI 0 "s_register_operand" "=w") - (unspec:V4SI [(match_operand:V4SI 1 "mve_memory_operand" "Ux") - (match_operand:V4BI 2 "vpr_register_operand" "Up")] - VLDRWQ)) - ] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[0]); - ops[0] = gen_rtx_REG (TImode, regno); - ops[1] = operands[1]; - output_asm_insn ("vpst\;vldrwt.32\t%q0, %E1",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrwq_v4si")) - (set_attr "length" "8")]) - -(define_expand "@mve_vld1q_f" - [(match_operand:MVE_0 0 "s_register_operand") - (unspec:MVE_0 [(match_operand: 1 "mve_memory_operand")] VLD1Q_F) - ] - "TARGET_HAVE_MVE || TARGET_HAVE_MVE_FLOAT" -{ - emit_insn (gen_mve_vldrq_f(operands[0],operands[1])); - DONE; -}) - -(define_expand "@mve_vld1q_" - [(match_operand:MVE_2 0 "s_register_operand") - (unspec:MVE_2 [(match_operand:MVE_2 1 "mve_memory_operand")] VLD1Q) - ] - "TARGET_HAVE_MVE" -{ - emit_insn (gen_mve_vldrq_(operands[0],operands[1])); - DONE; -}) - ;; ;; [vldrdq_gather_base_s vldrdq_gather_base_u] ;; @@ -4368,71 +4092,6 @@ (define_insn "mve_vldrwq_gather_shifted_offset_z_v4si" [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrwq_gather_shifted_offset_v4si")) (set_attr "length" "8")]) -;; -;; [vstrhq_f] -;; -(define_insn "mve_vstrhq_fv8hf" - [(set (match_operand:V8HI 0 "mve_memory_operand" "=Ux") - (unspec:V8HI [(match_operand:V8HF 1 "s_register_operand" "w")] - VSTRHQ_F)) - ] - "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" -{ - rtx ops[2]; - int regno = REGNO (operands[1]); - ops[1] = gen_rtx_REG (TImode, regno); - ops[0] = operands[0]; - output_asm_insn ("vstrh.16\t%q1, %E0",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrhq_fv8hf")) - (set_attr "length" "4")]) - -;; -;; [vstrhq_p_f] -;; -(define_insn "mve_vstrhq_p_fv8hf" - [(set (match_operand:V8HI 0 "mve_memory_operand" "=Ux") - (unspec:V8HI - [(match_operand:V8HF 1 "s_register_operand" "w") - (match_operand:V8BI 2 "vpr_register_operand" "Up") - (match_dup 0)] - VSTRHQ_F))] - "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" -{ - rtx ops[2]; - int regno = REGNO (operands[1]); - ops[1] = gen_rtx_REG (TImode, regno); - ops[0] = operands[0]; - output_asm_insn ("vpst\;vstrht.16\t%q1, %E0",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrhq_fv8hf")) - (set_attr "length" "8")]) - -;; -;; [vstrhq_p_s vstrhq_p_u] -;; -(define_insn "mve_vstrhq_p_" - [(set (match_operand: 0 "mve_memory_operand" "=Ux") - (unspec: - [(match_operand:MVE_5 1 "s_register_operand" "w") - (match_operand: 2 "vpr_register_operand" "Up") - (match_dup 0)] - VSTRHQ)) - ] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[1]); - ops[1] = gen_rtx_REG (TImode, regno); - ops[0] = operands[0]; - output_asm_insn ("vpst\;vstrht.\t%q1, %E0",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrhq_")) - (set_attr "length" "8")]) - ;; ;; [vstrhq_scatter_offset_p_s vstrhq_scatter_offset_p_u] ;; @@ -4558,130 +4217,6 @@ (define_insn "mve_vstrhq_scatter_shifted_offset__insn" [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrhq_scatter_shifted_offset__insn")) (set_attr "length" "4")]) -;; -;; [vstrhq_s, vstrhq_u] -;; -(define_insn "mve_vstrhq_" - [(set (match_operand: 0 "mve_memory_operand" "=Ux") - (unspec: [(match_operand:MVE_5 1 "s_register_operand" "w")] - VSTRHQ)) - ] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[1]); - ops[1] = gen_rtx_REG (TImode, regno); - ops[0] = operands[0]; - output_asm_insn ("vstrh.\t%q1, %E0",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrhq_")) - (set_attr "length" "4")]) - -;; -;; [vstrwq_f] -;; -(define_insn "mve_vstrwq_fv4sf" - [(set (match_operand:V4SI 0 "mve_memory_operand" "=Ux") - (unspec:V4SI [(match_operand:V4SF 1 "s_register_operand" "w")] - VSTRWQ_F)) - ] - "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" -{ - rtx ops[2]; - int regno = REGNO (operands[1]); - ops[1] = gen_rtx_REG (TImode, regno); - ops[0] = operands[0]; - output_asm_insn ("vstrw.32\t%q1, %E0",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrwq_fv4sf")) - (set_attr "length" "4")]) - -;; -;; [vstrwq_p_f] -;; -(define_insn "mve_vstrwq_p_fv4sf" - [(set (match_operand:V4SI 0 "mve_memory_operand" "=Ux") - (unspec:V4SI - [(match_operand:V4SF 1 "s_register_operand" "w") - (match_operand:V4BI 2 "vpr_register_operand" "Up") - (match_dup 0)] - VSTRWQ_F))] - "TARGET_HAVE_MVE && TARGET_HAVE_MVE_FLOAT" -{ - rtx ops[2]; - int regno = REGNO (operands[1]); - ops[1] = gen_rtx_REG (TImode, regno); - ops[0] = operands[0]; - output_asm_insn ("vpst\;vstrwt.32\t%q1, %E0",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrwq_fv4sf")) - (set_attr "length" "8")]) - -;; -;; [vstrwq_p_s vstrwq_p_u] -;; -(define_insn "mve_vstrwq_p_v4si" - [(set (match_operand:V4SI 0 "mve_memory_operand" "=Ux") - (unspec:V4SI - [(match_operand:V4SI 1 "s_register_operand" "w") - (match_operand:V4BI 2 "vpr_register_operand" "Up") - (match_dup 0)] - VSTRWQ))] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[1]); - ops[1] = gen_rtx_REG (TImode, regno); - ops[0] = operands[0]; - output_asm_insn ("vpst\;vstrwt.32\t%q1, %E0",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrwq_v4si")) - (set_attr "length" "8")]) - -;; -;; [vstrwq_s vstrwq_u] -;; -(define_insn "mve_vstrwq_v4si" - [(set (match_operand:V4SI 0 "mve_memory_operand" "=Ux") - (unspec:V4SI [(match_operand:V4SI 1 "s_register_operand" "w")] - VSTRWQ)) - ] - "TARGET_HAVE_MVE" -{ - rtx ops[2]; - int regno = REGNO (operands[1]); - ops[1] = gen_rtx_REG (TImode, regno); - ops[0] = operands[0]; - output_asm_insn ("vstrw.32\t%q1, %E0",ops); - return ""; -} - [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrwq_v4si")) - (set_attr "length" "4")]) - -(define_expand "@mve_vst1q_f" - [(match_operand: 0 "mve_memory_operand") - (unspec: [(match_operand:MVE_0 1 "s_register_operand")] VST1Q_F) - ] - "TARGET_HAVE_MVE || TARGET_HAVE_MVE_FLOAT" -{ - emit_insn (gen_mve_vstrq_f(operands[0],operands[1])); - DONE; -}) - -(define_expand "@mve_vst1q_" - [(match_operand:MVE_2 0 "mve_memory_operand") - (unspec:MVE_2 [(match_operand:MVE_2 1 "s_register_operand")] VST1Q) - ] - "TARGET_HAVE_MVE" -{ - emit_insn (gen_mve_vstrq_(operands[0],operands[1])); - DONE; -}) - ;; ;; [vstrdq_scatter_base_p_s vstrdq_scatter_base_p_u] ;; @@ -6931,6 +6466,7 @@ (define_expand "@arm_mve_reinterpret" } ) + ;; Originally expanded by 'predicated_doloop_end'. ;; In the rare situation where the branch is too far, we do also need to ;; revert FPSCR.LTPSIZE back to 0x100 after the last iteration. @@ -6980,3 +6516,199 @@ (define_insn "dlstp_insn" "TARGET_HAVE_MVE" "dlstp.\t%|lr, %0" [(set_attr "type" "mve_misc")]) + + +;; Vector stores +;; [vstrbq_s8, vstrhq_s16, vstrwq_s32, +;; vstrbq_u8, vstrhq_u16, vstrwq_u32, +;; vst1q ] +(define_insn "@mve_vstrq_" + [(set (match_operand:MVE_VLD_ST 0 "mve_memory_operand" "=Ux") + (unspec:MVE_VLD_ST + [(match_operand:MVE_VLD_ST 1 "s_register_operand" "w")] + VSTRQ)) + ] + "(TARGET_HAVE_MVE && VALID_MVE_SI_MODE (mode)) + || (TARGET_HAVE_MVE_FLOAT && VALID_MVE_SF_MODE (mode))" +{ + rtx ops[2]; + int regno = REGNO (operands[1]); + ops[1] = gen_rtx_REG (TImode, regno); + ops[0] = operands[0]; + output_asm_insn ("vstr.\t%q1, %E0",ops); + return ""; +} + [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrq_")) + (set_attr "length" "4")]) + +;; Predicated vector stores +;; [vstrbq_p_s8, vstrhq_p_s16, vstrwq_p_s32, +;; vstrbq_p_u8, vstrhq_p_u16, vstrwq_p_u32, +;; vst1q_p ] +(define_insn "@mve_vstrq_p_" + [(set (match_operand:MVE_VLD_ST 0 "mve_memory_operand" "=Ux") + (unspec:MVE_VLD_ST [ + (match_operand:MVE_VLD_ST 1 "s_register_operand" "w") + (match_operand: 2 "vpr_register_operand" "Up") + (match_dup 0) + ] VSTRQ_P)) + ] + "(TARGET_HAVE_MVE && VALID_MVE_SI_MODE (mode)) + || (TARGET_HAVE_MVE_FLOAT && VALID_MVE_SF_MODE (mode))" +{ + rtx ops[2]; + int regno = REGNO (operands[1]); + ops[1] = gen_rtx_REG (TImode, regno); + ops[0] = operands[0]; + output_asm_insn ("vpst\;vstrt.\t%q1, %E0",ops); + return ""; +} + [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vstrq_")) + (set_attr "type" "mve_move") + (set_attr "length" "8")]) + +;; Truncating vector stores +;; [vstrbq_s16, vstrbq_s32, vstrhq_s32, +;; vstrbq_u16, vstrbq_u32, vstrhq_u32] +(define_insn "@mve_vstrq_truncate_" + [(set (match_operand:MVE_w_narrow_TYPE 0 "mve_memory_operand" "=Ux") + (unspec:MVE_w_narrow_TYPE + [(truncate:MVE_w_narrow_TYPE + (match_operand: 1 "s_register_operand" "w"))] + VSTRQ_TRUNC + ))] + "TARGET_HAVE_MVE" +{ + rtx ops[2]; + int regno = REGNO (operands[1]); + ops[1] = gen_rtx_REG (TImode, regno); + ops[0] = operands[0]; + output_asm_insn ("vstr.\t%q1, %E0",ops); + return ""; +} + [(set (attr "mve_unpredicated_insn") + (symbol_ref "CODE_FOR_mve_vstrq_truncate_")) + (set_attr "length" "4")]) + +;; Predicated truncating vector stores +;; [vstrbq_p_s16, vstrbq_p_s32, vstrhq_p_s32, +;; vstrbq_p_u16, vstrbq_p_u32, vstrhq_p_u32] +(define_insn "@mve_vstrq_p_truncate_" + [(set (match_operand:MVE_w_narrow_TYPE 0 "mve_memory_operand" "=Ux") + (unspec:MVE_w_narrow_TYPE [ + (truncate:MVE_w_narrow_TYPE + (match_operand: 1 "s_register_operand" "w")) + (match_operand: 2 "vpr_register_operand" "Up") + (match_dup 0) + ] VSTRQ_TRUNC_P))] + "TARGET_HAVE_MVE" +{ + rtx ops[2]; + int regno = REGNO (operands[1]); + ops[1] = gen_rtx_REG (TImode, regno); + ops[0] = operands[0]; + output_asm_insn ( + "vpst\;vstrt.\t%q1, %E0", + ops + ); + return ""; +} + [(set (attr "mve_unpredicated_insn") + (symbol_ref "CODE_FOR_mve_vstrq_truncate_")) + (set_attr "type" "mve_move") + (set_attr "length" "8")]) + +;; Vector Loads +;; [vldrbq_s8, vldrhq_s16, vldrwq_s32, +;; vldrbq_u8, vldrhq_u16, vldrwq_u32, +;; vld1q ] +(define_insn "@mve_vldrq_" + [(set (match_operand:MVE_VLD_ST 0 "s_register_operand" "=w") + (unspec:MVE_VLD_ST + [(match_operand:MVE_VLD_ST 1 "mve_memory_operand" "Ux")] + VLDRQ))] + "(TARGET_HAVE_MVE && VALID_MVE_SI_MODE (mode)) + || (TARGET_HAVE_MVE_FLOAT && VALID_MVE_SF_MODE (mode))" +{ + rtx ops[2]; + int regno = REGNO (operands[0]); + ops[0] = gen_rtx_REG (TImode, regno); + ops[1] = operands[1]; + output_asm_insn ("vldr.\t%q0, %E1",ops); + return ""; + } + [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrq_")) + (set_attr "length" "4")]) + +;; Predicated vector load +;; [vldrbq_z_s8, vldrhq_z_s16, vldrwq_z_s32, +;; vldrbq_z_u8, vldrhq_z_u16, vldrwq_z_u32, +;; vld1q_z ] +(define_insn "@mve_vldrq_z_" + [(set (match_operand:MVE_VLD_ST 0 "s_register_operand" "=w") + (unspec:MVE_VLD_ST [ + (match_operand:MVE_VLD_ST 1 "mve_memory_operand" "Ux") + (match_operand: 2 "vpr_register_operand" "Up") + ] VLDRQ_Z))] + "(TARGET_HAVE_MVE && VALID_MVE_SI_MODE (mode)) + || (TARGET_HAVE_MVE_FLOAT && VALID_MVE_SF_MODE (mode))" +{ + rtx ops[2]; + int regno = REGNO (operands[0]); + ops[0] = gen_rtx_REG (TImode, regno); + ops[1] = operands[1]; + output_asm_insn ("vpst\;vldrt.\t%q0, %E1",ops); + return ""; +} + [(set (attr "mve_unpredicated_insn") (symbol_ref "CODE_FOR_mve_vldrq_")) + (set_attr "type" "mve_move") + (set_attr "length" "8")]) + +;; Extending vector loads +;; [vldrbq_s16, vldrbq_s32, vldrhq_s32, +;; vldrbq_u16, vldrbq_u32, vldrhq_u32] +(define_insn "@mve_vldrq_extend_" + [(set (match_operand: 0 "s_register_operand" "=w") + (unspec: + [(SE: + (match_operand:MVE_w_narrow_TYPE 1 "mve_memory_operand" "Ux"))] + VLDRQ_EXT))] + "TARGET_HAVE_MVE" +{ + rtx ops[2]; + int regno = REGNO (operands[0]); + ops[0] = gen_rtx_REG (TImode, regno); + ops[1] = operands[1]; + output_asm_insn ("vldr.\t%q0, %E1",ops); + return ""; +} + [(set (attr "mve_unpredicated_insn") + (symbol_ref "CODE_FOR_mve_vldrq_extend_")) + (set_attr "length" "4")]) + +;; Predicated extending vector loads +;; [vldrbq_z_s16, vldrbq_z_s32, vldrhq_z_s32, +;; vldrbq_z_u16, vldrbq_z_u32, vldrhq_z_u32] +(define_insn "@mve_vldrq_z_extend_" + [(set (match_operand: 0 "s_register_operand" "=w") + (unspec: [ + (SE: + (match_operand:MVE_w_narrow_TYPE 1 "mve_memory_operand" "Ux")) + (match_operand: 2 "vpr_register_operand" "Up") + ] VLDRQ_EXT_Z))] + "TARGET_HAVE_MVE" +{ + rtx ops[2]; + int regno = REGNO (operands[0]); + ops[0] = gen_rtx_REG (TImode, regno); + ops[1] = operands[1]; + output_asm_insn ( + "vpst\;vldrt.\t%q0, %E1", + ops + ); + return ""; +} + [(set (attr "mve_unpredicated_insn") + (symbol_ref "CODE_FOR_mve_vldrq_extend_")) + (set_attr "type" "mve_move") + (set_attr "length" "8")]) diff --git a/gcc/config/arm/unspecs.md b/gcc/config/arm/unspecs.md index f5f4d154364..01963d54cd4 100644 --- a/gcc/config/arm/unspecs.md +++ b/gcc/config/arm/unspecs.md @@ -1150,27 +1150,18 @@ (define_c_enum "unspec" [ VSTRWQSB_U VSTRBQSO_S VSTRBQSO_U - VSTRBQ_S - VSTRBQ_U + VLDRQ + VLDRQ_Z + VLDRQ_EXT + VLDRQ_EXT_Z VLDRBQGO_S VLDRBQGO_U - VLDRBQ_S - VLDRBQ_U VLDRWQGB_S VLDRWQGB_U - VLD1Q_F - VLD1Q_S - VLD1Q_U - VLDRHQ_F VLDRHQGO_S VLDRHQGO_U VLDRHQGSO_S VLDRHQGSO_U - VLDRHQ_S - VLDRHQ_U - VLDRWQ_F - VLDRWQ_S - VLDRWQ_U VLDRDQGB_S VLDRDQGB_U VLDRDQGO_S @@ -1186,15 +1177,11 @@ (define_c_enum "unspec" [ VLDRWQGSO_F VLDRWQGSO_S VLDRWQGSO_U - VSTRHQ_F - VST1Q_S - VST1Q_U + VSTRQ + VSTRQ_P + VSTRQ_TRUNC + VSTRQ_TRUNC_P VSTRHQSO_S - VSTRHQ_U - VSTRWQ_S - VSTRWQ_U - VSTRWQ_F - VST1Q_F VSTRDQSB_S VSTRDQSB_U VSTRDQSO_S