From patchwork Wed Dec 4 12:16:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 102371 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E463B3858C5F for ; Wed, 4 Dec 2024 12:19:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E463B3858C5F Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=LoZfPt9R; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=LoZfPt9R X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on20612.outbound.protection.outlook.com [IPv6:2a01:111:f403:2608::612]) by sourceware.org (Postfix) with ESMTPS id CDA663858D26; Wed, 4 Dec 2024 12:17:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CDA663858D26 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 CDA663858D26 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2608::612 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314624; cv=pass; b=BlkNPPYR40sVwGqo7kIFUCCMrxs0zRy65Foiq91P0O4EVXVCQ19VoKU051nUIZzLiA6qpzDKJbQP5SN4czvV83XUpPSZS7n+1xe7CXTj2kALIrUdLGThc4EzKbHvNuKIitwhTEBBfoYcC+sqmG5vuYKhR6wQHIoWVbQMGuvtgzI= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314624; c=relaxed/simple; bh=WvMJL+pzh3lMOvYpRrrbizPdGPj7wkSiDCRKEgZdXkA=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=i7IxyC9SNWx9ViaUOzf2swkk/OzHuAHe7py2YfaSBduzzCA+5F0ofOZQhl/3JKMaGQnZWDhhsMe7GMfH+9xcmfA1Y1sVHoTzLRvoyAoGgm+let8rJsKUyw0QK8nh4BfABVoi6AlwTJbzV/TqZJ3FmI3HBOuwKCaVTN4VnpOJwI8= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CDA663858D26 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=J2IH3uoh/7N8j5iJnwH9JlB0hULdGq1C3NeFSnpsU/EUUhv4pywtaQhMtyoogu3+MbjcSB+n01FgG+aJRkRUox3vrSWeKMFWRTAC5OhmYyztxSyMY6ascs5RwYgUIyvnJynxpcQ+sodduk0sjas/6p4RnaGmSc2o2JNaBu+/gfqrhC1EosAjdi7TJ2CZSuXa492cRz8sU9HudRoqjIBtErcZGE0md8tWH6qgT4CCfJrqEx8LjJn4yh/HzHsYMMc1lJ1v88t075pLcPorw9mEaahGXVqHoA7F2cDE/4a3dizonvfC2Hxic0kz6GDDnY+0C8gLG/a9l9oTSj9gmmimRg== 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=LDcp1k98N134qjd49AXkdq27qJWi1t43PxkDenx2Iks=; b=ybXHmfLXR+sss8YLlLbIxL6Zzv+Dts8Yk/Quk+/zsetMyMDKycMGdbqr0ymQwUwrhzyOBBxqF8KGrvJePfvFCDLMsc58tkMhbz8GRNcKlasIJ5+gatvAkNWbEh0OLZbiCLAYL1FMQV8cjkzj0e4S+IcRdD5r5mgD0lTVJRkQih5A8D7reE1k2FJ4/NSiDMW6HVFu0RZptqBH0lDZdm4L0341aTpWJAj60gynlupEg9AKsWrOtGT0Bf0GMJtR1ih97qAAR91/CoTf0o6r6ndXtl8D3E770BX6Xs2Hc08HgwPqfdom9dbPCubXzYZbAKyBHgeEErwDUskLVAoKh2nX/Q== 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] dkim=[1,1,header.d=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=LDcp1k98N134qjd49AXkdq27qJWi1t43PxkDenx2Iks=; b=LoZfPt9RJcNba0ZJajG5KT48hDgPOhaujc6t+qHB4U/Oa2DEsSD4PfFYW0m9qTNAal5aWlod8qlEW8JfYe21+GSBJLLiuWbUiF4yBaZAUaZDfZstNm+62wpXr4f5Km+LaH59TSZWmvI6Di2YXLm6jA+Iz57iR+yt2cO92ATWq6Q= Received: from AS9PR07CA0014.eurprd07.prod.outlook.com (2603:10a6:20b:46c::12) by AS8PR08MB9387.eurprd08.prod.outlook.com (2603:10a6:20b:5aa::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.18; Wed, 4 Dec 2024 12:16:55 +0000 Received: from AM4PEPF00027A68.eurprd04.prod.outlook.com (2603:10a6:20b:46c:cafe::df) by AS9PR07CA0014.outlook.office365.com (2603:10a6:20b:46c::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8230.8 via Frontend Transport; Wed, 4 Dec 2024 12:16: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 AM4PEPF00027A68.mail.protection.outlook.com (10.167.16.85) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8230.7 via Frontend Transport; Wed, 4 Dec 2024 12:16:55 +0000 Received: ("Tessian outbound e5f180d9e249:v522"); Wed, 04 Dec 2024 12:16:55 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c67bb0ec4170fd7d X-TessianGatewayMetadata: FvLTw4+V7q+23BYzV1vjm6JdYfs1q6zf8GNVXp9wBKBRNRHkt/SdvMYPTn3ozghkkN2wxiDHv3wqXRq/jPKxrU67LI6tk9Kp+zEtSTjbvsqrG2Ry3xJL0gphPCyB96hI9qUwAr2yTfUxlfhOdrEoCw== X-CR-MTA-TID: 64aa7808 Received: from Lbf995de24bd9.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id D6E96DA2-D57B-4198-BDF3-213FBA84153F.1; Wed, 04 Dec 2024 12:16:43 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lbf995de24bd9.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 04 Dec 2024 12:16:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=zMm9m0PkjbqGG753pk9vRshJ7149lEeYqru01JuAOCsfEBlk/f47c0qCArb9WAuk5X3E24XVSjWF4O95dtMCfAu4E3lJp7GbO0YMMM397iLq13ggVfaJSWlX6B7EiWqhz2FTE5CwB/FYJyxXjETxzO4ExvfvqPiQlKueK5Y2+ZalypxkF84ETn858HXWu8EHa6fcVAMQqS6unLTVvdNwOpCwOHpTYlzKdZL0/1tkf7cMVarRsNj/sxoiZcmBdgWeMxgjLKoRIyXqyJBVaGMm6RXcw+bvPw3PtHH01aQ/fI/k8O/lakbs76fPYWSszZ4HfCmvvNAiFSTJ9e4dRg7s6Q== 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=LDcp1k98N134qjd49AXkdq27qJWi1t43PxkDenx2Iks=; b=sYVe0JN/aUEZTujhJ7v0qXuGsOSVuG5ugrP47ZZPQ8XMk1ni+wy9nzRlbfNOCc01xAwkYtukL8Q9be5h+934amGxwIzuCt2nYUi43387Lw8/rRDJw6S6cGWhu3OKJG2dInq2fHs2xaOQnQUHTPbEMvd3kKIcBTp4UUdkexG83zZXPJBqAIKyGtmfa+42yUUUtYRPW8c2dWzvsT8BW9zMY6iubKZn4GeYRvQPMJakYOTx1N4WSd+dTG5zb0vhHIUOMK55ozgQ+u6DMlt4ZtTfNvWSRG560DrUbXu7O+e21jsl1/w++p8o8qlxg+Ngb5yLNlMPOKyTG1XLNQx0JBBqNg== 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 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=LDcp1k98N134qjd49AXkdq27qJWi1t43PxkDenx2Iks=; b=LoZfPt9RJcNba0ZJajG5KT48hDgPOhaujc6t+qHB4U/Oa2DEsSD4PfFYW0m9qTNAal5aWlod8qlEW8JfYe21+GSBJLLiuWbUiF4yBaZAUaZDfZstNm+62wpXr4f5Km+LaH59TSZWmvI6Di2YXLm6jA+Iz57iR+yt2cO92ATWq6Q= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by AS8PR08MB6390.eurprd08.prod.outlook.com (2603:10a6:20b:31b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8230.11; Wed, 4 Dec 2024 12:16:41 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69%2]) with mapi id 15.20.8207.017; Wed, 4 Dec 2024 12:16:40 +0000 Date: Wed, 4 Dec 2024 12:16:38 +0000 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, Richard.Earnshaw@arm.com, ktkachov@gcc.gnu.org, richard.sandiford@arm.com Subject: [PATCH 2/7]AArch64: Add SVE support for simd clones [PR96342] Message-ID: Content-Disposition: inline X-ClientProxiedBy: LO3P265CA0024.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:387::19) To VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB5325:EE_|AS8PR08MB6390:EE_|AM4PEPF00027A68:EE_|AS8PR08MB9387:EE_ X-MS-Office365-Filtering-Correlation-Id: 99a14118-e809-4bdf-8450-08dd145d8b40 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info-Original: +HC3KNPoQEpN47iE6ckUHEeHYPIFGrNDa819d6tojWJx7OeYyFlE1hVfgcs7Nn7qvlWGP0rEXnNUMEC1Ti5s/GqheiPWL1iIXpAzTZEys6UuTMaZq7i1YX+GdPwv+cMRcurBPgHz/OTuIPmFTq7APfITGeuy3fff7J5+6EWuXVmroeKBSH0lgGlNI4rs2w107mi+q1G6KIG8svmLYFbeEuhikpNZlSKsWEJ9DEfhvRlgEEo6axV/M4bfVJ141ACi3qs3mfJ8IuCIRuGCs9Zo149ua5derhAwnCuJJuBosVyqEI7/wNH8fFiwp0w0ZzIuGdvjUVKoJdon1Udgah7fiuLoKKj6b/+cD53xrINI0aMEVpfulxuEFZ1Jgx6SNNUJ7x6gfrfzCWbufg1M5/viw9D2hvM3KSC17zro8AKpfbL7bbhj5UW1451G16iMGdmvhnIBU9Yo90XRgoU2nxl+lLkirIPfS37wHjv1vbjqN72XhYYuohkjZYusyrXh59+WkqCBeJEikY9vEOnvymBUPFYxiHIVm1EHogNoka3eerXwCXigjlFHJ6I23hX6RJic6pEK6g+4hx8Ao61zJVD1oJYkNKWUTwVtfcsHY23rz/W+inKWZ8W0vFhhmimwclrtVgNFQz6m/C1mjw+9tC2V14iTmartqjqKsF4qSxS9Q2lMxtqGgYocInirgfM2RB479lwooSOhKtlab5Wlexvc5ozxKDrlfRWi/4BqF59W51f4yKPJ9QSHtpgIi5JubWOyOjRZiJkgUR+Kxop1y8aexoWN7XARYiI/rbK7UD4fIeMq5ZF52tob8Nnvj6/qqgnAHLwaTYwhf4NsktvDDAWE12x93lqsgfPMS8X6P7D41y1JkXEOjnO0CtCbmnKcuVYLzFWo8XEJNTurluwneFTi6r1x4dglJFFxIxAGy4Pu3g0lC/nkGg6vBGKSyKgP8PMJitcULCru8PIY174M4vci+iWM6Q1/MIOTxowgsJc8MZJ20dONAzTetMXQI+EsBh5oqD/7iiAN0BXUgiftc3EXvE8zIVPdmKR6CQGhCPGnZZGGK13i/VaV+tjLP9Q6GYRGJDvGjKUoydGiIpbJxX8aSlS/7aliyYVQm2amAHIXQjr5EAie7k3MSUdR0zc8i8kiUjXRI6LL0w179wdnUmHTe/uoxcbsIRiJP5Jg2eGH2WCSw6c7KUzJyRGdRAOPt3mpOEgeJDk3DWptKKCynokwIgN5+QsNtg8B2/vot9VpmVMX48t0xL3AHBBTZW0S9ADRygYhR3auEi9AsIgDm/0T6bhWdSOH3j/iGDQl3DMkovHaFkFI6iEfnW8MCWPTtdT7 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6390 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:803:13e::17]; domain=VI1PR08MB5325.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00027A68.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 6ec2b5cb-2ba2-4fc7-b3ef-08dd145d820f X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|14060799003|82310400026|35042699022|36860700013; X-Microsoft-Antispam-Message-Info: =?utf-8?q?6r7+ub2qqLYnWNTIL0vHsHAP6XTdpfd?= =?utf-8?q?YnuT8mFCfgBQDxBlqM3Bc+vAEaeJ/oIdITDP2Oc/SNKT38zFrODpudEGq5Qv5jONL?= =?utf-8?q?X8tWZuigm3TK7oKQ6kpQYJo7AQLL3JnDNx/GT7LuJCO7jLhJb2BfOz/0Iec3gWkD5?= =?utf-8?q?Uh9RIHtnD59Zlnvnhb+thZlJ/zkRJTrIaHAPgFakKsFTSjs7ZkstIiLoQqPo9iTUs?= =?utf-8?q?OulS0LZfdUgFeOxQWIvI6vSqJgrh6W7KaiYVhP3oQCixFbaj1GfbNDlu7njDKyK86?= =?utf-8?q?Zja2SdKuO6KgylMvUmy3g7vBZ6nI1jXbFHn/Cvq1ANMtJtnjOC5OZVbrU3Z8J1Bx5?= =?utf-8?q?yDxztkszaIDsev+kyGzN9eVihQ0h5SrgXvclGJjpRwO218ACz/MyFlREDyejEvJUr?= =?utf-8?q?lrHlm6VwpbsocOH+1HFyzA9Ktqzhtnja0vrVKPrucIOHS3Xi0GITGiw2j/L3Asa6g?= =?utf-8?q?51+jA5qcplYadYx7ZFvhoAQDFtPGNcPHKzbPdHbFsANsNIA+rvMiYtpi1mG+GHfjd?= =?utf-8?q?homqJXQ3hgwRFtXSttbD7nqIugQ9EIMifGERYrvkaJJ6BHzzCe9wPto74O+i12I/k?= =?utf-8?q?T3RDzR2JFzrj1lD/a3qOxFGtbjnNxBTVDu4esxx4iByToE2bH1cQVNiEhkILmPeg5?= =?utf-8?q?U8y48ygYuK5C08Rc5RdxbzY1IfsHWipkNTnNUuuMciKs2jcH4/zfYFqWr6WHgGdZb?= =?utf-8?q?Ke2fd7yPd2wHSHfPfHm7LCXoAqF2sdS7rum9jfo4JqSL1WAMlgIWhAR2BjEvLvY7I?= =?utf-8?q?l4pNdrmGoPmtmES9lz1wEzV+YxFQK82jaLTIgbAn6dpVc8TAMqCcRERzcUkRn1Pyt?= =?utf-8?q?FGcqHQjlVa43DIz8aoFRNygPaKw0st2QMoptrnVGlwjemqXyTjy7zHmVk6ET1xRI/?= =?utf-8?q?fEmX1Rx8qcqEYChS+seSomc8QoZaVcuxhv6OtPfmK3Can07poe1JvAMzTiA66xCf6?= =?utf-8?q?2iQEdh8DVtD6nC4bPnbpX75/J6wFMyr08iuGIvmTCFpzKL/doaft/T4uvy9Id/kNR?= =?utf-8?q?qXaZm7ErZmf+sKZ5mZQ3pZ7Tg56oGYFXp72sEHWyDZi6tayy7d2Qh/BKHVRuK6PC9?= =?utf-8?q?PTftgJEil9bQY3t13lhoAMfF0XtFOdb0K6KGfQNTjCOD5Ak/W88OV//bvBCijucMG?= =?utf-8?q?hHzvjvTKCDPJpZmZm42TjyLkB2GO6q/WLOeGBPS5aUuGeud7SwYqKfzeC+jb64rEB?= =?utf-8?q?mkeCOQMCOguFUO39Yt7Wqh/9jbUs9n1ASTyvVHHpGwwxE1fuUdZjy7cwfCVDuNTHM?= =?utf-8?q?VYyVsy5YmJifhG6t0QUhswnkAimr88pom1zZVpJFFKGDVWUeU1WEtL9J6UVWUKPo3?= =?utf-8?q?y9LpC/ZlQL1trbdp4zZjLyFMtj9eoo5VVQ=3D=3D?= 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:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(376014)(1800799024)(14060799003)(82310400026)(35042699022)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Dec 2024 12:16:55.6472 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 99a14118-e809-4bdf-8450-08dd145d8b40 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: AM4PEPF00027A68.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9387 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, KAM_LOTSOFHASH, KAM_SHORT, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY, URIBL_BLOCKED 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~patchwork=sourceware.org@gcc.gnu.org Hi All, This patch finalizes adding support for the generation of SVE simd clones when no simdlen is provided, following the ABI rules where the widest data type determines the minimum amount of elements in a length agnostic vector. gcc/ChangeLog: PR target/96342 * config/aarch64/aarch64-protos.h (add_sve_type_attribute): Declare. * config/aarch64/aarch64-sve-builtins.cc (add_sve_type_attribute): Make visibility global and support use for non_acle types. * config/aarch64/aarch64.cc (aarch64_simd_clone_compute_vecsize_and_simdlen): Create VLA simd clone when no simdlen is provided, according to ABI rules. (simd_clone_adjust_sve_vector_type): New helper function. (aarch64_simd_clone_adjust): Add '+sve' attribute to SVE simd clones and modify types to use SVE types. * omp-simd-clone.cc (simd_clone_mangle): Print 'x' for VLA simdlen. (simd_clone_adjust): Adapt safelen check to be compatible with VLA simdlen. gcc/testsuite/ChangeLog: PR target/96342 * gcc.target/aarch64/declare-simd-2.c: Add SVE clone scan. * gcc.target/aarch64/vect-simd-clone-1.c: New test. * g++.target/aarch64/vect-simd-clone-1.c: New test. Co-authored-by: Victor Do Nascimento Co-authored-by: Tamar Christina Bootstrapped Regtested on aarch64-none-linux-gnu, arm-none-linux-gnueabihf, x86_64-pc-linux-gnu -m32, -m64 and no issues. Ok for master? Thanks, Tamar --- -- diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h index c6ce62190bce43fae7b0c9d64202a7c042df6ef4..e7724e0518dd97a120edbc5f02b20298a57c653f 100644 --- a/gcc/config/aarch64/aarch64-protos.h +++ b/gcc/config/aarch64/aarch64-protos.h @@ -1138,6 +1138,8 @@ namespace aarch64_sve { #ifdef GCC_TARGET_H bool verify_type_context (location_t, type_context_kind, const_tree, bool); #endif + void add_sve_type_attribute (tree, unsigned int, unsigned int, + const char *, const char *); } extern void aarch64_split_combinev16qi (rtx operands[3]); diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc index 0fec1cd439e729dca495aac4dea054a25ede20a7..e6c2bdeb00681848a838009c833cfe3271a94049 100644 --- a/gcc/config/aarch64/aarch64-sve-builtins.cc +++ b/gcc/config/aarch64/aarch64-sve-builtins.cc @@ -998,14 +998,16 @@ static GTY(()) hash_map *overload_names[2]; /* Record that TYPE is an ABI-defined SVE type that contains NUM_ZR SVE vectors and NUM_PR SVE predicates. MANGLED_NAME, if nonnull, is the ABI-defined mangling of the type. ACLE_NAME is the name of the type. */ -static void +void add_sve_type_attribute (tree type, unsigned int num_zr, unsigned int num_pr, const char *mangled_name, const char *acle_name) { tree mangled_name_tree = (mangled_name ? get_identifier (mangled_name) : NULL_TREE); + tree acle_name_tree + = (acle_name ? get_identifier (acle_name) : NULL_TREE); - tree value = tree_cons (NULL_TREE, get_identifier (acle_name), NULL_TREE); + tree value = tree_cons (NULL_TREE, acle_name_tree, NULL_TREE); value = tree_cons (NULL_TREE, mangled_name_tree, value); value = tree_cons (NULL_TREE, size_int (num_pr), value); value = tree_cons (NULL_TREE, size_int (num_zr), value); diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index 4108c09715a5540db87ec4ba74a10804af78054a..af6fede102c2be6673c24f8020d000ea56322997 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -29284,7 +29284,7 @@ aarch64_simd_clone_compute_vecsize_and_simdlen (struct cgraph_node *node, int num, bool explicit_p) { tree t, ret_type; - unsigned int nds_elt_bits; + unsigned int nds_elt_bits, wds_elt_bits; unsigned HOST_WIDE_INT const_simdlen; if (!TARGET_SIMD) @@ -29329,10 +29329,14 @@ aarch64_simd_clone_compute_vecsize_and_simdlen (struct cgraph_node *node, if (TREE_CODE (ret_type) != VOID_TYPE) { nds_elt_bits = lane_size (SIMD_CLONE_ARG_TYPE_VECTOR, ret_type); + wds_elt_bits = nds_elt_bits; vec_elts.safe_push (std::make_pair (ret_type, nds_elt_bits)); } else - nds_elt_bits = POINTER_SIZE; + { + nds_elt_bits = POINTER_SIZE; + wds_elt_bits = 0; + } int i; tree type_arg_types = TYPE_ARG_TYPES (TREE_TYPE (node->decl)); @@ -29340,44 +29344,65 @@ aarch64_simd_clone_compute_vecsize_and_simdlen (struct cgraph_node *node, for (t = (decl_arg_p ? DECL_ARGUMENTS (node->decl) : type_arg_types), i = 0; t && t != void_list_node; t = TREE_CHAIN (t), i++) { - tree arg_type = decl_arg_p ? TREE_TYPE (t) : TREE_VALUE (t); + tree type = decl_arg_p ? TREE_TYPE (t) : TREE_VALUE (t); if (clonei->args[i].arg_type != SIMD_CLONE_ARG_TYPE_UNIFORM - && !supported_simd_type (arg_type)) + && !supported_simd_type (type)) { if (!explicit_p) ; - else if (COMPLEX_FLOAT_TYPE_P (ret_type)) + else if (COMPLEX_FLOAT_TYPE_P (type)) warning_at (DECL_SOURCE_LOCATION (node->decl), 0, "GCC does not currently support argument type %qT " - "for simd", arg_type); + "for simd", type); else warning_at (DECL_SOURCE_LOCATION (node->decl), 0, "unsupported argument type %qT for simd", - arg_type); + type); return 0; } - unsigned lane_bits = lane_size (clonei->args[i].arg_type, arg_type); + unsigned lane_bits = lane_size (clonei->args[i].arg_type, type); if (clonei->args[i].arg_type == SIMD_CLONE_ARG_TYPE_VECTOR) - vec_elts.safe_push (std::make_pair (arg_type, lane_bits)); + vec_elts.safe_push (std::make_pair (type, lane_bits)); if (nds_elt_bits > lane_bits) nds_elt_bits = lane_bits; + if (wds_elt_bits < lane_bits) + wds_elt_bits = lane_bits; } - clonei->vecsize_mangle = 'n'; + /* If we could not determine the WDS type from available parameters/return, + then fallback to using uintptr_t. */ + if (wds_elt_bits == 0) + wds_elt_bits = POINTER_SIZE; + clonei->mask_mode = VOIDmode; poly_uint64 simdlen; - auto_vec simdlens (2); + typedef struct + { + poly_uint64 len; + char mangle; + } aarch64_clone_info; + auto_vec clones (3); + /* Keep track of the possible simdlens the clones of this function can have, and check them later to see if we support them. */ if (known_eq (clonei->simdlen, 0U)) { simdlen = exact_div (poly_uint64 (64), nds_elt_bits); if (maybe_ne (simdlen, 1U)) - simdlens.safe_push (simdlen); - simdlens.safe_push (simdlen * 2); + clones.safe_push ({simdlen, 'n'}); + clones.safe_push ({simdlen * 2, 'n'}); + /* Only create an SVE simd clone if we aren't dealing with an unprototyped + function. + We have also disabled support for creating SVE simdclones for functions + with function bodies and any simdclones when -msve-vector-bits is used. + TODO: add support for these. */ + if (prototype_p (TREE_TYPE (node->decl)) + && !node->definition + && !aarch64_sve_vg.is_constant ()) + clones.safe_push ({exact_div (BITS_PER_SVE_VECTOR, wds_elt_bits), 's'}); } else - simdlens.safe_push (clonei->simdlen); + clones.safe_push ({clonei->simdlen, 'n'}); clonei->vecsize_int = 0; clonei->vecsize_float = 0; @@ -29391,11 +29416,12 @@ aarch64_simd_clone_compute_vecsize_and_simdlen (struct cgraph_node *node, simdclone would cause a vector type to be larger than 128-bits, and reject such a clone. */ unsigned j = 0; - while (j < simdlens.length ()) + while (j < clones.length ()) { bool remove_simdlen = false; for (auto elt : vec_elts) - if (known_gt (simdlens[j] * elt.second, 128U)) + if (clones[j].mangle == 'n' + && known_gt (clones[j].len * elt.second, 128U)) { /* Don't issue a warning for every simdclone when there is no specific simdlen clause. */ @@ -29403,18 +29429,17 @@ aarch64_simd_clone_compute_vecsize_and_simdlen (struct cgraph_node *node, warning_at (DECL_SOURCE_LOCATION (node->decl), 0, "GCC does not currently support simdlen %wd for " "type %qT", - constant_lower_bound (simdlens[j]), elt.first); + constant_lower_bound (clones[j].len), elt.first); remove_simdlen = true; break; } if (remove_simdlen) - simdlens.ordered_remove (j); + clones.ordered_remove (j); else j++; } - - int count = simdlens.length (); + int count = clones.length (); if (count == 0) { if (explicit_p && known_eq (clonei->simdlen, 0U)) @@ -29431,21 +29456,103 @@ aarch64_simd_clone_compute_vecsize_and_simdlen (struct cgraph_node *node, } gcc_assert (num < count); - clonei->simdlen = simdlens[num]; + clonei->simdlen = clones[num].len; + clonei->vecsize_mangle = clones[num].mangle; + /* SVE simdclones always have a Mask, so set inbranch to 1. */ + if (clonei->vecsize_mangle == 's') + clonei->inbranch = 1; return count; } -/* Implement TARGET_SIMD_CLONE_ADJUST. */ +/* Helper function to adjust an SVE vector type of an SVE simd clone. Returns + an SVE vector type based on the element type of the vector TYPE, with SIMDLEN + number of elements. If IS_MASK, returns an SVE mask type appropriate for use + with the SVE type it would otherwise return. */ +static tree +simd_clone_adjust_sve_vector_type (tree type, bool is_mask, poly_uint64 simdlen) +{ + unsigned int num_zr = 0; + unsigned int num_pr = 0; + machine_mode vector_mode; + type = TREE_TYPE (type); + scalar_mode scalar_m = SCALAR_TYPE_MODE (type); + vector_mode = aarch64_sve_data_mode (scalar_m, simdlen).require (); + type = build_vector_type_for_mode (type, vector_mode); + if (is_mask) + { + type = truth_type_for (type); + num_pr = 1; + } + else + num_zr = 1; + + /* We create new types here with the SVE type attribute instead of using ACLE + types as we need to support unpacked vectors which aren't available as + ACLE SVE types. */ + type = build_distinct_type_copy (type); + aarch64_sve::add_sve_type_attribute (type, num_zr, num_pr, NULL, NULL); + return type; +} + +/* Implement TARGET_SIMD_CLONE_ADJUST. */ static void aarch64_simd_clone_adjust (struct cgraph_node *node) { - /* Add aarch64_vector_pcs target attribute to SIMD clones so they - use the correct ABI. */ - tree t = TREE_TYPE (node->decl); - TYPE_ATTRIBUTES (t) = make_attribute ("aarch64_vector_pcs", "default", - TYPE_ATTRIBUTES (t)); + + if (node->simdclone->vecsize_mangle == 's') + { + /* This is additive and has no effect if SVE, or a superset thereof, is + already enabled. */ + tree target = build_string (strlen ("+sve") + 1, "+sve"); + if (!aarch64_option_valid_attribute_p (node->decl, NULL_TREE, target, 0)) + gcc_unreachable (); + push_function_decl (node->decl); + } + else + { + /* Add aarch64_vector_pcs target attribute to SIMD clones so they + use the correct ABI. */ + TYPE_ATTRIBUTES (t) = make_attribute ("aarch64_vector_pcs", "default", + TYPE_ATTRIBUTES (t)); + } + cgraph_simd_clone *sc = node->simdclone; + + for (unsigned i = 0; i < sc->nargs; ++i) + { + bool is_mask = false; + tree type; + switch (sc->args[i].arg_type) + { + case SIMD_CLONE_ARG_TYPE_MASK: + is_mask = true; + gcc_fallthrough (); + case SIMD_CLONE_ARG_TYPE_VECTOR: + case SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP: + case SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP: + type = sc->args[i].vector_type; + gcc_assert (VECTOR_TYPE_P (type)); + if (node->simdclone->vecsize_mangle == 's') + type = simd_clone_adjust_sve_vector_type (type, is_mask, + sc->simdlen); + else if (is_mask) + type = truth_type_for (type); + sc->args[i].vector_type = type; + break; + default: + continue; + } + } + if (node->simdclone->vecsize_mangle == 's') + { + tree ret_type = TREE_TYPE (t); + if (VECTOR_TYPE_P (ret_type)) + TREE_TYPE (t) + = simd_clone_adjust_sve_vector_type (ret_type, false, + node->simdclone->simdlen); + pop_function_decl (); + } } /* Implement TARGET_SIMD_CLONE_USABLE. */ @@ -29459,6 +29566,11 @@ aarch64_simd_clone_usable (struct cgraph_node *node, machine_mode vector_mode) if (!TARGET_SIMD || aarch64_sve_mode_p (vector_mode)) return -1; return 0; + case 's': + if (!TARGET_SVE + || !aarch64_sve_mode_p (vector_mode)) + return -1; + return 0; default: gcc_unreachable (); } diff --git a/gcc/omp-simd-clone.cc b/gcc/omp-simd-clone.cc index 864586207ee89269b5a2cf136487440212d59695..4be25539057251a318409e576e4bc43fc5fd4c40 100644 --- a/gcc/omp-simd-clone.cc +++ b/gcc/omp-simd-clone.cc @@ -541,9 +541,12 @@ simd_clone_mangle (struct cgraph_node *node, pp_string (&pp, "_ZGV"); pp_character (&pp, vecsize_mangle); pp_character (&pp, mask); - /* For now, simdlen is always constant, while variable simdlen pp 'n'. */ - unsigned int len = simdlen.to_constant (); - pp_decimal_int (&pp, (len)); + + unsigned HOST_WIDE_INT len; + if (simdlen.is_constant (&len)) + pp_decimal_int (&pp, (int) (len)); + else + pp_character (&pp, 'x'); for (n = 0; n < clone_info->nargs; ++n) { @@ -1533,8 +1536,8 @@ simd_clone_adjust (struct cgraph_node *node) below). */ loop = alloc_loop (); cfun->has_force_vectorize_loops = true; - /* For now, simlen is always constant. */ - loop->safelen = node->simdclone->simdlen.to_constant (); + /* We can assert that safelen is the 'minimum' simdlen. */ + loop->safelen = constant_lower_bound (node->simdclone->simdlen); loop->force_vectorize = true; loop->header = body_bb; } diff --git a/gcc/testsuite/g++.target/aarch64/vect-simd-clone-1.C b/gcc/testsuite/g++.target/aarch64/vect-simd-clone-1.C new file mode 100644 index 0000000000000000000000000000000000000000..952b56dd87cc80ea7efadc63960157baac6abd63 --- /dev/null +++ b/gcc/testsuite/g++.target/aarch64/vect-simd-clone-1.C @@ -0,0 +1,88 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-O3 -march=armv8-a" } */ + +/* Ensure correct creation of SVE Vector-length agnostic (VLA SVE) vector + function calls from scalar versions in accordance with the Vector Function + Application Binary Interface Specification for AArch64 (AAVPCS). + + We check for correctness in: + - Vector function name mangling, with the grammar: + + vector name := prefix "_" name + prefix := "_ZGV" isa mask + + Whereby: + - := "s" for SVE + - := "M" for Mask + - := "x" for VLA SVE + + resulting in: + := "_ZGVsMx" + + with each vector parameter contributing a "v" to the prefix. + + - Parameter and return value mapping: + - Unless marked with uniform or linear OpenMP clauses, parameters and + return values are expected to map to vectors. + - Where the lane-size of a parameter is less than the widest data size + for a given function, the resulting vector should be unpacked and + populated via use extending loads. + + - Finally, we also make sure we can correctly generate calls to the same + function, differing only in the target architecture (i.e. SVE vs SIMD), + ensuring that each call points to the correctly-mangled vector function + and employs the correct ABI. For example, for `fn' we may expect: + + for #pragma GCC target("+sve"): _ZGVsMxvv_fn + for #pragma GCC target("+simd): _ZGVnN4vv_fn */ + +#pragma GCC target ("+sve") +/* { dg-final { scan-assembler {\s+_ZGVsMxv__Z3fn0i\n} } } */ +extern int __attribute__ ((simd, const)) fn0 (int); +void test_fn0 (int *a, int *b, int n) +{ + for (int i = 0; i < n; ++i) + a[i] += fn0 (b[i]); +} + +/* { dg-final { scan-assembler {\s+_ZGVsMxvv__Z3fn1si\n} } } */ +extern int __attribute__ ((simd, const)) fn1 (short, int); +void test_fn1 (int *a, int *b, short *c, int n) +{ + for (int i = 0; i < n; ++i) + a[i] = fn1 (c[i], b[i]); +} + +/* { dg-final { scan-assembler {\s+_ZGVsMxvv__Z3fn2si\n} } } */ +extern short __attribute__ ((simd, const)) fn2 (short, int); +void test_fn2 (short *a, int *b, short *c, int n) +{ + for (int i = 0; i < n; ++i) + a[i] = fn2 (c[i], b[i]); +} + +/* { dg-final { scan-assembler {\s+_ZGVsMxvv__Z3fn3ic\n} } } */ +extern char __attribute__ ((simd, const)) fn3 (int, char); +void test_fn3 (int *a, int *b, char *c, int n) +{ + for (int i = 0; i < n; ++i) + a[i] = (int) (fn3 (b[i], c[i]) + c[i]); +} + +/* { dg-final { scan-assembler {\s+_ZGVsMxvv__Z3fn4is\n} } } */ +extern short __attribute__ ((simd, const)) fn4 (int, short); +void test_fn4 (int *a, int *b, short *c, int n) +{ + for (int i = 0; i < n; ++i) + a[i] = (int) (fn4 (b[i], c[i]) + c[i]); +} + +#pragma GCC reset_options +#pragma GCC target ("+simd") +/* { dg-final { scan-assembler {\s+_ZGVsMxvv__Z3fn4is\n} } } */ +extern short __attribute__ ((simd, const)) fn4 (int, short); +void test_fn5 (int *a, int *b, short *c, int n) +{ + for (int i = 0; i < n; ++i) + a[i] = (int) (fn4 (b[i], c[i]) + c[i]); +} diff --git a/gcc/testsuite/gcc.target/aarch64/declare-simd-2.c b/gcc/testsuite/gcc.target/aarch64/declare-simd-2.c index e2e80f0c663dcc182b8cc48b0453558e794f4085..2f4d3a866e55018b8ac8b483b8c33db862a57071 100644 --- a/gcc/testsuite/gcc.target/aarch64/declare-simd-2.c +++ b/gcc/testsuite/gcc.target/aarch64/declare-simd-2.c @@ -43,6 +43,7 @@ float f04 (double a) } /* { dg-final { scan-assembler {_ZGVnN2v_f04:} } } */ /* { dg-final { scan-assembler {_ZGVnM2v_f04:} } } */ +/* { dg-final { scan-assembler-not {_ZGVs[0-9a-z]*_f04:} } } */ #pragma omp declare simd uniform(a) linear (b) void f05 (short a, short *b, short c) diff --git a/gcc/testsuite/gcc.target/aarch64/vect-simd-clone-1.c b/gcc/testsuite/gcc.target/aarch64/vect-simd-clone-1.c new file mode 100644 index 0000000000000000000000000000000000000000..e2167648c8735df79973ac9fcbba0e966d61ee0a --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/vect-simd-clone-1.c @@ -0,0 +1,89 @@ +/* { dg-do compile } */ +/* { dg-options "-std=c99" } */ +/* { dg-additional-options "-O3 -march=armv8-a" } */ + +/* Ensure correct creation of SVE Vector-length agnostic (VLA SVE) vector + function calls from scalar versions in accordance with the Vector Function + Application Binary Interface Specification for AArch64 (AAVPCS). + + We check for correctness in: + - Vector function name mangling, with the grammar: + + vector name := prefix "_" name + prefix := "_ZGV" isa mask + + Whereby: + - := "s" for SVE + - := "M" for Mask + - := "x" for VLA SVE + + resulting in: + := "_ZGVsMx" + + with each vector parameter contributing a "v" to the prefix. + + - Parameter and return value mapping: + - Unless marked with uniform or linear OpenMP clauses, parameters and + return values are expected to map to vectors. + - Where the lane-size of a parameter is less than the widest data size + for a given function, the resulting vector should be unpacked and + populated via use extending loads. + + - Finally, we also make sure we can correctly generate calls to the same + function, differing only in the target architecture (i.e. SVE vs SIMD), + ensuring that each call points to the correctly-mangled vector function + and employs the correct ABI. For example, for `fn' we may expect: + + for #pragma GCC target("+sve"): _ZGVsMxvv_fn + for #pragma GCC target("+simd): _ZGVnN4vv_fn */ + +#pragma GCC target ("+sve") +/* { dg-final { scan-assembler {\s+_ZGVsMxv_fn0\n} } } */ +extern int __attribute__ ((simd, const)) fn0 (int); +void test_fn0 (int *a, int *b, int n) +{ + for (int i = 0; i < n; ++i) + a[i] += fn0 (b[i]); +} + +/* { dg-final { scan-assembler {\s+_ZGVsMxvv_fn1\n} } } */ +extern int __attribute__ ((simd, const)) fn1 (short, int); +void test_fn1 (int *a, int *b, short *c, int n) +{ + for (int i = 0; i < n; ++i) + a[i] = fn1 (c[i], b[i]); +} + +/* { dg-final { scan-assembler {\s+_ZGVsMxvv_fn2\n} } } */ +extern short __attribute__ ((simd, const)) fn2 (short, int); +void test_fn2 (short *a, int *b, short *c, int n) +{ + for (int i = 0; i < n; ++i) + a[i] = fn2 (c[i], b[i]); +} + +/* { dg-final { scan-assembler {\s+_ZGVsMxvv_fn3\n} } } */ +extern char __attribute__ ((simd, const)) fn3 (int, char); +void test_fn3 (int *a, int *b, char *c, int n) +{ + for (int i = 0; i < n; ++i) + a[i] = (int) (fn3 (b[i], c[i]) + c[i]); +} + +/* { dg-final { scan-assembler {\s+_ZGVsMxvv_fn4\n} } } */ +extern short __attribute__ ((simd, const)) fn4 (int, short); +void test_fn4 (int *a, int *b, short *c, int n) +{ + for (int i = 0; i < n; ++i) + a[i] = (int) (fn4 (b[i], c[i]) + c[i]); +} + +#pragma GCC reset_options +#pragma GCC target ("+simd") +/* { dg-final { scan-assembler {\s+_ZGVnN4vv_fn4\n} } } */ +extern short __attribute__ ((simd, const)) fn4 (int, short); +void test_fn5 (int *a, int *b, short *c, int n) +{ + for (int i = 0; i < n; ++i) + a[i] = (int) (fn4 (b[i], c[i]) + c[i]); +} From patchwork Wed Dec 4 12:16:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 102370 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BCBBB3858C48 for ; Wed, 4 Dec 2024 12:19:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BCBBB3858C48 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=OlPnqtyx; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=OlPnqtyx X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on20602.outbound.protection.outlook.com [IPv6:2a01:111:f403:2606::602]) by sourceware.org (Postfix) with ESMTPS id 1FA9A3858CDA; Wed, 4 Dec 2024 12:17:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1FA9A3858CDA 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 1FA9A3858CDA Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2606::602 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314635; cv=pass; b=CgLKezI6W/obScZKY8IC8h/HVeLp8zjYG4gNLINzRiPUyzuUAZ33zJx7OZ/YGKeEJpynvWu9u+/03kMuzNo1bKcPTT1V7u5AbinCsA33Ja2k2xTqqKE2perpg//d5edfKPdTdsJxBIGXHesZ0UmN2vrF+QNRcbdW7+x5VqHnSp4= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314635; c=relaxed/simple; bh=J00Nc+6tF1d1zqG/gFGufQWMmZIzDAlmXDpTn6rKpBQ=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=UlpgHIb4tV+5qswpkIe43y5DktThMJjjD6QdBwj8eFoU03eT3lrZPI13VqRimYnejTTSgmu/BKfBu985Jt2FKjnOxzm3Xp8VP1ksqLtjNf57yEeR/ESpSIEWdkAx24qhK6RmoNc+72cCR8W4peWp9/bs3xEizY2XFWIBBZn4ENs= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1FA9A3858CDA ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=DEyzu86wkz5f0AK8ePRggz/tWrZEH0pm7tGK2EOE13kcDqm8mTq1kjYuZCn28q206K86ATEg5HjR6K0OWTPuRwjvBgfgc3ZHUUpR4JpXpbKtcXMxsydF/kqUJN44R+1/nOCL5a4Krl+Jgih577DxioZHAe/xsefX4hYeaDtCqyqRXeaYTqVrLSzZa0dFUBWy02CSPzR69AA8B4T6bf5k5B274zjI5sAn4hGbONVS5Ih+pAD8Thr1ZRWsuziwnVFpkFUr9GJgpzX8F84jSz8csa9ENR433+I6QjEZmVxn0/B792Jz+3cxl1idOE80iVgD0vRjMBxBseIGFsyq7lTTxw== 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=LaeEdA6UgloenlSP8vzQvZUbZEu55RlCa9j8c/8M5Z4=; b=atUCU9VG06MRPTI7hLBce5uWP2/HWfzXuR6H0I9lov+qranv8WPMmneNUiZUCek/DeDGGdqLs25Khn5XjPgpgKn6QSVZDEzTU5W2bzXV6lzuEYLUNQYkEXzTHVhz3rFFcN1lcIcKeMOeaM2/SXiNnX3Pm+4GYzd4FDmiuX1KAcBCjIDTjg4KzMpa5KBpdCgp2gXkyUzpwFBTPQVWKaPhloUvUGE/UG0OwEz0ehqAO0S5jGA3Mdrj8EnyJDgGjJrWKf2wWD8KnVj5kQ+BUtSNOCITa6XEJM5AGLIpC3qbhVPHfbHxtnU1vQIdQm0xJUupnJHhArOW/lOm+es9Y+rAzQ== 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] dkim=[1,1,header.d=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=LaeEdA6UgloenlSP8vzQvZUbZEu55RlCa9j8c/8M5Z4=; b=OlPnqtyxgmIcHxA1oZjgU7KNupkDv2R67DTtyK5iYnR7vLL2FB7UPk85Ao1uUosysKWDJIwBKdWikPHzL17HbEQTfTnIV1CQXrf5B1aGlLq7dRqD5rxuRERDr5UMYcUhVnaO9UTVOtRIYQjcMR3kXZo84ZVruNkyD8EkPkwj+IQ= Received: from DB8PR06CA0053.eurprd06.prod.outlook.com (2603:10a6:10:120::27) by AS8PR08MB7944.eurprd08.prod.outlook.com (2603:10a6:20b:541::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.19; Wed, 4 Dec 2024 12:17:11 +0000 Received: from DB5PEPF00014B9E.eurprd02.prod.outlook.com (2603:10a6:10:120:cafe::a2) by DB8PR06CA0053.outlook.office365.com (2603:10a6:10:120::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8230.9 via Frontend Transport; Wed, 4 Dec 2024 12:17:11 +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 DB5PEPF00014B9E.mail.protection.outlook.com (10.167.8.171) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8230.7 via Frontend Transport; Wed, 4 Dec 2024 12:17:10 +0000 Received: ("Tessian outbound 6f08927dda96:v522"); Wed, 04 Dec 2024 12:17:09 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 739ebbe177e9588e X-TessianGatewayMetadata: aLBxNHTjeSe98ZXOZvATIRJHMKPKUXB+xFkjHO90oUgZKoBJvps31RF3LnJooY3WFXqwKqoOYxAu+gwfA3aTd+RFj698qlDyS9jL3/QUni0nfn/WT1ECbDYJf8/f0ZgySUBNhaYCQIKdFzkSV783Qw== X-CR-MTA-TID: 64aa7808 Received: from Le9f1a2e564c4.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id BF13C772-075D-4E5C-AD4F-3C77177D698A.1; Wed, 04 Dec 2024 12:16:58 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Le9f1a2e564c4.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 04 Dec 2024 12:16:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AI4ohPdobKHujjzfDkw2GxcWsEn78r4WD2n1l72La1ELw2KaifN58H8+7svtilBnieZDwJvm+37JzIlan/cqdZulWsdGM0odCYcPBAGlfZ5/gtld+1bfIqwYAmVc716Oh+LjKr7ZtqnJISiQ0JNDfqq9E60eZ42W52mTfan1FCBnk7ljLhloh1sbSh8kl+wpsZnlDaKSgb0XLmTsKzkfT5vINTKDxTLQPZT0avggr5LQB7glKnqHyXUVM0JA7uj91tNYgj60GYxlNx3U0Nko6Q7OghMJ/0Ux/oZw+JUwVw6tJVLvAvysawzKUiqaFbGNdUdOEiy1Co9bJZodFvSGHQ== 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=LaeEdA6UgloenlSP8vzQvZUbZEu55RlCa9j8c/8M5Z4=; b=LLi50oOaE2LKR1BQEFwkupr3uBR1EbIkLM2sGtRFrOZbgZ7p250IEdjxuqejwwS6xKo8KXv/Ff8+qujYULRRNcyNpvEU169wwO2EzqaRd+fs3UeM2NsI38mhu0Bixtl1z5D+rDs27GceR9BpRCPQHnIFL/smTHN1kUTb864ADCYg96GLB8uz1ya4T6OFlvd/f2cwuY7XDuIarvwMZzH4eFONFY9m5s7+mUvOtOtLKSFTxU3TGW8T1BUvLEf3SNHCBSs7chcdbZilfGIbq2TWQ1z1K6DQK3yo0aKeu57ZYbLpUGCc1glER4HLKQizGX8gjQvi2/kGECv99rHlyotq3g== 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 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=LaeEdA6UgloenlSP8vzQvZUbZEu55RlCa9j8c/8M5Z4=; b=OlPnqtyxgmIcHxA1oZjgU7KNupkDv2R67DTtyK5iYnR7vLL2FB7UPk85Ao1uUosysKWDJIwBKdWikPHzL17HbEQTfTnIV1CQXrf5B1aGlLq7dRqD5rxuRERDr5UMYcUhVnaO9UTVOtRIYQjcMR3kXZo84ZVruNkyD8EkPkwj+IQ= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by AS8PR08MB6390.eurprd08.prod.outlook.com (2603:10a6:20b:31b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8230.11; Wed, 4 Dec 2024 12:16:56 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69%2]) with mapi id 15.20.8207.017; Wed, 4 Dec 2024 12:16:56 +0000 Date: Wed, 4 Dec 2024 12:16:54 +0000 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, Richard.Earnshaw@arm.com, ktkachov@gcc.gnu.org, richard.sandiford@arm.com Subject: [PATCH 3/7]AArch64: Disable `omp declare variant' tests for aarch64 [PR96342] Message-ID: Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO4P123CA0467.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1aa::22) To VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB5325:EE_|AS8PR08MB6390:EE_|DB5PEPF00014B9E:EE_|AS8PR08MB7944:EE_ X-MS-Office365-Filtering-Correlation-Id: f70512c3-9a39-4eb1-5a62-08dd145d93e1 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info-Original: K7l4H6LI99XGfR6h4cB5TARUFXlkFvE7S2T0FweMxiBIbUJPS+a/ChoJfk8VDakYli3QY8iAo/Q4ese9jYh1TGECKKrjBboWIVwNuBgi45yn2Zh5yefwU3Rn5dsKfQKuq0ynyzUDNR6XC0V4xi0B6FzeDF/y4ojvlUts/w+/sHsXpLkilZB123WJO45jn7x8gP+T0UQmFLle9JwaUsRpEEbjosYvXCC9p7NxsUhg9KP5/wRZViYjsqTIUnzEahGe5/sohEHY+4Dqr2mb55V3q0TknMv0E6l73psatV0qCYCgw172Nzn2LohgfRwgqeb6RKqohsowUmqZCd40nWGEMbShHT59GURs3Ff14RHGssbTEwz6Q8nM2pE4U+1RZcrZkp+bdHeX1dLRkQ2pr1hrlo0YOqmrSRKQyuFwtMUf80hHVe2PUCiWS3ik+H1jX2PdZruiZQCtoJCelW+IOv/y4j/R2BZhKy5RQePCGjoy7uLg8kNQIBiafxtKdW2WPWINEOZr9etlZfnanZ8Hrc+YcHZo8KpQgGx/bEEu7BYf7rkXHQm6UsPmmcR+vmZGoxXowJqyGiHbW2EppAsGV9h9Zu26LBBlSNKwus/BVul9ZXyWpcUlbRvrSsz0ht/KWBRdVUn5tlPyBiUMRgNArzPcJSss3cSNvzzmRADSyJJzH903/13w5eJ1rC25CvivgBI2QchKacdmXfC0QtVJ3r8TIBglWT1ZA06JnP7sAssB6xjnkmOj/6Re6c5CuFjfKs6FAnUlOgiscEN2vxpxc6D14WxyVQTk2EvOVkxJKVVpP+JEilvY8/1Qd8m7LTpat5kz7T5Q03pLAwPuGAK1ec1DBPKIlSb42QGbAZfUhb4rM2hIeI6tzmR1Zh7RqwMo+OTEL06SPyNaF7VKpyIMved1FF4hKFulzCwjXW8jfrTwNrmVrR5QvhJZvYMQQcGamzavQT8b/SAyC7gOo/DQx6TuCKiN0bwlBOHAY9AHU+VqWssW75OTT2zJuhbuUvSK5eE4FqCciXsEoZ2L86oS5JmutSDoFXpnoEcTn+HHbia3iXgxi39JbWQc/FP8NAAXByScA+aHJdkaoXMyzdduNryN9SELM+Lu0bT3Wwqu5d3JvyA+brs2qZyLwlJwHVZ/3za7GSt98Y46WvG74DEUf9pmF0caNid9YvoB+b6sSH0lCQG8ooFwAqF+8dUSbGpaKYHvioMr9RypLI72y6a7CwsKbohOnBbNlmKE18i/6dLk26wwuL4MrOlFa/geWCjJgL117V682Fce/5W2SiCqmgaxjKI+OV2m4F7eOGWGr0PkrVY= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6390 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:803:13e::17]; domain=VI1PR08MB5325.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B9E.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 02012534-2cf4-4a13-4e35-08dd145d8b82 X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|376014|36860700013|1800799024|14060799003|82310400026; X-Microsoft-Antispam-Message-Info: =?utf-8?q?YUYsEZzBctIzP6HNqLLb2xndY0K6pbL?= =?utf-8?q?g7GQgyqAmAxEBKeQpoUjLNRAB7sMoxfyaiA2p/I06y4LoJR5Xq7wyqgbJo66hmPH+?= =?utf-8?q?UEa5U55MxqDUOXAg7pitKL9kLxGpPYXrWJmrD/RDwQJw9z7ldbMDXn1f2E+3vy2/2?= =?utf-8?q?FdWCm+64bwwZhXBcC7AbipGJ/6uzRVFGhNE2dZ6BEBjZXofh/3X4MrRhr9oT5DCy2?= =?utf-8?q?QmkXby5tb+vgPaikBE13g37qge8HJHwWp8p3X0fhOomVh8NxNsgz0XDxRoBHfGDvp?= =?utf-8?q?ywzN0T8SVnWYNATk5FbXDZAIDOR8wOd9FfaHza4YePSJGHJSuovuaVQTHGamZHxV8?= =?utf-8?q?ksGtnbJlmlRhKl2K4ndWunw9OXVNgIpuo0F5XFIbMCxCk6asLYxTnJ/7gcoS/t+fk?= =?utf-8?q?e6vAjl2AMv/RR8RLs+4AP4ZF6/M+ifXPBypxvGZGyPKiLnhFzyOXNH9YVOfr/ic0z?= =?utf-8?q?+GNjB7wOs6DALBHH+esKfdw3tZS3pRaLD+KRdqF1KroHfqtsGAg4P7RQNlkrujBqP?= =?utf-8?q?LvBksoo2QHQiEpzs44xVGuxzPEr6k9h22csnpCjYM0wftO/gnDXmcEySaNvz0CZ/L?= =?utf-8?q?xrMBPlxhh27oZ+v+cD2snE2PGi+Szyp7Ej2+BJMeZ3+mmNxHF9zPvbI+iCc+p+KNy?= =?utf-8?q?OeX8738PjyMfwgjHQeV8bXV9L8Uzy8yBMKmNIAwVqmr0UvUGcNYaRHvXY2NyXkQrg?= =?utf-8?q?KRv+1BCechBH/y1VrGmirlrY8RoimBZsbE+9dR0ZZYbd9b0OsoHn/IAlIBJ0VtjE3?= =?utf-8?q?xr1qx19w4Zajiyg4J4KqWHASgAWivnpnMay8X7FalSoG64DZFx935p5M8ZnItKmQu?= =?utf-8?q?8FzfFMWkY/W+u9pbTaRA4qhuYsddfDD+6v/wgkqsWL+GpHLWeiJm9UjWjqpEHFKru?= =?utf-8?q?/rEp6f1gaQFhS/2Qu4aKIKLpfcehm+9B6qUUHWrNeu6F1KhQiVGMxbfCdaSqRUNHU?= =?utf-8?q?flk29FnwRWbR2PdLtjjZ80Ifv9t4Lk8OaUnN0Gse/jB6N5TIrZpNYMTg4ADJ5sHhw?= =?utf-8?q?FQniMMAOTm/DlkJcivHyqmgrgLaEP1Eoc+8pbHXO2HgMTe+iUmc0U6X7eQYvz9r45?= =?utf-8?q?GdI6hHpv/YbOYf8+in1npGpJG5Zs/usPI2iR6cVIk1S/eVMv1zdNzNOQAwM5TLzWX?= =?utf-8?q?8OxCLENOmU6jZFF3LoHZ0odLRVqfSFkfp0HiOni88RQmwyngn0eg4CveSl/UBNZpO?= =?utf-8?q?ZrrSVBqjDafm9QAS3Lz3dmZqSxa6H70PxxSCZHBbhJmOCUjX9CFKQVCQbxCoDz/wF?= =?utf-8?q?+CYFIs7FgVf6mIzvhasbeUIyCUpSgzrMmoeJlHS5OFj/qS3seo0O9Cr/KVlqrI80f?= =?utf-8?q?DYjvEQouexc4eMRsB9y3yeiwxlA6KYFDPQ=3D=3D?= 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:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(35042699022)(376014)(36860700013)(1800799024)(14060799003)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Dec 2024 12:17:10.1230 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f70512c3-9a39-4eb1-5a62-08dd145d93e1 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: DB5PEPF00014B9E.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7944 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, KAM_LOTSOFHASH, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY, URIBL_BLOCKED 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~patchwork=sourceware.org@gcc.gnu.org Hi All, These tests are x86 specific and shouldn't be run for aarch64. gcc/testsuite/ChangeLog: PR target/96342 * c-c++-common/gomp/declare-variant-14.c: Make i?86 and x86_64 target only test. * gfortran.dg/gomp/declare-variant-14.f90: Likewise. Bootstrapped Regtested on aarch64-none-linux-gnu, arm-none-linux-gnueabihf, x86_64-pc-linux-gnu -m32, -m64 and no issues. Ok for master? Thanks, Tamar --- -- diff --git a/gcc/testsuite/c-c++-common/gomp/declare-variant-14.c b/gcc/testsuite/c-c++-common/gomp/declare-variant-14.c index e3668893afe33a58c029cddd433d9bf43cce2bfa..2b71869787e819dc7bb8ca8f9512792ac2877515 100644 --- a/gcc/testsuite/c-c++-common/gomp/declare-variant-14.c +++ b/gcc/testsuite/c-c++-common/gomp/declare-variant-14.c @@ -1,6 +1,6 @@ -/* { dg-do compile { target vect_simd_clones } } */ +/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && vect_simd_clones } } } */ /* { dg-additional-options "-fdump-tree-gimple -fdump-tree-optimized" } */ -/* { dg-additional-options "-mno-sse3" { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-additional-options "-mno-sse3" } */ int f01 (int); int f02 (int); @@ -15,15 +15,13 @@ int test1 (int x) { /* At gimplification time, we can't decide yet which function to call. */ - /* { dg-final { scan-tree-dump-times "f04 \\\(x" 2 "gimple" { target { !aarch64*-*-* } } } } */ + /* { dg-final { scan-tree-dump-times "f04 \\\(x" 2 "gimple" } } */ /* After simd clones are created, the original non-clone test1 shall call f03 (score 6), the sse2/avx/avx2 clones too, but avx512f clones shall call f01 with score 8. */ /* { dg-final { scan-tree-dump-not "f04 \\\(x" "optimized" } } */ - /* { dg-final { scan-tree-dump-times "f03 \\\(x" 14 "optimized" { target { !aarch64*-*-* } } } } */ - /* { dg-final { scan-tree-dump-times "f03 \\\(x" 10 "optimized" { target { aarch64*-*-* } } } } */ - /* { dg-final { scan-tree-dump-times "f01 \\\(x" 4 "optimized" { target { !aarch64*-*-* } } } } */ - /* { dg-final { scan-tree-dump-times "f01 \\\(x" 0 "optimized" { target { aarch64*-*-* } } } } */ + /* { dg-final { scan-tree-dump-times "f03 \\\(x" 14 "optimized" } } */ + /* { dg-final { scan-tree-dump-times "f01 \\\(x" 4 "optimized" } } */ int a = f04 (x); int b = f04 (x); return a + b; diff --git a/gcc/testsuite/gfortran.dg/gomp/declare-variant-14.f90 b/gcc/testsuite/gfortran.dg/gomp/declare-variant-14.f90 index 6319df0558f37b95f1b2eb17374bdb4ecbc33295..8db341fd15306a5deeae146808d7ef55aa713bb1 100644 --- a/gcc/testsuite/gfortran.dg/gomp/declare-variant-14.f90 +++ b/gcc/testsuite/gfortran.dg/gomp/declare-variant-14.f90 @@ -1,6 +1,6 @@ -! { dg-do compile { target vect_simd_clones } } +! { dg-do compile { target { { i?86-*-* x86_64-*-* } && vect_simd_clones } } } */ ! { dg-additional-options "-O0 -fdump-tree-gimple -fdump-tree-optimized" } -! { dg-additional-options "-mno-sse3" { target { i?86-*-* x86_64-*-* } } } +! { dg-additional-options "-mno-sse3" } module main implicit none @@ -40,10 +40,8 @@ contains ! call f03 (score 6), the sse2/avx/avx2 clones too, but avx512f clones ! shall call f01 with score 8. ! { dg-final { scan-tree-dump-not "f04 \\\(x" "optimized" } } - ! { dg-final { scan-tree-dump-times "f03 \\\(x" 14 "optimized" { target { !aarch64*-*-* } } } } - ! { dg-final { scan-tree-dump-times "f03 \\\(x" 6 "optimized" { target { aarch64*-*-* } } } } - ! { dg-final { scan-tree-dump-times "f01 \\\(x" 4 "optimized" { target { !aarch64*-*-* } } } } - ! { dg-final { scan-tree-dump-times "f01 \\\(x" 0 "optimized" { target { aarch64*-*-* } } } } + ! { dg-final { scan-tree-dump-times "f03 \\\(x" 14 "optimized" } } + ! { dg-final { scan-tree-dump-times "f01 \\\(x" 4 "optimized" } } a = f04 (x) b = f04 (x) test1 = a + b From patchwork Wed Dec 4 12:17:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 102374 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 98FCE3858D38 for ; Wed, 4 Dec 2024 12:23:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 98FCE3858D38 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=RhZf1ry9; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=RhZf1ry9 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-am6eur05on20614.outbound.protection.outlook.com [IPv6:2a01:111:f403:2612::614]) by sourceware.org (Postfix) with ESMTPS id 8461B3858C2B for ; Wed, 4 Dec 2024 12:17:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8461B3858C2B 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 8461B3858C2B Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2612::614 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314647; cv=pass; b=oeH7yreY9/nqvUeT1/J+KxjaUAZrvpKWhYgtI6In8JviiM5JCda9mT7zuUW3F49chkzW4yhS8TiHBRQAQcLb8GY6DH3WFwm6ylbK3I99W0sw8Vh6ZsCl2JxE0AFWJt2xSvlUDujJIBiiZgf8m+ggaTwC7BcJDbA1XUZTes9XAk4= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314647; c=relaxed/simple; bh=XC30Mr5GEkMzuhrJ72xqgQd9+bZDEnNGmNje7jUwmIM=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=LxFCZrgglayyy6LIeDQ8ZBCSdn9CtLZKjcou52Z7F+cWg8FWw8YrF71mJD6Fh+m346Ydt/wlKPbqB8KdymWcXsK3dkX21HIq5+bKELq2MmPhp48/+ShxQMcT1oqYxqpyC5HA4+s8N/MBfNDbh2z/e3FaNfuJ5/ao8JPecQQ4FOY= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8461B3858C2B ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=ueMcvDUQposQy3CWaAQXvo6ENE8gSoaanO+UhbwbcstB5lz9sh9xYPwIqIrWAeSJQ3htbpOQZBXe9O7ssm6vo7y1rkoqDQdAsddyqd3H6P9SKPkKKVJx+R5Htiaf8bhAkJBn3YwRZUQtOln4Cnxj6J+15qM1vc7st374AZqwmjIsKB06euIAHadTk23JS4b2JiWcIqZ7rSL4uAsm5uKUi9BzqONPlvyJnHQuZWGTq9JQ3tcNLCrxLZOl8bMt8Xiy510ArC/yOJn0cAx+C5wCftk/rPFeyMque6raceb+jZdTM9KqoUl36jP964i8RflwpHsXYh/VieO81H43CdW7Xg== 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=WRe6nMzCxEVpcNKlS/MSfBOC4PMTC7gci1+qC53BPrA=; b=JTN/23MTmLj1Stibmuyy3FDUUjVWYHO37pVuytyEZGAaztfVK7YXS9F+Ujh5TJ95DlArmBe3Pvx3a42uDmpOM/cykVRjzjXGudpKBc0KhTjPC0ZPS8qggIQQ7Vl+RaRreTyD+UFRaSP4+0YoH8ALMOkaaQTP+VNwBOjcxEldsqbhYWRz4ksWCzOIfhe+f2o+KmTPtTaKX3DJhbCrrB10s5ULSpRlEvp8y2VeCNCXsHR1xdbJYEiQ7JNaOqoGoOl+E2o3vwjWEWTRqJhG8XZ1u0wFhXwfmc9xLSL0qwbRtcsFTPD+CLmZNPgNhf391GyqAzfI8ARMjiKPlWV2duQEqA== 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] dkim=[1,1,header.d=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=WRe6nMzCxEVpcNKlS/MSfBOC4PMTC7gci1+qC53BPrA=; b=RhZf1ry9QtZynb0p3ce3YwjqhZnEj+fNfD8baJwRMjNSCh/8cYcshA0wZpXdxHRhmv3JqHJcS6t+5kC7B10PAdsyPlkW2/7PB45Nrs9qni/WLHGiI43MPioluS3ejUSL7ezsVIoatHO1bdL95b0CotRQOegCoFQ3Uxa/6e0+ZgQ= Received: from AM0PR06CA0118.eurprd06.prod.outlook.com (2603:10a6:208:ab::23) by PR3PR08MB5689.eurprd08.prod.outlook.com (2603:10a6:102:90::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.19; Wed, 4 Dec 2024 12:17:21 +0000 Received: from AM3PEPF00009B9C.eurprd04.prod.outlook.com (2603:10a6:208:ab:cafe::a3) by AM0PR06CA0118.outlook.office365.com (2603:10a6:208:ab::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.18 via Frontend Transport; Wed, 4 Dec 2024 12:17:21 +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 AM3PEPF00009B9C.mail.protection.outlook.com (10.167.16.21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8230.7 via Frontend Transport; Wed, 4 Dec 2024 12:17:21 +0000 Received: ("Tessian outbound 6f08927dda96:v522"); Wed, 04 Dec 2024 12:17:21 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: b9cdbeb8ae6d161b X-TessianGatewayMetadata: VLPUn9fV0EwRWpFadtU/yGqLllVim63vGgjbHhZbJpDPyJZ3g1lso6gr86YyT9Zcn6xP8JiolbPH3H2i1TJtzgiOTidpBzj76J8mImDtd4dSnrl37g2j8ObC+CTBpzDts7HNfZ649AJK4sShPa19Ow== X-CR-MTA-TID: 64aa7808 Received: from La01b6f28ab25.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 3A447729-B8D4-4295-AD70-DDBE55B5DCA3.1; Wed, 04 Dec 2024 12:17:14 +0000 Received: from EUR02-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id La01b6f28ab25.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 04 Dec 2024 12:17:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iPrWJdh9LpkVDFY7OuZA37jOKU1JHTRDsp6kYuyC9JmpX/y8nMApX9/1ziClPs8zLFSwVJ7+uVpuZeUz4yLhuOlYgRfNLedQlLbmGoO5c/FsEDJXNRpHV+24HnapKug5lCsG84g/+fyEFeIr1an56Ry4kO11UkURUkyvAcYql2+UB72WLnCU+PszUE4cHEjFyefE9ve0dXQx2Ra/ddYJLAVfpYQ3zuQ/nLTszZ3QflUEF4LgjVdXQuv/ods382dVYxdpkAXEdz3VHN43CQ4JpAfPrOje9Sp7JT19+zrxXbeAVP1NhcpISUSE6IovYMamhsiMgqmaLuidLwLiO/JKFg== 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=WRe6nMzCxEVpcNKlS/MSfBOC4PMTC7gci1+qC53BPrA=; b=ROdh6l98Dvnr7W4qndfAFhvwFL5X3WowAZw1royR/l/DptbQNdI9/LZtdFvjAAEjRPNIWVV9nr8p31o33AVpRodr9w5d6m8EWRlYAn4j0kJT+yD0uUcWaf6uX3hp8nYYy83HHgXrE+7dKBGvn2So7njYts59VCh28Hc2Zi8iaz29PW2SjExZ4sbTIVnuRzxn0EIhMWJHo6+inpjA7LELS2x2w2NcSO+P/RPlK4yl96tSRsq6ccLoz+mfWADmQtfxLVtIE9GEDh4kZtW9Wzsjwj5a4r3D2F2NMo7/x+01DGwv4JvWcPZ1s0FNFL/7PmN1ZDAhK0HwnExX87C9D6v/iA== 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 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=WRe6nMzCxEVpcNKlS/MSfBOC4PMTC7gci1+qC53BPrA=; b=RhZf1ry9QtZynb0p3ce3YwjqhZnEj+fNfD8baJwRMjNSCh/8cYcshA0wZpXdxHRhmv3JqHJcS6t+5kC7B10PAdsyPlkW2/7PB45Nrs9qni/WLHGiI43MPioluS3ejUSL7ezsVIoatHO1bdL95b0CotRQOegCoFQ3Uxa/6e0+ZgQ= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by AS8PR08MB6390.eurprd08.prod.outlook.com (2603:10a6:20b:31b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8230.11; Wed, 4 Dec 2024 12:17:12 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69%2]) with mapi id 15.20.8207.017; Wed, 4 Dec 2024 12:17:12 +0000 Date: Wed, 4 Dec 2024 12:17:09 +0000 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, rguenther@suse.de Subject: [PATCH 4/7]middle-end: Fix mask length arg in call to vect_get_loop_mask [PR96342] Message-ID: Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO3P123CA0011.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:ba::16) To VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB5325:EE_|AS8PR08MB6390:EE_|AM3PEPF00009B9C:EE_|PR3PR08MB5689:EE_ X-MS-Office365-Filtering-Correlation-Id: 48d8f4d4-1771-4b28-2903-08dd145d9a76 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info-Original: /lACgR2UEGQCNdLODl/yxHmWVjrw7+ilv4avpaq+8GBWhdFoLb3GX2PgO3D14VIrh6Z2+TbLF/JNNDtqd5O2WVWR9Rrm4jdX1aK/xMPmGdl0+XtsVrVDb715jvyPJkvTLdIGPI0MpmYpXty+ExYxUQkKEWW1KsBeeEFZJQkiwwilXPDAWPqRBUtJbTqHk6+dviF9C+xqFJ1DqFtd79JZ46IHxBzL7Rnhb5g61I5kVtjj5veEHEqy7fTmTna9Tdtw/TMWFfijYmKdFdEogUwRSLJueF7shwXLsERVl2l1sgrICWmi2y+21DhgtSkKFkuD2gBFJaqipc3EckAA5twjcz3bigZdCfaT6lKkZsSMAw+6eWjXkcK/PUCiwb49JZVlc4BIAA+WCyrcEe3/3g25MExw0JcIdnbhU3ltmGTJkZrRh967TaWGxkpd+O9Th8KGuHmeoooAILJ3dcrS0KBOAwH0j88Z1seyi/Z8Yfx7RG9iT4JgFzSimp5HZxh/aHd6xYyDJUX3788onQhmd40cdJsgCt8vLW0SGP1p7FlFRlEFFWrfsW5NOAD4mWWld608LyWsL6D3uv+dV74AYhhr/dp7kWufxdwlF1hbXvzn5WLPmdrgnhlKw7RcFA+r/NiTX5g9W+6z1GUpxDBNwrXnS0xF4/IVQVxCXJMWq/OLl25QLLcY7AVH6L+dZEoNbXAr5UsaAUDoT4NG0k5HGcEkRTlJJCy2DZ/rMvIb9PCjQmOQbzrnTpl/gGcSzIKWlb6pvIQx7eC4uVz3mss1Vxr0QBM65nxK/n9GzIHemNBsaETm5IrHeBoFFQ3KcBIUy1gtYcQ1xrT6j+QmIbiUReVqiWQ5bdgkOI5mh+Q0p1D8U0DlptRSd3LzHmzpiicwexzTIvsteHlR7VmIWlDjH4uhjvtT/XQ5/Vv/QB6ek14Cr1cHnMpfhi//P5Fq/woDaUnBHsp73y0ARhXdnzkUaPMTEaoVM36ZrsiltJyZJWh4yvsw28OeA5rX2p6GDZCiz6tGnBdxUs2aNC71V7zRCfxI7I101keIBSNTeL0wH57tBrnw7BxHYwLTcVbeo7PsXh7ZyZwRjzLc1vqHcspy2yZgMlsrt9xrxqwBmu1TvW/aCgXiAvJAZE1vkWNLihHzCvCy1Fl98DdJcXHleuC+fnnMUCeyHvhrc5OYn8JvXrcSSPahSb4y8z97Fyym61w/auf9/pmFxdUd1e3uo8jSIxC97UvY4orm8SfDiFCswVAETeQ96I+cbVw0PJ20UgUlRYBqFcsO0vmp2kecjzBPixT6nNu/BQ2HdZuD4wzeBcsguWne0hnLOwzTboBJ/0JoxYRIDZHZkEqOwEkW5YSaqzvQgQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6390 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:803:13e::17]; domain=VI1PR08MB5325.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF00009B9C.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: c9fee7e0-6bfb-4ef8-32ce-08dd145d94bb X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|14060799003|376014|1800799024|82310400026|36860700013; X-Microsoft-Antispam-Message-Info: =?utf-8?q?YENRIBmXd3ptVVtG6F5P4OSqAHrmari?= =?utf-8?q?ZhzAjGCboA7TRpRnKTbjJgkxrM9IMbYUN/88MwhF20eLTssj9d0BeIwrDFmMJOkDQ?= =?utf-8?q?OwTce5xANGQyggUlm1kaJYCP8OJo7zKRdgs3bcULtbygmM2S0izacvfY3fXDkAMx7?= =?utf-8?q?lvxhl98KsWkQTRYPtovsqRUdB6RTmtqAA//MZd2b2+cufMT27C7tKJQ9YgTXkpAUR?= =?utf-8?q?WHRr/9R63Lh9kb4P2wAUVJOqjg9c8IHwoPVuzwBYPGaLZPLOyZFOfhHYw+NEstLhr?= =?utf-8?q?a5em8KtmSeM7qWu2ftfEzhbtrhP121Mto6PSyv02zmlLHZE6vPDF7u180vxdbYeNB?= =?utf-8?q?BSlxTgRic+3TLdNzfKyWrttD4/nY24EsScRFTa9p22x3fahgUaQAwXYhSH66Galbh?= =?utf-8?q?cJm2HdXs5fuxvqq994DwHOMEzyB+iEkwgqyzYOMgK8ucyJ8boV1U8NHLAcTXKIVSr?= =?utf-8?q?If5TvGJM9MxpQ6eSBahb7k0+BGavRNIH7BLA2DWMGfMi+VqnvapvLIVxf+Wgmo/sV?= =?utf-8?q?2XzXRuHi9zZedv5Y6n5F2Mbs+5E7Feozfh3/uzRMrFRAoUO/yCIiDEBEzaFQV7Bae?= =?utf-8?q?8JqleSixs7A96DHd3iYy9B+qsyWaRuDqMsrWNhDovf82gqwFbqemSCEpKAo/9iUja?= =?utf-8?q?OKGTtoIJP4q8h5Omg9z9rD12LgK2mwiGDQC0GBY/t3TNFnFvW4sekb7+/tAIio0LQ?= =?utf-8?q?9rnCpWjDESNU/H7nCaLm6DaupiyaYyDFXEHL9u9dafwA+w3AH7sJNSxnIKYU0FETe?= =?utf-8?q?llfeyIj1PSowEFi6yrkmyXTEt9XG3IzSBHFmfZcz123SDjC/qtS7XBxBZ5JXnMSz7?= =?utf-8?q?tvJ0rld7meSOyaw+gI1Nyp/9GvEmyrNxl7uBHnvC942LY5JqAwKplaQue77ufnz/D?= =?utf-8?q?NWE3uTj22DKJQUeGG012SiKWaGnArRQOI17Oqv+fWsCgYCRpj7J4NWVf7NOq3EKsu?= =?utf-8?q?E5wzHX0fmsD0X+cfC8qaLVLTrtaQK1DBV4flPPLuVxw0vEvAHjMgJw5HUYRXyUgdm?= =?utf-8?q?VHOUZudf/34wDuSuzfBeDcKDFZk+7prLFdgtFcsLhIZDj9D3EZg6ePx+CUr3NWDEq?= =?utf-8?q?B7ZjBfFBbzVIjsC6a7POpLIHDGt4wGmITSRDFrvpiabZrDXgJvmzxQvS0LbC1IHil?= =?utf-8?q?fbUx2ygKrdwc7mjQlOHXAoiUsYhziYU5DFEq2R2Y6uHRhyHyoVKo8MztLGuKd4TGD?= =?utf-8?q?+8TFBpjXHhP+/sVNn9YoBR392AjIecz4x7Ggq3qZM+nXFq/EgoH3qtegbsr+QrQgP?= =?utf-8?q?i4faOAFT0gb4Iq23joPCeXe9PqRmmEMydJYBEm9n1Lk4LrIMWv74F/i/Egal3acfa?= =?utf-8?q?1ZRXe8JZ9w0PMJbSePIhi0QXr9y8W9BygNZ0BUIzgrDIEf5+Eoswi7h5aEdl3Gk7t?= =?utf-8?q?FB/CHJ+3JM7?= 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:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(35042699022)(14060799003)(376014)(1800799024)(82310400026)(36860700013); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Dec 2024 12:17:21.1802 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 48d8f4d4-1771-4b28-2903-08dd145d9a76 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: AM3PEPF00009B9C.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5689 X-Spam-Status: No, score=-12.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, URIBL_BLOCKED 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~patchwork=sourceware.org@gcc.gnu.org Hi All, When issuing multiple calls to a simdclone in a vectorized loop, TYPE_VECTOR_SUBPARTS(vectype) gives the incorrect number when compared to the TYPE_VECTOR_SUBPARTS result we get from the mask type derived from the relevant `rgroup_controls' entry within `vect_get_loop_mask'. By passing `masktype' instead, we are able to get the correct number of vector subparts and thu eliminate the ICE in the call to `vect_get_loop_mask' when the data type for which we retrieve the mask is wider than the one used when defining the mask at mask registration time. gcc/ChangeLog: PR target/96342 * tree-vect-stmts.cc (vectorizable_simd_clone_call): s/vectype/masktype/ in call to vect_get_loop_mask. Bootstrapped Regtested on aarch64-none-linux-gnu, arm-none-linux-gnueabihf, x86_64-pc-linux-gnu -m32, -m64 and no issues. Ok for master? Thanks, Tamar --- -- diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index 497a31322accba8672b82dee00f5403b40dca22b..be1139a423c85608755f10750bb68e70223a84ea 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -4964,7 +4964,7 @@ vectorizable_simd_clone_call (vec_info *vinfo, stmt_vec_info stmt_info, { vec_loop_masks *loop_masks = &LOOP_VINFO_MASKS (loop_vinfo); mask = vect_get_loop_mask (loop_vinfo, gsi, loop_masks, - ncopies, vectype, j); + ncopies, masktype, j); } else mask = vect_build_all_ones_mask (vinfo, stmt_info, masktype); From patchwork Wed Dec 4 12:17:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 102373 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B4830385841F for ; Wed, 4 Dec 2024 12:21:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B4830385841F Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NHj/+fCx; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NHj/+fCx X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazlp170110001.outbound.protection.outlook.com [IPv6:2a01:111:f403:c200::1]) by sourceware.org (Postfix) with ESMTPS id ECCE23858D35 for ; Wed, 4 Dec 2024 12:18:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ECCE23858D35 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 ECCE23858D35 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c200::1 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314681; cv=pass; b=fDxpeifZVph/rwxMA/sroIl1WdwlJeBP9MtxqKRytZc6AmssUReEu0gV7JDbNrQx1Gk2SrJZKD0uCAGEUKRNWM1dFaVU+xiBuUKhlcmAJMnkxPg87n4y6WkHNfHYsVN5tdYjfYcV5zbX0ZcYMD/pEMAOYtwUfTL8suEKDk4+O2I= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314681; c=relaxed/simple; bh=ChA+/l2SxoTNhPwF2ch+yjaL9pz6URON288rTYBB7Rk=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=VirksejZu2RS+GwK9u9LNPo8g2Gpw9qiePvJP9N3M/IMJxABEAvIhwfEy3HJyU516d/v7hEvV/4s/zgeuLTKRV2oDDcwXmJeHWmmPJzhMH/FPrFmg6zXdTcqGtfXqupfToZfyzTG9GY3kHnb+qID4RBJPiuYQNucwx4SD0a5pqs= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ECCE23858D35 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=CjWI4mntVMtv2X2m1XTOJ1aD7/Kw/YhQFdkl51R5SeTYPnZx7lo0GhTWZGK6UKvb9DzWaGd1Me/ZAOmKczX3SQjFLVajKXwwR2U/xmChPpK7OM3cU8bayHWpW88BLmFoiiMtPcIFtmcVFc0yWd+KkkRFjFm02aS3l+niWFrsisHhjkWrcLIbdA1Ve+N2iRHXDHBMgQfbqxLmXCSdXuuK3TOaOOev+uR/xCDEyNBcpubJTuFJSPvRB6TOAP+VmBlb5BbHWeeLaPPaKyFraduShyqUaNZme0n19s8bmZe68/3dO25JTFj+oTHv+DdAZg40uSGswf7v45DuLEpjA5p1vA== 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=/9etiVZoRL/SzRzEkYcfQVIB0bwXw5fNLP44oKOck5A=; b=HL+LXupTq/SC43++hkk6ueoX3OEpixC4WQzgPzQBmMC2Yi24rngv7KDpDx/Xe0r8JbIuKBCUssHFrexpbSW+Tcsr5IR3Hmnf/+THmbQrjj0IinDOQUdz1qZiUpUb4vRJ3wFvWj6lBxf2tFZUkCzzSbVaimaP/0myDhiGpkoODeIaM764O8eVhHgDUF17zu4fp6+P6HmQlJrBspB+yTE/zrjt1LxyoZ7OekYYKkw90O6oc9J1PgTrWf80pC0OozApTorQetAljcejNn/nbZfTZxbSSJOUtiv4+mCAJNtArU9dJR3x/O1aJUQUgP/mFcVhoe5MsLAJ6DW94Nfmark0fQ== 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] dkim=[1,1,header.d=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=/9etiVZoRL/SzRzEkYcfQVIB0bwXw5fNLP44oKOck5A=; b=NHj/+fCxjK0atmaQkha7mTIrNwWlHrsYRd/R7w+qyGN6C5VpONOJdVroCjkmpMTyv+Oa0pvohJqzjC0kGPp4W7ePo/cKQD2xE/KUekHsctd3CJqoUIN4CFlP/40mo9LakPVxPle04yKmZZSOlHfJNxdqGXN1dTvewDL80ZMpG9Y= Received: from DUZPR01CA0085.eurprd01.prod.exchangelabs.com (2603:10a6:10:46a::17) by PAVPR08MB8918.eurprd08.prod.outlook.com (2603:10a6:102:323::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.19; Wed, 4 Dec 2024 12:17:54 +0000 Received: from DB5PEPF00014B9C.eurprd02.prod.outlook.com (2603:10a6:10:46a:cafe::1a) by DUZPR01CA0085.outlook.office365.com (2603:10a6:10:46a::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.19 via Frontend Transport; Wed, 4 Dec 2024 12:17:54 +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 DB5PEPF00014B9C.mail.protection.outlook.com (10.167.8.170) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8230.7 via Frontend Transport; Wed, 4 Dec 2024 12:17:53 +0000 Received: ("Tessian outbound fd6255904ce0:v522"); Wed, 04 Dec 2024 12:17:53 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 417aba79a06a3213 X-TessianGatewayMetadata: AXHCv+r87826a1HepQWKKw+rJ6VuQbMibIbLvd2K8U79gUOsA8h0XGZzl5HH8mMk6zPFoO2aWKvM+YGnZiJuODppO/7tkhsKT4izdEqjCBwQPpHgjOwW4ad5uj3vRuasVUl6p16GPTJEYF10R8Y1Qw== X-CR-MTA-TID: 64aa7808 Received: from L5956d5f65a6c.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id ABE710FE-A080-4D2E-95BE-2439DA951153.1; Wed, 04 Dec 2024 12:17:46 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id L5956d5f65a6c.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 04 Dec 2024 12:17:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EAiNet80oHiL4AK0k6ys6hzdk9ZhnPOIVDJjFd7lA8S6z8sonyPwDN+DC7pP0jLaMn6XSn/Q3CDOgn1GVArNamdKko7lcpTFF7lSo0yMb6Rk3q7AJXztlJLbeyZlrwl/qdx3HxoJ5T8rolm33nck9FPYgCyvU56ff9BnnZVciwYCYtCK+FVHY2cVugbLaXJGqFqhlyYY2kU0LcY3RFxMub3rGAehig62znWhlIJ2d58ESZLyhuS4GZnUm6IIpj2jNBbAr2lihQBQYvsbburS2uDRQxIL1M0O2ti250b2RFo26Q0jlM2HljHuRdtN3FQeKyWuRx6Mhc9VgLpSv/5tWQ== 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=/9etiVZoRL/SzRzEkYcfQVIB0bwXw5fNLP44oKOck5A=; b=kUVzj51Jw4eE32GhIfp4QKlpVAOcUWO/epiRc3O5uajbSwbqHhnjvbfCleTsgLKUTS9/+VGsT7Jin8Wni85MTsrC6AOkWxzPwvAUuUOV/kL5a9Z4EBe2w/QVkzdWl8UqgefoljtlpAyRvGiiBEwR6v6f97oQjHmU9iYUSoIcf4QHIPKt8TKmOuZbuapYm3ppaPullimDhdTor0CEdO/OW3eIiDo1LQVwSWxbyzGIruWmQdttPfIw8xAX0bkbMKvlpWaR4LRYCoX8Nl7sMZ/gNZXtn6pcXIybGIB+setOprF5v1uB4SVqGJTwYjQw+TOOWA2SQ8CABAjS+WauOZarhw== 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 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=/9etiVZoRL/SzRzEkYcfQVIB0bwXw5fNLP44oKOck5A=; b=NHj/+fCxjK0atmaQkha7mTIrNwWlHrsYRd/R7w+qyGN6C5VpONOJdVroCjkmpMTyv+Oa0pvohJqzjC0kGPp4W7ePo/cKQD2xE/KUekHsctd3CJqoUIN4CFlP/40mo9LakPVxPle04yKmZZSOlHfJNxdqGXN1dTvewDL80ZMpG9Y= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by AS8PR08MB6390.eurprd08.prod.outlook.com (2603:10a6:20b:31b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8230.11; Wed, 4 Dec 2024 12:17:44 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69%2]) with mapi id 15.20.8207.017; Wed, 4 Dec 2024 12:17:44 +0000 Date: Wed, 4 Dec 2024 12:17:42 +0000 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, rguenther@suse.de, richard.sandiford@arm.com Subject: [PATCH 5/7]middle-end: Add initial support for poly_int64 BIT_FIELD_REF in expand pass [PR96342] Message-ID: Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO2P265CA0186.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a::30) To VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB5325:EE_|AS8PR08MB6390:EE_|DB5PEPF00014B9C:EE_|PAVPR08MB8918:EE_ X-MS-Office365-Filtering-Correlation-Id: a41389fa-4b98-4471-26fe-08dd145dadb1 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info-Original: /7c1Jd8ucP8An1VB9QJ+dvkuCeV/59gKRs22dooa7wt/YunzJud7HfhZRyzzMJTaCcRoi92Qz0MLwcbmBneJHWuTSHchKawHym2YsSibAZ+Hph+/T5uvngVJrQZ7El/ZHDJ5ANdsEj+HdFXS0svbcUylURw7vofHcImAefyD6X5LKUVaFP9ReoshIRNteXYlIAyenJ5KcRZI60VtSbKNNgYtEkf7qfn2RS/QHQ//UWFvjUPdNdOC3uT0BvhFNccujZ99wv8QgwOrweSUimV3Jr2Undg7mwG2x8nK50xrC+0SvWDndio2VntjoZnIr9jilaHgqyxFCwVibcq5VkHAKvnz6duoeh1lFQjV6CES6pYReXngS+nEGE1CooQ3R9da8YtTOc3wBajt01bOdVr0niWV7n3yJOZxYOhAL4dpm/RMAx9Ed24acFux13oIO4w+2LCrRJhtOOgEsfiNUGSsnrprkVnX2y7HtWhWFqiY3EnHDF6w4NKw9+9Zre6026GB41u5wmVxhIqx9RwJeIQp8CkImrcYCU1QmdLdxOh+3Q9s7KzVBrSTUNcOmhKAg67FBlbdXvw/hEDnFNd+xDqn3d9T/9CHnI4c1RK0Ezo09vMEVYjYIXfKHrH//G+Cq+X+G7u9kFVbExJLmBW9qMfu5G3AZPw0MeNXhw1xA2rDfhOCFjUk3hyLKcK6S/iIsVE1GWUgYS6BMprAfMF2h1p2AzKya/LJbMmJVsSSQIATdBbV7bFf3VyhOezHc354FAuaRe2BakDTDgYO79L6u+bXo/2qKFUfWpjZq0ExtQfZ4JUw3ry3U6dMXktIXqCnFUHSqvbbjTElPdnmJmuF+O+t0Vj4hsMlMQzKCGee8lyX4Hq+8ONTePxF7DFnehoZFbf5DjgbeBY7/5RIH0WgkgJM/jCaLio4bYaDhTeI67Lwh7MgIh31daF7qMxiEqr/v6luBpHGxmjeOLXSnMibLLhHdPKoIpjvkKPs+S6W+a5fes912b6XCwhby/5/7mdTQUNZigCAdIVVm7b1gBij7Kx+FIsYWqPiQ26wvb+rsnKXKE+YDjajat8D9xAmB2Ss+HQmJfECR/PuzSbwZjRscn8RMeTJuow1oOsPfFPbkqDpI3SSIjsmMHKLuekM90e8Ov9cKykrOG29sB8tB4zn/LMoQIJnnTIdxgqmqcOXDCB7feSmuMspn66r1cJFxPphF/JTQIT7DwGyogD6LvIlVCFID/XRqPEv8R41afZn+RkeLl6/8i4gfmN+aE2S2IkJMDMJOp1+dkZyvKBBmgq0JTlKnywlqWGSUhKypaA3HVnu9+2CSZJGTA6ESVy0Vl4NXRXkXQzPhBGHCy0LLEBTirRd3479lLq47fVE5nxcm2Gnf+s= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6390 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:803:13e::17]; domain=VI1PR08MB5325.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B9C.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: a877f27c-bf06-4521-8d28-08dd145da822 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700013|82310400026|14060799003|376014|35042699022; X-Microsoft-Antispam-Message-Info: =?utf-8?q?FRIP9P3svt3pzF8i3sccqXWtd1iQtAJ?= =?utf-8?q?+BL0YXHtbh6H0JqN74f5ykXArEP+kv4yYU6YYg+J9uUFIrwvxLVK5E1n66VoumSWV?= =?utf-8?q?PFO2F2GghBErEGLcymXRGcFva2ACCLEn9Gzw70GWzKZhrrErCAi24oimREW9xdUf2?= =?utf-8?q?4OemwMamIumxHuTrHaw8aFLjec+4SEmo8/W20BWHxGhFzzTwsX3lir4m4TsXXilRa?= =?utf-8?q?D0sbviXVuBoKYx7iUFvMMsxF5ku9kBzRvOKKojh0JGGUf6omgXABVWC9Hyyx57vlP?= =?utf-8?q?R5CS+G7IdD7EsqL44soITzacB1PWKirnD7An1N6P4smD+QM2fPZndlUOmJAu8PegV?= =?utf-8?q?/HLWLKElzjV6bnMwG+w4tbnJTOu/mWMAaTuQIKm5kRFqty6xurfKxkVlEXuIERtP+?= =?utf-8?q?yIksoG10wdaGzzwFyxMsI8U81lKLgdbmmJp+eYb40Q+whw0+FZNimUo6CmZ4hQEXt?= =?utf-8?q?aMUb7YpxCAuUgXMnv5UxjEOetkfh7OANBYgy3D32IUrqXXH5fBr3qTjfVYj2T6+O0?= =?utf-8?q?Z4Wj2hpgfVcSlgf4HXRzq96yXCF3KJWoJs86GJ2Sjjipm+iV1dUvcQjt8KVFvkzlE?= =?utf-8?q?MqyZkQBXAy/4OOKebyyfgMuikmvgA1q0oCU7R8S/9mro9lso342WnYUEtgJ66LqOT?= =?utf-8?q?pVpOIG/0Nks9q4JIeoUwlP4IpeTNaHCi/LH49P6JHx0K4cNxll0G0Yjo1CH/CsAos?= =?utf-8?q?GOnYttaYNs5Dc5fSV9BsxAwgWFaP8HDbBn4lhZ3GuT5mFJEvozdRqNQMXZXA/fUm2?= =?utf-8?q?seUNX5za365IrV3+tQ+uyEzsmrNrWDEGNLMJjsc6wmf1sYtvIU4taY/JELXAXCxPD?= =?utf-8?q?v3u/Fe2J3+znZ2j+42nW1OvQQCW1znTF5Yz82uVnLgO4zdl0hrE5En8gZmX2kWKPi?= =?utf-8?q?oMlo5w4gZT3Gjtugi9+7TV3idnoMdtbfTRo201RLf8RIJG2ExOTdQaZGKZw106gly?= =?utf-8?q?L3euN0jAr6rAnthPyWQ8JMIVu4+1cwTLslq6Vy7kQrUNnBOVmvkG24qkvrb7BWfny?= =?utf-8?q?zTzUOQRfwqI5OvZPkmiV8SYma/WLBWAElRms6J4kzAf7UtlAgTMmJB9sWJKVuTjE/?= =?utf-8?q?ocnwd6A3Qp5dlhA8CWvohdv2DN43wB7kfT/f32q8v33Ihr8fwsTP3aP6/4N7DB4w5?= =?utf-8?q?Nfoy22De6tsJUhsOjVHsMB+e1Suz8yz5SBJwuVmvv37J3SMyHkFw/W0WpxNRZKKvz?= =?utf-8?q?ngXN+8T0C4u1MlA7PWwIBN7ucojzpJhYp2w4VQ17xuztKz82XXeYrVC6Nl6ViVzwm?= =?utf-8?q?Fa7y5Uyt9v3FzVkw6JGH54QiflKdDBaBpvy9ks1DcYRxYJBfxhCC0NrGVe4yotd2T?= =?utf-8?q?ZH/cePQrQVk1/wXWgJrIis+t3NRVIOefHSPfi8TcnFemRw2N/zsxBemZlR8OEYCJI?= =?utf-8?q?trZDW0XCfSl?= 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:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(1800799024)(36860700013)(82310400026)(14060799003)(376014)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Dec 2024 12:17:53.4279 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a41389fa-4b98-4471-26fe-08dd145dadb1 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: DB5PEPF00014B9C.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB8918 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, KAM_LOTSOFHASH, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY, URIBL_BLOCKED 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~patchwork=sourceware.org@gcc.gnu.org Hi All, While `poly_int64' has been the default representation of bitfield size and offset for some time, there was a lack of support for the use of non-constant `poly_int64' values for those values throughout the compiler, limiting the applicability of the BIT_FIELD_REF rtl expression for variable length vectors, such as those used by SVE. This patch starts work on extending the functionality of relevant functions in the expand pass such as to enable their use by the compiler for such vectors. gcc/ChangeLog: PR target/96342 * expr.cc (store_constructor): Enable poly_{u}int64 type usage. (get_inner_reference): Ditto. * expmed.cc (store_bit_field_1): Add is_constant checks to bitsize and bitnum. Co-authored-by: Tamar Christina Bootstrapped Regtested on aarch64-none-linux-gnu, arm-none-linux-gnueabihf, x86_64-pc-linux-gnu -m32, -m64 and no issues. Ok for master? Thanks, Tamar --- -- diff --git a/gcc/expmed.cc b/gcc/expmed.cc index 2d5e5243ce8e9c7dd2eeb0996711801d969b3f22..3721d55967ba21516b9a816505e0e999a53c3d2f 100644 --- a/gcc/expmed.cc +++ b/gcc/expmed.cc @@ -849,6 +849,10 @@ store_bit_field_1 (rtx str_rtx, poly_uint64 bitsize, poly_uint64 bitnum, polynomial bitnum and bitsize. */ /* From here on we need to be looking at a fixed-size insertion. */ + + if (!bitsize.is_constant () || !bitnum.is_constant ()) + error ("bit field masks of variable size length/offset unsupported"); + unsigned HOST_WIDE_INT ibitsize = bitsize.to_constant (); unsigned HOST_WIDE_INT ibitnum = bitnum.to_constant (); diff --git a/gcc/expr.cc b/gcc/expr.cc index 70f2ecec99839e6247ed7601e0bff67e7aa38ba4..2d90d7aac296077cc0bda8a1b4732b1cd44a610d 100644 --- a/gcc/expr.cc +++ b/gcc/expr.cc @@ -7897,15 +7897,15 @@ store_constructor (tree exp, rtx target, int cleared, poly_int64 size, { unsigned HOST_WIDE_INT idx; constructor_elt *ce; - int i; + poly_int64 i; bool need_to_clear; insn_code icode = CODE_FOR_nothing; tree elt; tree elttype = TREE_TYPE (type); int elt_size = vector_element_bits (type); machine_mode eltmode = TYPE_MODE (elttype); - HOST_WIDE_INT bitsize; - HOST_WIDE_INT bitpos; + poly_int64 bitsize; + poly_int64 bitpos; rtvec vector = NULL; poly_uint64 n_elts; unsigned HOST_WIDE_INT const_n_elts; @@ -8002,7 +8002,7 @@ store_constructor (tree exp, rtx target, int cleared, poly_int64 size, ? TREE_TYPE (CONSTRUCTOR_ELT (exp, 0)->value) : elttype); if (VECTOR_TYPE_P (val_type)) - bitsize = tree_to_uhwi (TYPE_SIZE (val_type)); + bitsize = tree_to_poly_uint64 (TYPE_SIZE (val_type)); else bitsize = elt_size; @@ -8015,12 +8015,12 @@ store_constructor (tree exp, rtx target, int cleared, poly_int64 size, need_to_clear = true; else { - unsigned HOST_WIDE_INT count = 0, zero_count = 0; + poly_uint64 count = 0, zero_count = 0; tree value; FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (exp), idx, value) { - int n_elts_here = bitsize / elt_size; + poly_int64 n_elts_here = exact_div (bitsize, elt_size); count += n_elts_here; if (mostly_zeros_p (value)) zero_count += n_elts_here; @@ -8029,7 +8029,7 @@ store_constructor (tree exp, rtx target, int cleared, poly_int64 size, /* Clear the entire vector first if there are any missing elements, or if the incidence of zero elements is >= 75%. */ need_to_clear = (maybe_lt (count, n_elts) - || 4 * zero_count >= 3 * count); + || maybe_gt (4 * zero_count, 3 * count)); } if (need_to_clear && maybe_gt (size, 0) && !vector) @@ -8058,9 +8058,9 @@ store_constructor (tree exp, rtx target, int cleared, poly_int64 size, element of TARGET, determined by counting the elements. */ for (idx = 0, i = 0; vec_safe_iterate (CONSTRUCTOR_ELTS (exp), idx, &ce); - idx++, i += bitsize / elt_size) + idx++, i += exact_div (bitsize, elt_size)) { - HOST_WIDE_INT eltpos; + poly_int64 eltpos; tree value = ce->value; if (cleared && initializer_zerop (value)) @@ -8081,7 +8081,7 @@ store_constructor (tree exp, rtx target, int cleared, poly_int64 size, } else gcc_assert (TREE_CODE (TREE_TYPE (value)) != VECTOR_TYPE); - RTVEC_ELT (vector, eltpos) = expand_normal (value); + RTVEC_ELT (vector, eltpos.to_constant ()) = expand_normal (value); } else { @@ -8457,10 +8457,10 @@ get_inner_reference (tree exp, poly_int64 *pbitsize, if (size_tree != 0) { - if (! tree_fits_uhwi_p (size_tree)) - mode = BLKmode, *pbitsize = -1; + if (poly_int_tree_p (size_tree, pbitsize)) + ; else - *pbitsize = tree_to_uhwi (size_tree); + mode = BLKmode, *pbitsize = -1; } *preversep = reverse_storage_order_for_component_p (exp); From patchwork Wed Dec 4 12:18:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 102376 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 004683858C62 for ; Wed, 4 Dec 2024 12:27:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 004683858C62 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NOqvqcrr; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NOqvqcrr 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-am6eur05on2062b.outbound.protection.outlook.com [IPv6:2a01:111:f403:2612::62b]) by sourceware.org (Postfix) with ESMTPS id 5CAB03858C54 for ; Wed, 4 Dec 2024 12:18:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5CAB03858C54 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 5CAB03858C54 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2612::62b ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314720; cv=pass; b=oxXZJPjghzExrCv6JBBuoK653sLttDhVKwKYP+WTjvo++Lf5rwEgp558406hFAGxALQwT9jZN0hGbzht/fI3PPTzXkScTbZ+rZphTkblZ61TtdB/4JwiBSOQXWsdk3R9IcuhosP4GLJmu/1excPBhp+OHOOHoxwzbdtmSX94NlU= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314720; c=relaxed/simple; bh=Xu+zs4oRzhe/GfIK4dc23OqSXPhDvHtEY76Bs5FdPic=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=wGkFOvKfQdruUbIrRjHE+pRQBzIEhuWgX958cShWV74TmwBycFLRbhGRliK+2nkoA4nHrc5roD0J0PLRija/fzszq2msK1V0M+xNssNdJuAf56evbC5jEZGhw4ABbkjnEYR/suSreXtW9Flc3GciLtsZxZC6OCUSq2Ml+cRy7Ok= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=Y87/AGhB6Di9KNY0+qZDllw2xSqR4HCje9DmeapswF8QNkmztPXmXDSxk8RDvcX73J7hUBJdstEwCq137vZFYr+3HzEgwLIQHa/DkXbeUda3o15FfX2IQlDRg0Trjac6nQXANgwBwZIkdMmfi0fQDb8fF2tS+kdpW4rLhK54pP3HikSsfebYMR+iS2A76Rn/6+XvriadgJBalv+UvUyRDUj3NHZOnRtmJAJT9UXt800kzvNVfxKVfGmZ2ouwT9UiqEsYFXe/PqbKvRIXPz4YzmDoYPo1h6vhqINSKRx5XonVzzuGoNnUZm7+jfhaEEDV2DsKiww8JsMAZ4bzkg87gg== 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=/bIEu1ukd/xC7AmgJRDm0TANYd6LEcWYCR/8asZUQuo=; b=pBY8LiaAEMGTSUJ60xrqkdg7mRZGgyyl0hX6Jf6OfejC8uU6FDK7oNOxlsOSY1FfZ5FBk9Rv5Oed3/nQDVYStZIVnHxJtb9fy/lIH/ZdzMfkgrwp9J7/gkZ9Vy1LgnjJ2/YNm9Rt7WM9ZXNoN8iL7UdfKd8Se9jlbfleOktk++HNb5yDHz1HVk8sOrso7+pBmIqsY1JITkABJjTZ0Iaav3X3H6RORgC3V3i+gX8Hhqc8K90w0RVGCPmvWjKIYR0KMY5n+/ZcsEahK7mE5Jyl3WtQ8BPGaz1CWhDpcD0F7sp72NoWWWbMxM6Xfn+BRHuLnplxRZIV4+YKd+qaufYQYg== 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] dkim=[1,1,header.d=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=/bIEu1ukd/xC7AmgJRDm0TANYd6LEcWYCR/8asZUQuo=; b=NOqvqcrrgkhep0qTIDMTEm48gNySa8kJk+BfkTQVx52JkNucK27zkKQYV0p42IY7wTkgZ0nZNi0xt88FGsqaMgS+2zLBbk9DEQ7OnUh7PlwH2p3tK3yvHtPmIjBdxzQ1dXxLIi1ZAZZUvT5l+rFRhTl0KqM6p0PV5fiYPoa0M6M= Received: from AS8PR04CA0125.eurprd04.prod.outlook.com (2603:10a6:20b:127::10) by DU0PR08MB9348.eurprd08.prod.outlook.com (2603:10a6:10:420::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.18; Wed, 4 Dec 2024 12:18:27 +0000 Received: from AMS1EPF00000043.eurprd04.prod.outlook.com (2603:10a6:20b:127:cafe::cb) by AS8PR04CA0125.outlook.office365.com (2603:10a6:20b:127::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8207.18 via Frontend Transport; Wed, 4 Dec 2024 12:18:26 +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 AMS1EPF00000043.mail.protection.outlook.com (10.167.16.40) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8230.7 via Frontend Transport; Wed, 4 Dec 2024 12:18:26 +0000 Received: ("Tessian outbound 54dc4e234ee1:v522"); Wed, 04 Dec 2024 12:18:26 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 3b94b38c0136546e X-TessianGatewayMetadata: 9EDaXU6IDnzTnFOZ2zQsxdlCVjQgJR9lUDIuFz48AkXwcBcec5AkGS2x0zZtsaKyfRmJ9CmDsc9PLCLSN33edyWZHBjgC5+LJ2owUgV8QG+eabn4dYeZjb4ixSxWQ9f+Al/SMCi52jiaIg07mSHZUg== X-CR-MTA-TID: 64aa7808 Received: from L7a81d59238c2.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 39DA87B1-1DD5-4FAF-8D99-81606E3C0780.1; Wed, 04 Dec 2024 12:18:14 +0000 Received: from EUR02-AM0-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id L7a81d59238c2.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 04 Dec 2024 12:18:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RCQeVMSYHXvxpXSKphZh+1fgnIUPT2FhVJLaFgkvbKSS2Jj0aXFBzeKQAO6JO2JEbPEKwMKozM12btvC1GUtwAkotoeTcqnykRO8hEHRKaDmUHijZEgLRnK0DrDmLak/y2WsP6jEdnQMBH/woj7aMQyM05ErisUzrDLUw9nUZRJN7lK1eRV7R+KEeDSjWhocrD3r6+hA6fUfAdxpu56nRzqekBd5akUZJ8bsjyM9fJ+eEjRanhzYZJ7oZs87+hU6Iw0LsV0vW2H4uglh3t9fKfwJN7kkCQ0XAmIs5rdJlUxAZlVDSN9BOl0+BJ+njmp72YzvPlzAUmrRcos0GY4fUA== 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=/bIEu1ukd/xC7AmgJRDm0TANYd6LEcWYCR/8asZUQuo=; b=UhkkxhOht/fW0sMY8exLQyaVGHG+N8A7JT6vp8tNmSrY1lo9ePMkwtw5l5NIs3+pIPvx1YDuB5jQrqKJ6smc8cqai7fISuY97o9GyQRrBPW8gONol3Y2Nx1brZOnIlgTGYyXc91Eni2GO2Np4klmRDO/+j7L5hhLRBR4adAHOEr5T04Lj7aR1L3c2bwMqDxSeUHYXopvPVjPOnTEhvNdgM6rxQFa3oatMtXtfRqtRsQ7By6CUd2TBKRL4WH/5UfUT9G7R0D2qJMFy2iIA1BuGFXivgYuLp5mO0RxVJqducAofWfWvA8sL+5UnD/p1naHBJzpBjF7HbHd+Z4iSh4xtw== 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 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=/bIEu1ukd/xC7AmgJRDm0TANYd6LEcWYCR/8asZUQuo=; b=NOqvqcrrgkhep0qTIDMTEm48gNySa8kJk+BfkTQVx52JkNucK27zkKQYV0p42IY7wTkgZ0nZNi0xt88FGsqaMgS+2zLBbk9DEQ7OnUh7PlwH2p3tK3yvHtPmIjBdxzQ1dXxLIi1ZAZZUvT5l+rFRhTl0KqM6p0PV5fiYPoa0M6M= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by AS8PR08MB6390.eurprd08.prod.outlook.com (2603:10a6:20b:31b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8230.11; Wed, 4 Dec 2024 12:18:11 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69%2]) with mapi id 15.20.8207.017; Wed, 4 Dec 2024 12:18:11 +0000 Date: Wed, 4 Dec 2024 12:18:09 +0000 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, rguenther@suse.de, richard.sandiford@arm.com Subject: [PATCH 6/7]middle-end: add vec_init support for variable length subvector concatenation. Message-ID: Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO4P123CA0659.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:316::11) To VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB5325:EE_|AS8PR08MB6390:EE_|AMS1EPF00000043:EE_|DU0PR08MB9348:EE_ X-MS-Office365-Filtering-Correlation-Id: d7b3f6e9-640c-49b2-4ae2-08dd145dc16a x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info-Original: XWG4ES/wMN/4fBUXQakI2VQKwidd6lNw+3ynT60NHq8jptwN0bw1pO1TftOuYXAbhZ4h896e3vp1Ybcz7agL5shlewqK9ZbaEGx9UuTCYCZeF3YtPdcfojqI/HzgHRSYUjWCQmE2WPEuJqFGiYlIO5xaO04J0bkt8DRRFCdgmNPcuP9fdm7rXQYUgVJ3g6Oa7UfU4W02bbyMpLNZ9OjV7HhQKPDZR+JCM0hvTXNDpoYiFh7Iyw7ybBhT6YPOIqVhVyAz5FwgQECU5i3i1qvC8vqCLYiKpOldUZF5EpQYZySNjMubp3elSiIVk80+b1NbyJteg9iQV+VTWkDN4HM+bu+vzmnQgWkEm7O1vrLGUqMitmLCPs+eud0n1sQB38hTRYcEioJTN6wD+lrufjUVkPGG9/gIQt3IqaoI2voWR5/jKXaoVi4mJivP4ChJpCh6lbKzWhzmsCJ4/yAN2OopZUvSmibiQl3qh/NTSy8xOajKU7Klure7pnmlZFOhWZoEotqPvl4KrIwNW64hvXYhIdjdFcsW8c3mJMinvZhbNtN8+MWAojxOEZ20xAFaPhEGKdfHX4FOwndLP3cP5oZsD7ZhIWvftl/CbMu2JLqaLoEviN2mMcs+dIGIS6S/bTPNuAqrzf7xCS3SVMwgNdFr4B8nTLeNTr2JCrADRtie/Z4cfIDQPPOqfhop79MtlW58pLJOSU7akfXqJIR3t/OZUJt1oj/l4QpYUXu/AJppBaUVkgZyRMI2EAvE3u2FkpPnA2f1Eiixfiih129YSZ4lv4HA4W7ZKh8Sdsgm7ocZ1XvNmwMlpMk75LZqzomxtrNhopASPdWHlOSFphzFu7HY7cLpjm0OXUeVbIdTWUAIZu6H1zgd2sX9bCpiDcZmyEFRh5YRVFDAfbFBajAEYGAwwFHxAFHGEuSwHL4YCiGlMMuZZgbaLlg7LPkIdEaRQ7/5HQfoGpwk35tpJXzvVwW5mwcRyB4yqdtZadzwhzofNowB0eZn4A9VupL4LUuB0GTytd6AK/2WQ/PEOKCYP1D5ZnjY8OXOuCSFPHzPcS/7BM2P40ElRGgL8gyGq3wR70p04LP3FZoAKuJwoxbu9dOrWY9kbGGnY2t23Sb92iDgA8hZQ35o4d194f3LNKt81OTXHHp3/VqhHiKvSt4cUrVirSQdRWtLnsgvIjOlEQl2GkYZwMKfB/AZ+jITwNrt7QcuhAFsYXRQPWzYhspUQqe83U32CJKKkrudXDAVXWkx6rmmj1aVvwJ5UNjSynfyWdpfBhmWzdXcHxpJ8CWhpyZBzudmYZE3Kmtmx3oFaO56fRUsMCw+yDBY5yOKksS0VLnZj6LOg4K+v1ElxJ1jCBvvDE3Zqvs5fl/ecSi+J/9NPjg= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6390 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:803:13e::17]; domain=VI1PR08MB5325.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS1EPF00000043.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 6fd532e8-30c6-47c1-93d2-08dd145db80f X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|35042699022|1800799024|376014|14060799003; X-Microsoft-Antispam-Message-Info: =?utf-8?q?tZ5HH0dFilLidhO7ihmacz7fytf5ua9?= =?utf-8?q?G9AJ78jGjiMaHXyeQuRppk03PnXJ4o0LXp3kAmyOvbCmevFX2+H4WxPABjbtWm6oZ?= =?utf-8?q?KU1a5oYWboFf22KAqjst9yLLrpwAJKAC1Z7SiVHPfN8vWF5I0UCmAyyap1sEj9V2V?= =?utf-8?q?m2bQBIdbSxECG1Qmqih601BUz2CgtLw7bYiDRAitEo5T4ge6cCyOQl+coUFA2ODl0?= =?utf-8?q?uKCMoooTnb/aEJtIiVSLx9eN52NmSd3utPybGFBLeRG0NXBGdlwRWdBcfGjmDOh8M?= =?utf-8?q?G5MwnP3k8dvOpP4s8dVZgItjJ20Bfro7/KimVZRTOVHHMLYTzizV9hHuOEhDtmNiV?= =?utf-8?q?B+drBSVFzj4gIGKiH/zRHJ0Rx7t/3F9b3INeyO4jE3jU88fLGumD6oUlgoTwf8le6?= =?utf-8?q?kUqPDvutgRD9TE3CM1vypobjtcUDG2hAy9Ee+keXWkxocNPXT5NcpIzW3WcJjPjao?= =?utf-8?q?6f1X0CS0JO1klRuevVZa5SFTo0hPC4avJOAspZfP5Z6WPxpBIkdLQOSiqEw/T2WGS?= =?utf-8?q?A4N+HX4PR6ZU7ARlAE/Oa4w7KBYX7mf0OuD3+TqCfRom+BebUTyLxQ4k1Gp4gE0Hv?= =?utf-8?q?CMekXA3Oy2G+2BFpR5oFe03oTRNivwleVbfsb7JiRmHFrUN9v4XHSFLbNWVc92gIq?= =?utf-8?q?WBWaYcrROt1Z2KiFO5K9KKcZAz3ty5EiY7aaAC5/oGz1cc/XpGlWtWqDCZt3DkXCr?= =?utf-8?q?7grIth7BrQp0IamoZ5kRppjx4BPPcubu9gVbFyGD0sYu0vgzIPJldSNcYlLuEJ5Om?= =?utf-8?q?0pfeopDXrYV/5BchB1leMLh11mYirld+vBEetNpBw1Fk3C7BFsRMmFhUmxyHam3Fv?= =?utf-8?q?ulwIt9imyE9TO4QpluuwrX4Ucdfw1LvDvJnqWY2YjkH6SZ/ZBtc9eZLSQPyqnxFzg?= =?utf-8?q?Jb4iXJqrbuwPelbEvifc3dI8oJBto3hZWGrZqTQRfoyw8PPIP2M0mAH/rYpQ+b6a0?= =?utf-8?q?l3dBA3lQYcEDK61YRRw3xovwSmcb0CQ+1XfQtZT5hLm3ZGSOEqKTZEZQLZd8iIwBE?= =?utf-8?q?NVrlhhFJco6DaMaRnnGJHL1rqtWWLgb4tz5XpdW/jsFY3v+c/xAoTBByxu/nrHKRZ?= =?utf-8?q?EscMrn1howUYc228rfdJ+0BVHfqw03vd22THwKowERxw0DpoYmwLKDF4tdqhxJwBI?= =?utf-8?q?ZP6mbUhl5JiBkYObuo5No7TcGNbYeE4AnVSzUZDH3Cf9uKlrK06Pk/Q0sEqnKXzLi?= =?utf-8?q?jR9jm7zN+oaGoBWjCrEJ4pJm1NHjWOAn79av6vpYy3LhyV04dgxfB0+1t76it6dE0?= =?utf-8?q?tphW5NeWD/DSLwhvToUO3gQmq39QwvKcv7lNOT52eevBNlvWNFEa1fCLog77NZgzg?= =?utf-8?q?D6K5FoHud1oFK315v6cfClP7skHd/Eo+2SiGhfInSfeiJlIGlUmkjYqYQ+7TxLNiA?= =?utf-8?q?jXx7UUWuBbV?= 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:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(35042699022)(1800799024)(376014)(14060799003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Dec 2024 12:18:26.5336 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d7b3f6e9-640c-49b2-4ae2-08dd145dc16a 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: AMS1EPF00000043.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9348 X-Spam-Status: No, score=-12.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, URIBL_BLOCKED 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~patchwork=sourceware.org@gcc.gnu.org Hi All, For architectures where the vector-length is a compile-time variable, rather representing a runtime constant, as is the case with SVE it is perfectly reasonable that such vector be made up of two (or more) subvector components of a compatible sub-length variable. One example of this would be the concatenation of two VNx4QI vectors into a single VNx8QI vector. This patch adds initial support for the enablement of this feature in the middle-end, removing the `.is_constant()' constraint on the vector's number of elements, instead making the constant no. of elements the multiple of the number of subvectors (which must then also be of variable length, such that their polynomial ratio then results in a compile-time constant) required to fill the vector. gcc/ChangeLog: PR target/96342 * expr.cc (store_constructor): add support for variable-length vectors. Co-authored-by: Tamar Christina Bootstrapped Regtested on aarch64-none-linux-gnu, arm-none-linux-gnueabihf, x86_64-pc-linux-gnu -m32, -m64 and no issues. Ok for master? Thanks, Tamar --- -- diff --git a/gcc/expr.cc b/gcc/expr.cc index 2d90d7aac296077cc0bda8a1b4732b1cd44a610d..8bdec1cbf78ce338c135a6660bcb3abc75884c0c 100644 --- a/gcc/expr.cc +++ b/gcc/expr.cc @@ -7962,11 +7962,11 @@ store_constructor (tree exp, rtx target, int cleared, poly_int64 size, n_elts = TYPE_VECTOR_SUBPARTS (type); if (REG_P (target) - && VECTOR_MODE_P (mode) - && n_elts.is_constant (&const_n_elts)) + && VECTOR_MODE_P (mode)) { machine_mode emode = eltmode; bool vector_typed_elts_p = false; + auto nunits = GET_MODE_NUNITS (emode); if (CONSTRUCTOR_NELTS (exp) && (TREE_CODE (TREE_TYPE (CONSTRUCTOR_ELT (exp, 0)->value)) @@ -7976,22 +7976,30 @@ store_constructor (tree exp, rtx target, int cleared, poly_int64 size, gcc_assert (known_eq (CONSTRUCTOR_NELTS (exp) * TYPE_VECTOR_SUBPARTS (etype), n_elts)); + emode = TYPE_MODE (etype); vector_typed_elts_p = true; + nunits = TYPE_VECTOR_SUBPARTS (etype); } - icode = convert_optab_handler (vec_init_optab, mode, emode); - if (icode != CODE_FOR_nothing) - { - unsigned int n = const_n_elts; - if (vector_typed_elts_p) + /* For a non-const type vector, we check it is made up of similarly + non-const type vectors. */ + if (exact_div (n_elts, nunits).is_constant (&const_n_elts)) + { + icode = convert_optab_handler (vec_init_optab, mode, emode); + if (icode != CODE_FOR_nothing) { - n = CONSTRUCTOR_NELTS (exp); - vec_vec_init_p = true; + unsigned int n = const_n_elts; + + if (vector_typed_elts_p) + { + n = CONSTRUCTOR_NELTS (exp); + vec_vec_init_p = true; + } + vector = rtvec_alloc (n); + for (unsigned int k = 0; k < n; k++) + RTVEC_ELT (vector, k) = CONST0_RTX (emode); } - vector = rtvec_alloc (n); - for (unsigned int k = 0; k < n; k++) - RTVEC_ELT (vector, k) = CONST0_RTX (emode); } } From patchwork Wed Dec 4 12:18:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 102375 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6B6F13858C3A for ; Wed, 4 Dec 2024 12:25:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6B6F13858C3A Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=qVROUjnX; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=qVROUjnX X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazlp170130007.outbound.protection.outlook.com [IPv6:2a01:111:f403:c20f::7]) by sourceware.org (Postfix) with ESMTPS id D824E3858C53; Wed, 4 Dec 2024 12:18:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D824E3858C53 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 D824E3858C53 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c20f::7 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314723; cv=pass; b=jiJtOz6unq2CiW/Rii0xf2vSppjLGhzkxzvxiqSwAZG37xiPJS6ad+doGQHQA9WGDBSdVXIzgs5+GuxxB739fSBoHH3knvP0eV59sBITRDLXQS1GLPa+5sLIps9kdON5eKJDHTVySeBtKuGGEN19atUG2m/vkPQISxmiWOQ2eKA= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1733314723; c=relaxed/simple; bh=UNGTzsbN7CK7XRQLMeTK51ZbFkVbT4LVJ26rU0tOWKQ=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=tVyufBUungj4AcQMTR2QTVRA16s0CWlgCglJPmlyW2Lkcp3NsHQC1FtMLgnFr8I2Vv8hs1Inuw6hGTbOxNtcGmvlUFpZ9+W63wEWC0N7jbGV2n20HMtV+dru/x2o0XZnT7+YSj7DyYTD/1BRdm67Apd30rzDp5tQNzxKKe0ugrE= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=UuBsxWULzA+vF2OpIzxUtp6SMFy5oP8iQMm4n4lzVU5g6vthIGjl5RZCfB5Nd+IC8CFyyCWV5SFUHAOwJiRDpkQb0Uqhhv1Q49H67RqOF+13KiFnrcR6TRxHn/Tvthu+YkG5Sit7Fz2vaX3IZpTXXyVUUEqfBb5Zs6/84E6+9bDZPOSmzs4czweUkWd21w9LqZNXZnBaYseET99SFEgQx5NPsguock4kHjk0IupvX+9kHKB1uzn2qf7x/Q29CxJp/4Ltb/scVxf/NzX7jce5Hl6Km22NY1/7afGzJxOpTqNq1h/y4HlFTuPuv2WxP+wLX4aa/67m9pZxyjZNlWQbGQ== 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=1ZgrQM7tQjj87VLMZjzCvOOSDGLqhmYaJd8amrAtGSw=; b=YBsEOCEWpHDC5pMhe49ubIueAkkRhB92SMoEby84j5F20cdLSQt6p30znTGZC7nqTCshr6FMdbMlnAQG04FIEYFX6v1tGG+7k71IStxtrnyO3GxYzQJTlnbumxlYdbqpVMaxcMDA0jDRHK9OUg+DFtgnSkLtOQOkGAAvzmZRajCMyK55cLIfWcKPtMtO6oZYIqb+3VqGDJ1XMwj8pvEvlYAnkikxDkolCMZX/f8iANp/+Bxoc6IVNik1FpZ0rEBmy64m9y766ugB6LyXZtQCVDXNJKQQIY48aU3xrlZMzZ8JFgT2jsFM43Q8Uw1JQ8pwy+yJD5sbboou1r8PcNMz7Q== 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] dkim=[1,1,header.d=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=1ZgrQM7tQjj87VLMZjzCvOOSDGLqhmYaJd8amrAtGSw=; b=qVROUjnXIO8Bz+Z1ZcHIjtdYElHm5FcAoTX+gwOf0xF7YNMCu7tDcXZOVIcCF7m/CNofnBHKwZFXhJ259Hah0CGjG0gYMU9lQiILrp6THkXGOA2ydj8E3gRGwttnLiNvmWImWkJ0isSNalSMWpWLAGPCPnFaUP/NAuRiyk/+yG0= Received: from DU7P251CA0002.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:551::26) by GV2PR08MB8147.eurprd08.prod.outlook.com (2603:10a6:150:7b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.18; Wed, 4 Dec 2024 12:18:34 +0000 Received: from DB1PEPF000509FF.eurprd03.prod.outlook.com (2603:10a6:10:551:cafe::f0) by DU7P251CA0002.outlook.office365.com (2603:10a6:10:551::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8230.9 via Frontend Transport; Wed, 4 Dec 2024 12:18:34 +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 DB1PEPF000509FF.mail.protection.outlook.com (10.167.242.41) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8230.7 via Frontend Transport; Wed, 4 Dec 2024 12:18:33 +0000 Received: ("Tessian outbound 54dc4e234ee1:v522"); Wed, 04 Dec 2024 12:18:33 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 01af7b602a5c4970 X-TessianGatewayMetadata: yiQNTmdcMPCQjPA44tgTQjEm4o6Kzrf8ZDACkzAu3hnxUqpSyR5uN7sk8YBw4EO+j9aL3C/Y4Rdqz0E+0SgYW2ZxgwYMyt3AopWHBGhEiKAqolC/FAIH3NJ9VHA4muvXK6W1Ka9F6xayrqDlJpzbDA== X-CR-MTA-TID: 64aa7808 Received: from La7a8be573b5c.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C5C52227-9B0F-4C0F-BCE9-7AE7FA79FC42.1; Wed, 04 Dec 2024 12:18:27 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id La7a8be573b5c.2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 04 Dec 2024 12:18:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fRNKR6P8EfE7GQRbFuSmLcUx3hRi6OPJ37RtiIhkPDPu3lezszXseSU8NsygS/ZuD6+v++xSWOUrzbQGFprzqHyJIKsTONJLJp2XGRFiHKV8Tbh+HcEonl2iEcHV9YR4j3egtWGYO4gnzGDghSARvTcbDlWMOnUngTD1sU+EEcNPt7911QCrBrEef78Ov0fatrGGPffsCM8N7zHkuwauYjxhc+EyFhJZDVIu7Igzixd5R+j1E6LIJmHIhLFBb6kxkOtH73HIn7qvWOAISzlYyBnOGCwETHmnAHSc3ga4pnDegNiW8Bj/YpDaUyFLujXvqCY5ey4ufs35i06Wi7j7bw== 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=1ZgrQM7tQjj87VLMZjzCvOOSDGLqhmYaJd8amrAtGSw=; b=og6f4+SVu9EC/GFvmqZ8iVxbKTcvW3rB/ASOCE6xNcb3YSNdAQQtXrJue7StrTUU+IRRwX7KIUlVQ9rMyFtMdpbwXnQfOrxNXoGs876gSjVH4LRc6whCzJtO6RPJ3Et71AeMV2qTB/EckygEiw6rVOBU7VQPM+9CmL8mpXnQ/oIbfEtkB/pfZ7Wq+IgPs5q9uVnfWiUtb8/Xml6iWQwTkmARcfoNSuan8970hkQKeFL9hyaDmNdn9IZ3zs2bOjlsax6yr7f5XAhYHgDSr1ydhklZj0dCa/JcayrG7xxuWI1Oydr7IKHRQoQRpDdTyflQesbOCCrSSCuQX8H3H+7nfw== 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 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=1ZgrQM7tQjj87VLMZjzCvOOSDGLqhmYaJd8amrAtGSw=; b=qVROUjnXIO8Bz+Z1ZcHIjtdYElHm5FcAoTX+gwOf0xF7YNMCu7tDcXZOVIcCF7m/CNofnBHKwZFXhJ259Hah0CGjG0gYMU9lQiILrp6THkXGOA2ydj8E3gRGwttnLiNvmWImWkJ0isSNalSMWpWLAGPCPnFaUP/NAuRiyk/+yG0= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by AS8PR08MB6390.eurprd08.prod.outlook.com (2603:10a6:20b:31b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8230.11; Wed, 4 Dec 2024 12:18:24 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69%2]) with mapi id 15.20.8207.017; Wed, 4 Dec 2024 12:18:24 +0000 Date: Wed, 4 Dec 2024 12:18:22 +0000 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, Richard.Earnshaw@arm.com, ktkachov@gcc.gnu.org, richard.sandiford@arm.com Subject: [PATCH 7/7]AArch64: Implement vector concat of partial SVE vectors Message-ID: Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO4P123CA0130.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:193::9) To VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB5325:EE_|AS8PR08MB6390:EE_|DB1PEPF000509FF:EE_|GV2PR08MB8147:EE_ X-MS-Office365-Filtering-Correlation-Id: 58e37a12-6169-45cd-6759-08dd145dc5c2 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info-Original: 2wTLa1OogmHPtduua25vuYXcDcSZ8ZetPnJyQPe6aJ5g5b131xqgLNht/OaD1O8yhuXfJ+pVMS6QPID8KsTigSEfyLJPXTc1uZkKRFkbfojewSIoCPI4zlu9fSNkLkC0w5QoNcW9URVjAwzG2FvFUP51fT42opjCCLzexMMmyO2+9ryrdZtBFBp260x9UjoWcfTTOsgiK6qKXx5MplfHYTyMjAGt1hiKCDIiFClWPxKnYzWT0ynGnj143qEIWm52j/oTsLG0us4OTkQqy1fRkoJYwG9qxnwEl34BdtePIM26aA0F/9GS13MF8/ZGFCG08O5oQzj02pbkH2/p1hWvFeL+Aby5gJvUKFdatsjUR+fbVPWqN640v06g746P4niIbk8D+yJesvnDpXGENQUclss3Mhe8QkQSBp5x6PowRnTLdnDG9n+KBBmy4Hp3gX+YN8rA00NFLtrSL3qdGEm8dc2GYoNaNU0ZKAztBQuCssM9wHpSPXj3S3eR4GflsqxjDzY3uhYcEmybTw9S+3N8jfXxiG0wTv3IpHbrTaesKJhfSlRiQ0TEfqnxA7+RMpMSZKUubYXCzM3v+akQ0U9bxcXD8M/TgeBCX3C7sZ0PUtrAMte2ZkPKiuk5qdCZ20PmHakR6jmMVLMYwbapVnjgwTefNoix5ASfibwzTAH0z0yPOCmCM7tx/u7sXdeHtbPWMsCzmfo/HId/NGodWrMc+2dYZDZUh68qlO91T8t20go4n4p/XUPpxg3wpaTIv/mel0VuddcomR1bpsHtL0L6JxRTVzJfotjfoUbYYvr+EdxCbhbAvfPMuHtSvdJ0ry6/C4TNH2kF7EFS3Mi8GUVinfMSLhZv9Me+93XeoUE23gQmgWNdYwyXG1eqK2Lcr5S9+za4du+xdrc4XlzknqtjauXSkwB9OghvRCIw9JGPZDGD/9PP5a7dhN57n0SXHk57CyltFDkeyBicOorpWon9w2bLJrZgsunRq4OYIc9Dv7ILN+cyC1AH8IMFJXPa2GqgNrL4nkc5aBSA5UjN2/OUQt2bLVoG80O09PKEYkZHkVEDa6W50PakEG17dPO7T39LYlw+WWbl1iFG7UaDqOz44hIOcpdi/6Ndej2lLL++nRFjmhh/0bua7yeUalOboX/7RzJaNm4Pk8wLgAurejwpCFnIqsDHLHIDQYQ4manWvW7PvWC5mIxCbYJJ5uc6HP5LqWRTGwIJefDVKx2+ITS2nZ0OYf5vW7upM6VOOH+zRoGxDnijA4A1m7jjGhXukqfM82rjHekjdHkTozl6sfF7R0WaoNlxfp5H4AVzoMYJW2E= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6390 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:803:13e::17]; domain=VI1PR08MB5325.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF000509FF.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: fb8d36de-9be7-48d0-61af-08dd145dc036 X-Microsoft-Antispam: BCL:0; ARA:13230040|14060799003|1800799024|35042699022|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?9LezKJK/IR6p3oRTTZA+/wppgP7/Y+t?= =?utf-8?q?6562D2ywqfNJVzqGIQx902QrHUUCrnJJp8bTZ3eozIud0qhM5u4orZWJF5rDi0KUy?= =?utf-8?q?scCQxMlKPQorsTXWCxhwAMzFGcSxFxgVFMwaHls6y2qvA+Xq1368WoAGiB42fFuS+?= =?utf-8?q?q6CRXSO9bfmmw5ZhQ74s0kVMCNBvjc/bEqN3BiyNGWMSluKJIeSztTrrBU37u2BiO?= =?utf-8?q?rEVP0uub0V/Z5d/taX8vXNi8ao1en9CykmO8EeIKEfE5tKlIfblNz+/srW5u+hQgC?= =?utf-8?q?bj+ngKiaeXCeuf1p8m5W/mZ9rSJS1JyO6fWtXqxweB2UYJ4CFOOxsFHSHS26y2upQ?= =?utf-8?q?xh8p0dD8CI46NapgPBn0/Fu54MuBEC8XLIkwmu3AQNGmcae+zAvqlmBQrOHax10vy?= =?utf-8?q?RzqUcBc4cvwwknGxY8c2I6oYapQZgTKLOP+eMo7A3h8o6BFsq5MEpHWdhz/1BfUEg?= =?utf-8?q?fsun8t6c+CK/kw8gG0cmx9TZtEQNGTtI3ZpfB8xlhwFWwAAqHsraTqFMM+VHq9sLh?= =?utf-8?q?svXLuCFtEB7Gqe88WaKu4HB4Ihh3OdLrdWjl6hOMvbd6sIQyg6wNNcdS8wqrt0Io0?= =?utf-8?q?nEEJW+TXvKne812f+W4m9fgMTb2z0g1zZLY6yI9w1T4vXcCv1TLRhZnVZPhjHvO/Z?= =?utf-8?q?fyppxCOMIGRpbRyBMeYADiPhGUS6/nOuHbXUHLS1pDhxIRwTwtpUeT3lqNwilJLOL?= =?utf-8?q?jhm5i645RstEftgMMawu8CdLNTXPiuR08eIb+dokyE3yHi3ywvLljbwpB6+s9zYON?= =?utf-8?q?owDSiGNVpUM56RKI/NLpyYPY0xVXVTxNU2PbjL2ZkFMS+WHAc1v1K/jKlP3ErofcP?= =?utf-8?q?ogCFofujtY6iVH9fKrMOAcN2Qv33IeNuVpWZNm/QfeASJJNuzy0MlmF+zob9ERu3i?= =?utf-8?q?RO/cAt/9DUPbgTPzV+jEmR5TklqHBitz8gWXN5MwQuMPu3oNTygaf4ZVGVvvjXKre?= =?utf-8?q?626uH/EyUsqJ+O+EtXlZ1EMiE2uE4rAzzqQOgiJLPIj7BfkkccFpUVijKuGlS5avm?= =?utf-8?q?6Y2PbUn+57sglfotmuvzYjE2JpHAL30kBFhg0rL6j6zEHVh79EerKHmSH7UFBSHbz?= =?utf-8?q?9XB0oOQc5W90JxFQs+EdjiKD0sfisoiEJNtuu7iNcFDAF6QDYI5ZKO3zSZOy89Szr?= =?utf-8?q?TCRob3Kesa6TmbtjZaUL3WO+199ZSQ0GmC/51rMxmUn+xpsRuJuLpv9LxMERW6K5p?= =?utf-8?q?8qKNgTkm8+tYi/rEBst33XKQh0pHUC6Q2XgcjeNxy1WKnxXbwBAjO04bcOgPsAmFz?= =?utf-8?q?lK8ImL4piaH3TC7pwTEKP7wtTe9b2GE4XGGw8tp291Pm+X+lAlaraODcBsoYuxBij?= =?utf-8?q?Hv1bceuNZOAvZLkXi3JPCx9hbh97r45+Ww=3D=3D?= 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:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(14060799003)(1800799024)(35042699022)(36860700013)(82310400026)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Dec 2024 12:18:33.8063 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 58e37a12-6169-45cd-6759-08dd145dc5c2 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: DB1PEPF000509FF.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8147 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_ASCII_DIVIDERS, KAM_LOTSOFHASH, KAM_SHORT, SPF_HELO_NONE, SPF_NONE, TXREP, UNPARSEABLE_RELAY, URIBL_BLOCKED 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~patchwork=sourceware.org@gcc.gnu.org Hi All, This patch adds support for vector constructor from two partial SVE vectors into a full SVE vector. It also implements support for the standard vec_init obtab to do this. gcc/ChangeLog: PR target/96342 * config/aarch64/aarch64-sve.md (vec_init): New. (@aarch64_pack_partial): New. * config/aarch64/aarch64.cc (aarch64_sve_expand_vector_init): Special case constructors of two vectors. * config/aarch64/iterators.md (SVE_NO2E, SVE_PARTIAL_NO2E): New. (VHALF, Vhalf, Vwstype): Add SVE partial vectors. gcc/testsuite/ChangeLog: PR target/96342 * gcc.target/aarch64/vect-simd-clone-2.c: New test. Bootstrapped Regtested on aarch64-none-linux-gnu, arm-none-linux-gnueabihf, x86_64-pc-linux-gnu -m32, -m64 and no issues. Ok for master? Thanks, Tamar --- -- diff --git a/gcc/config/aarch64/aarch64-sve.md b/gcc/config/aarch64/aarch64-sve.md index 9afd11d347626eeb640722fdba2ab763b8479aa7..9e3577be6e943d7a5c951196463873d4bcfee07c 100644 --- a/gcc/config/aarch64/aarch64-sve.md +++ b/gcc/config/aarch64/aarch64-sve.md @@ -2840,6 +2840,16 @@ (define_expand "vec_init" } ) +(define_expand "vec_init" + [(match_operand:SVE_NO2E 0 "register_operand") + (match_operand 1 "")] + "TARGET_SVE" + { + aarch64_sve_expand_vector_init (operands[0], operands[1]); + DONE; + } +) + ;; Shift an SVE vector left and insert a scalar into element 0. (define_insn "vec_shl_insert_" [(set (match_operand:SVE_FULL 0 "register_operand") @@ -9347,6 +9357,20 @@ (define_insn "vec_pack_trunc_" "uzp1\t%0., %1., %2." ) +;; Integer partial pack packing two partial SVE types into a single full SVE +;; type of the same element type. Use UZP1 on the wider type, which discards +;; the high part of each wide element. This allows to concat SVE partial types +;; into a wider vector. +(define_insn "@aarch64_pack_partial" + [(set (match_operand:SVE_PARTIAL_NO2E 0 "register_operand" "=w") + (unspec:SVE_PARTIAL_NO2E + [(match_operand: 1 "register_operand" "w") + (match_operand: 2 "register_operand" "w")] + UNSPEC_PACK))] + "TARGET_SVE" + "uzp1\t%0., %1., %2." +) + ;; ------------------------------------------------------------------------- ;; ---- [INT<-INT] Unpacks ;; ------------------------------------------------------------------------- diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index af6fede102c2be6673c24f8020d000ea56322997..690d54b0a2954327e00d559f96c414c81c2e18cd 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -24790,6 +24790,17 @@ aarch64_sve_expand_vector_init (rtx target, rtx vals) v.quick_push (XVECEXP (vals, 0, i)); v.finalize (); + /* If we have two elements and are concatting vector. */ + machine_mode elem_mode = GET_MODE (v.elt (0)); + if (nelts == 2 && VECTOR_MODE_P (elem_mode)) + { + /* We've failed expansion using a dup. Try using a cheeky truncate. */ + rtx arg0 = force_reg (elem_mode, v.elt(0)); + rtx arg1 = force_reg (elem_mode, v.elt(1)); + emit_insn (gen_aarch64_pack_partial (mode, target, arg0, arg1)); + return; + } + /* If neither sub-vectors of v could be initialized specially, then use INSR to insert all elements from v into TARGET. ??? This might not be optimal for vectors with large diff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md index 023893d35f3e955e222c322ce370e84c95c29ee6..77d23d6ad795630d3d5fb5c076c086a479d46fee 100644 --- a/gcc/config/aarch64/iterators.md +++ b/gcc/config/aarch64/iterators.md @@ -138,6 +138,14 @@ (define_mode_iterator VQ_I [V16QI V8HI V4SI V2DI]) ;; VQ without 2 element modes. (define_mode_iterator VQ_NO2E [V16QI V8HI V4SI V8HF V4SF V8BF]) +;; SVE modes without 2 element modes. +(define_mode_iterator SVE_NO2E [VNx16QI VNx8QI VNx4QI VNx8HI VNx4HI VNx8HF + VNx4HF VNx8BF VNx4BF VNx4SI VNx4SF]) + +;; Partial SVE modes without 2 element modes. +(define_mode_iterator SVE_PARTIAL_NO2E [VNx8QI VNx4QI VNx4HI + VNx4HF VNx8BF VNx4BF]) + ;; 2 element quad vector modes. (define_mode_iterator VQ_2E [V2DI V2DF]) @@ -1678,7 +1686,15 @@ (define_mode_attr VHALF [(V8QI "V4QI") (V16QI "V8QI") (V2DI "DI") (V2SF "SF") (V4SF "V2SF") (V4HF "V2HF") (V8HF "V4HF") (V2DF "DF") - (V8BF "V4BF")]) + (V8BF "V4BF") + (VNx16QI "VNx8QI") (VNx8QI "VNx4QI") + (VNx4QI "VNx2QI") (VNx2QI "QI") + (VNx8HI "VNx4HI") (VNx4HI "VNx2HI") (VNx2HI "HI") + (VNx8HF "VNx4HF") (VNx4HF "VNx2HF") (VNx2HF "HF") + (VNx8BF "VNx4BF") (VNx4BF "VNx2BF") (VNx2BF "BF") + (VNx4SI "VNx2SI") (VNx2SI "SI") + (VNx4SF "VNx2SF") (VNx2SF "SF") + (VNx2DI "DI") (VNx2DF "DF")]) ;; Half modes of all vector modes, in lower-case. (define_mode_attr Vhalf [(V8QI "v4qi") (V16QI "v8qi") @@ -1686,7 +1702,15 @@ (define_mode_attr Vhalf [(V8QI "v4qi") (V16QI "v8qi") (V8HF "v4hf") (V8BF "v4bf") (V2SI "si") (V4SI "v2si") (V2DI "di") (V2SF "sf") - (V4SF "v2sf") (V2DF "df")]) + (V4SF "v2sf") (V2DF "df") + (VNx16QI "vnx8qi") (VNx8QI "vnx4qi") + (VNx4QI "vnx2qi") (VNx2QI "qi") + (VNx8HI "vnx4hi") (VNx4HI "vnx2hi") (VNx2HI "hi") + (VNx8HF "vnx4hf") (VNx4HF "vnx2hf") (VNx2HF "hf") + (VNx8BF "vnx4bf") (VNx4BF "vnx2bf") (VNx2BF "bf") + (VNx4SI "vnx2si") (VNx2SI "si") + (VNx4SF "vnx2sf") (VNx2SF "sf") + (VNx2DI "di") (VNx2DF "df")]) ;; Single-element half modes of quad vector modes. (define_mode_attr V1HALF [(V2DI "V1DI") (V2DF "V1DF")]) @@ -1815,7 +1839,10 @@ (define_mode_attr Vwtype [(V8QI "8h") (V4HI "4s") ;; Widened scalar register suffixes. (define_mode_attr Vwstype [(V8QI "h") (V4HI "s") (V2SI "") (V16QI "h") - (V8HI "s") (V4SI "d")]) + (V8HI "s") (V4SI "d") + (VNx8QI "h") (VNx4QI "h") + (VNx4HF "s") (VNx4HI "s") + (VNx8BF "h") (VNx4BF "h")]) ;; Add a .1d for V2SI. (define_mode_attr Vwsuf [(V8QI "") (V4HI "") (V2SI ".1d") (V16QI "") diff --git a/gcc/testsuite/gcc.target/aarch64/vect-simd-clone-2.c b/gcc/testsuite/gcc.target/aarch64/vect-simd-clone-2.c new file mode 100644 index 0000000000000000000000000000000000000000..a25cae2708dd18cc91a7732f845419bbdb06c5c1 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/vect-simd-clone-2.c @@ -0,0 +1,13 @@ +/* { dg-do compile } */ +/* { dg-options "-std=c99" } */ +/* { dg-additional-options "-O3 -march=armv8-a" } */ + +#pragma GCC target ("+sve") +extern char __attribute__ ((simd, const)) fn3 (int, char); +void test_fn3 (int *a, int *b, char *c, int n) +{ + for (int i = 0; i < n; ++i) + a[i] = (int) (fn3 (b[i], c[i]) + c[i]); +} + +/* { dg-final { scan-assembler {\s+_ZGVsMxvv_fn3\n} } } */