From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00082.outbound.protection.outlook.com [40.107.0.82]) by sourceware.org (Postfix) with ESMTPS id C59083888C72 for ; Fri, 23 Jul 2021 09:15:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C59083888C72 Received: from AM5PR0601CA0065.eurprd06.prod.outlook.com (2603:10a6:206::30) by DB6PR0802MB2373.eurprd08.prod.outlook.com (2603:10a6:4:88::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.31; Fri, 23 Jul 2021 09:15:57 +0000 Received: from AM5EUR03FT061.eop-EUR03.prod.protection.outlook.com (2603:10a6:206:0:cafe::30) by AM5PR0601CA0065.outlook.office365.com (2603:10a6:206::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24 via Frontend Transport; Fri, 23 Jul 2021 09:15:57 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; 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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT061.mail.protection.outlook.com (10.152.16.247) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24 via Frontend Transport; Fri, 23 Jul 2021 09:15:56 +0000 Received: ("Tessian outbound b269bca6e298:v99"); Fri, 23 Jul 2021 09:15:56 +0000 X-CR-MTA-TID: 64aa7808 Received: from 9e43b688cb61.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6DE9EF5B-EA51-40A9-A051-6ABD7860BBB9.1; Fri, 23 Jul 2021 09:15:50 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9e43b688cb61.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 23 Jul 2021 09:15:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C7NgxIUFltQreQxBy2tSUy2eCbzAwR9L3uM00Smrl1ve7XQkNOte6xJ2TyvbvCkBRXaRVqU/K7mbj6uX19bvRpA2LSu1JNw8hY++Yqbyx2JDxAoMWB24FEQgwmbEvmI7muNGB1vs6iwuPTzGxBuecVH/fLev7VcRvULhIUg7WYtmar85dJStrK0MACosR7abilKJIh+Ct4u4+ZTBT+J12Zoi9SE3XMfO9KgyPUFJF1L11Sv4rzZKlllIwK3BbubRAIeL46xiD7f4BeUixsLZhvKAzVUX1rGwZ7r3B76T/D36AIHjznr9aDXp6jq/FATGOi5mvalLdyqXYSlzij8Kaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=v2/1UKedC14nWD54QnqLpYihhAw7SWzreDDim0BC35M=; b=dZSDhCGDCBWw5RUq/6Yf76QMzBQkoLKnLJhVHELyHX2Y6VYogj2dbdzErJYk0atqyyfbZ6qViouAVfH10+eVi/JQr2NDrs8syCO84M0cITl60OBtSoKzW+AJNEE9AfpO/xqubY2AElrQ5XdAHYpziYFuVtvdsqJmiX/Up7VfiGNOsYpMskFKjMlwejMGF44Qms2DLDcE5QbsZbIrkkL+6VqwmsbR/lDGJRtsuUzYBSzhdpxE9i/uIsUTEbLQuJaGKwXY5gEqkLHBwpDd2hQnjwFFJMM5ic3yt2Um+Gg5SO5oHzW654JKO1RnArwFWAcenye7B5nExfruvsIeJkp9uA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by PA4PR08MB6000.eurprd08.prod.outlook.com (2603:10a6:102:ed::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.28; Fri, 23 Jul 2021 09:15:48 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::a0ac:755e:a041:e9eb]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::a0ac:755e:a041:e9eb%4]) with mapi id 15.20.4352.029; Fri, 23 Jul 2021 09:15:48 +0000 From: Kyrylo Tkachov To: Jonathan Wright , "gcc-patches@gcc.gnu.org" CC: Richard Sandiford Subject: RE: [PATCH 1/8] aarch64: Use memcpy to copy vector tables in vqtbl[234] intrinsics Thread-Topic: [PATCH 1/8] aarch64: Use memcpy to copy vector tables in vqtbl[234] intrinsics Thread-Index: AQHXf5tJbOJPAutaQkKDMW91B2Gc76tQRv8w Date: Fri, 23 Jul 2021 09:15:47 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: BDE1C8BE3653614CBF7777E77F303251.0 x-checkrecipientchecked: true Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 0136e344-3081-4c72-06cc-08d94dba7acd x-ms-traffictypediagnostic: PA4PR08MB6000:|DB6PR0802MB2373: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: gi8Tr7KqHoYPT+jehGposot0upUh1YK0A48esJXZOo3zHOyVttdEFRwafwjkGW8uS4ozlKWyDmDLWoxvOSLhsTi7JAjuaPhgO6SXX8LqiJVcfSjD7+WOcaRIF/Xh+wUZknKys2E6nvl4S+Dc/iGVe0HUt/9LkBvELA0x7mtQXI1tUYg5p7N4HEshKvgkGLxuTkaDZGcsMzah8myzhSjMeXmARie5vSgEGwm3+/g7btQnGKsg5/VGiBdFO7oeBws6Y3x2PFt+z+vFrySLm4E3xa5MmPFUZ6m+JBooaMslXVRq0iz1OC3ul0srHFwEOmsjas3RvKjlqQd05fnWB1NW9V0HCo2Eosxea+pIBWclaupovbxFYc+tEYEIpadad5M3ZuhJ8JFwYqJk2I7egL5OYnMjlLhM9XwsWMz3p3s9W3hQneDLHgXMD1+/uMMZMtJzmNHS13nJpIYm2dohtdb1mBDv/v2kH/ITw0r1X+VPwgc7AEvUeat+ZKVrxlIkII1rhJdXlJJnm98RYUcDsh0PY0RYvgl9Q5J0dESXqzZ6fIIuD4y/0XTHmKdCq/nd6+Xoq6cXLSYKRtJnpouYgkLEZv4TN8wtBh/0t7K/OICm+rEYsu6l5zFDiZrGpPEl18XQbXxAixd2sVOtrzzEHfgdQBYR69ygmh0yUrPLmWoNIhxw8jOInRaS89HWA7SedmB6kJaib4F2TeKTaTAxFS5FwTRzqd/UqE9y/gg4yuZArZimwHJnwFQhvvi7ROsQxisnijDA8LYtApkYoL8PeqRQ5GYNyj1fc+l7ZkE8LOQTlMS6EHl9J7386ehRVDV2vEjFl3FjYOkxF9Y8aMIWKND1ag== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR08MB6926.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(376002)(346002)(39860400002)(136003)(396003)(66556008)(66446008)(66476007)(316002)(478600001)(8936002)(52536014)(64756008)(76116006)(66946007)(4326008)(122000001)(2906002)(38100700002)(8676002)(110136005)(83380400001)(6506007)(55016002)(9686003)(71200400001)(186003)(26005)(7696005)(86362001)(5660300002)(33656002)(53546011)(55236004)(38070700004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?1bfp91cZkK0IMS0rZd+s0D2GX+GTRb3SoTncPq7DMBkeP9RswxCUEkVxt/WS?= =?us-ascii?Q?6pPVNTGJWZOCCYyXTYTFRumsUZPpgv/JLh0it99q0CxKAP0ws+37OspW4LVb?= =?us-ascii?Q?FJd4Jh6DmtS1sn0r0GrFF+perSZ+g1qFfBGgEt9KXzfZXmM2y8pWCQ3eRN+e?= =?us-ascii?Q?zPSGuYCjwSaYVV3tGVSbNpPTeG0j19uep3BOz5IxcV/HusmwVBDAj0oFnyOe?= =?us-ascii?Q?n/GiZKdyw19jzktH21kvKXXzSwJF4UlNfCsBLFhfCzFZ6t7Y0Q6l1o9boI7G?= =?us-ascii?Q?V0hM9C4+qDPS6Q7C4lvSn5OOBWjzz4dQZnMT1zBbWUqLQXEaGLbs/jOlIm0l?= =?us-ascii?Q?TDovjIeJZLeYUYt2Uxw9xaFga1rAa2sUB5pk2Dd7+vqJmhYI1IKRehlJ18q9?= =?us-ascii?Q?rg/kN3ucne/+YXqPHJUYGMmDtR+gCzhiaLSqG6H9/oQh/POc7S1IkpTq4Itp?= =?us-ascii?Q?hMvSpGaHIl1Gq4nk+785cfeNIUipL+oIxwKpR40U6zGC7Ibaj57ZZqiloP6s?= =?us-ascii?Q?i/vRMSgFx99a3jYsR5S7JRad1OV4G9aXaHAaXgNG3TM9dJGSr30odPbRb7sC?= =?us-ascii?Q?56Z5ReO8JoNNVVuDO0kZBo3hkKz8ltxsq+YTyhWD2Qv+HfHQSzoObh9K/VHi?= =?us-ascii?Q?YoZynICeMm0cziBeGJiMbJ2OEhfBElSDJV2/voFR9WfkQwKn8z47MVCWI5NQ?= =?us-ascii?Q?Y6ZNOblrEInQ5Kg3SzkqHcNcTJTG/00IdYd2/ncCaaKu8+XBoxTM4UUKI/wc?= =?us-ascii?Q?6t33ZzOdFp5opn4nbtzzckwf87VlBOriEn6FGTfw5BfFl7Ig3/0edkIro5Q6?= =?us-ascii?Q?K3n9GCr/0FJN6IN41qAgPFFRzpl+CvvxDAXcTpHh+l1WHKLFvhhbiSVff7dh?= =?us-ascii?Q?oH1Kp+8pd5TZnbTKQwOQHLqEctU/AIJoT8IyCve/7+0UAp4KB9mfpVVMeMBG?= =?us-ascii?Q?GrFxRYgAA24E4dNNQSpICIpwRIFI/2pklG0bQQ7mhjEUHgGg+cd090WJumwS?= =?us-ascii?Q?rIQkY3ugfPs99/R4XiCDWdG0dDDUkDc7QCf8mTfJuGsouEMa+W9Wq7vX1xu4?= =?us-ascii?Q?hbmpuG7uidsgUAGXrC/M0rGxnTaC2AqWnVfvq3BZB9X8e+rG7nSmEQj3Pmcz?= =?us-ascii?Q?Nwuf75KkEyhSrIpOzrxEI8XAaz+AvWjH9mGHH9pWjVotPF5rQ+3QXlUrOs1r?= =?us-ascii?Q?A2vwxvkIuxR/OQC0A6Nyph6gXXxUY1+PyP6Y9TRFHN6I7Bq8sG1lmK7nZDkE?= =?us-ascii?Q?3+a/+a5DlII4VrkhaHbpZ4Zl5ERgHuhiZ1fZnZkOb1oqTV87uf5fa/mL3cnr?= =?us-ascii?Q?BEY=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6000 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT061.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 9949edfd-c7c6-40ad-ed68-08d94dba7593 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7KPHaHNB6UmCxcUlfyclG6ZPyn+gMZqo909FvccoXMWFbfbwEXquVmeQJhzDhesvxPb3RwAMxSwh8tfzUkFJrb/CWXs0mmaBclOQD81cSUB6ePWZGWEa8OkmxtyeLBnFLtfRCQHDE0uRU8wBmJkdYk+4aMn/6yJDALFc4oIHhj5D2JfXeGeF99S4yIGt+ziY0RZXiVCQVZh5esvkTZDgeubp2tGkkjt+pEBlUCF8fkN4NcgzzjyZELeASWKszP/sVAIy+8Miw6jMBBsSQPX1U3rqsrkSbMOYOcUjf496k01x7NTwQMJ8MOIDWjWgoRoZt+4H1F96HS8aH/z6+7LGh6bFcozSDWs9KSsWlkFULN6mTmrZsxpGKJ7RdCOEw5tkY4b0EGxk+nYN/cffBRQeFInTjvw/tKg7KijNOqyvObz88YDEcJOqWmHqi9edENudvJ4drof30J2xtsQYjBIE32GEKkWCHT6YPmywTswkv7xL4d8Pm7eWYF6GJ/Ll1SxLVVJ7/sasif09i/f9JqL4wuohStIY3M2Vkq+ckYJERF/f0viSw1oGMaA3Lmac05vg7uhgDKb969i9z2x2JRAY5ImWDAu15YGxjJUXzcbow7rVOZRNPxZK68F/rwh9AtMgMr5Y5lmZEDWwxZc4qFn+wGs3ZD144QkbwqD9MU/voFFgibnOnsQNQ346L32Mai1ktJ5EXbO/BzbyimQ4Fm0xJzlg8IwoMLbKNcBWDTkxeyGK6Sep/nJQKV4Gr6rG9V6ggnCXFX6HvM13aOOoXChAwQj7gXZ6zFubwVPWKwGfq4sEI6FxQZjsP9SB6SpEkI6A3IGKzuVhv1FUksVYPFL4Xw== 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:(4636009)(396003)(136003)(346002)(39860400002)(376002)(46966006)(36840700001)(6506007)(53546011)(110136005)(47076005)(82310400003)(5660300002)(81166007)(478600001)(8936002)(9686003)(7696005)(26005)(70206006)(82740400003)(356005)(316002)(33656002)(186003)(86362001)(52536014)(55016002)(2906002)(83380400001)(336012)(4326008)(36860700001)(8676002)(70586007); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jul 2021 09:15:56.8498 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0136e344-3081-4c72-06cc-08d94dba7acd 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: AM5EUR03FT061.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2373 X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Jul 2021 09:16:01 -0000 Hi Jonathan, > -----Original Message----- > From: Jonathan Wright > Sent: 23 July 2021 09:22 > To: gcc-patches@gcc.gnu.org > Cc: Kyrylo Tkachov ; Richard Sandiford > > Subject: [PATCH 1/8] aarch64: Use memcpy to copy vector tables in > vqtbl[234] intrinsics >=20 > Hi, >=20 > This patch uses __builtin_memcpy to copy vector structures instead of > building a new opaque structure one vector at a time in each of the > vqtbl[234] Neon intrinsics in arm_neon.h. This simplifies the header file > and also improves code generation - superfluous move instructions > were emitted for every register extraction/set in this additional > structure. >=20 > Add new code generation tests to verify that superfluous move > instructions are no longer generated for the vqtbl[234] intrinsics. >=20 > Regression tested and bootstrapped on aarch64-none-linux-gnu - no > issues. >=20 > Ok for master? >=20 In the testcase: diff --git a/gcc/testsuite/gcc.target/aarch64/vector_structure_intrinsics.c= b/gcc/testsuite/gcc.target/aarch64/vector_structure_intrinsics.c new file mode 100644 index 0000000000000000000000000000000000000000..2fab0f2947b7fa28e4e3a77bd36= 5dcfdf30a9b28 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/vector_structure_intrinsics.c @@ -0,0 +1,45 @@ +/* { dg-skip-if "" { arm*-*-* } } */ Files in gcc.target/aarch64 won't be attempted on arm* targets so the skip-= if isn't needed (that's only for tests in gcc.target/aarch64/advsimd-intrin= sics/). Ok with that directive removed, thanks for doing this! Kyrill > Thanks, > Jonathan >=20 > --- >=20 > gcc/ChangeLog: >=20 > 2021-07-08 Jonathan Wright >=20 > * config/aarch64/arm_neon.h (vqtbl2_s8): Use __builtin_memcpy > instead of constructing __builtin_aarch64_simd_oi one vector > at a time. > (vqtbl2_u8): Likewise. > (vqtbl2_p8): Likewise. > (vqtbl2q_s8): Likewise. > (vqtbl2q_u8): Likewise. > (vqtbl2q_p8): Likewise. > (vqtbl3_s8): Use __builtin_memcpy instead of constructing > __builtin_aarch64_simd_ci one vector at a time. > (vqtbl3_u8): Likewise. > (vqtbl3_p8): Likewise. > (vqtbl3q_s8): Likewise. > (vqtbl3q_u8): Likewise. > (vqtbl3q_p8): Likewise. > (vqtbl4_s8): Use __builtin_memcpy instead of constructing > __builtin_aarch64_simd_xi one vector at a time. > (vqtbl4_u8): Likewise. > (vqtbl4_p8): Likewise. > (vqtbl4q_s8): Likewise. > (vqtbl4q_u8): Likewise. > (vqtbl4q_p8): Likewise. >=20 > gcc/testsuite/ChangeLog: >=20 > * gcc.target/aarch64/vector_structure_intrinsics.c: New test.