From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2043.outbound.protection.outlook.com [40.107.21.43]) by sourceware.org (Postfix) with ESMTPS id 6F543384A880; Wed, 15 May 2024 10:29:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6F543384A880 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 6F543384A880 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.21.43 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1715768992; cv=pass; b=uOlL5fK5qbKg/iMb2wN4XPIexdlp/mBqxA5Pc8OsXWyMCaF/ccUl5X0OszJsehTV2xmdvo9sUKG82qQ26DUq5eV6T54LMq/ad6BaykGg4LbKRGUpximvZKA6lQL+WKTForeS5KAff0TMVMprBnfvkn0QtGFtY1qHCjBAZANv5oc= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1715768992; c=relaxed/simple; bh=ysvVqCEw3qtSQaBoT20+fPQ/M1SSFvlRlWX+0obTN3Q=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=xhrWvm4wykT7Pe/Cxie/OVOArh4rD/BKIR1B8AgQpakzo5kXoHXWK2lNAON6W34BgjqrcLq2ainUIobbWvyLXTL9Vqqu3ceACSqqOVnMQK4WtkatqAJGh4yG/2ivY12722d5FD9Q7TZpXhPc1y9LvaVS3/UuBQS2VeMf3JD02jM= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=dVsFUBry91atIDVZIO2hKmYV/LYKQ9rSavFfkn7Gq3ZJ2WxIunBwK7vd6xnMX/Wwjn7KA89Y5h1QJvwmvrYtqlfpF6f9yzeWuEUU32/i5nMj8tIpvCR5vg/iXg0sR/RrwhOBk/vT41fRLgp7cx4rF8gDnes/h1H/fdp26ATDYx/Pr/qnzvhoYNME+v9RkKpKkRgRCW0BsaZsG2STlG+QjRIg/wvBLKveNvhpopw38O++P8xM5OegPkB/gfFtMSp986ODmjsn+jkunDOKOB1XTsF3GzE8XkLUTwfDclkJaZGDExjEhsr+0PzIub2f5wChz4mXPWOQH5HmJ4gTLCAt4Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=52cqYGj7oOILqoYyD0tPHV8++n/CH0iJiv0MAXbtlLw=; b=bWCe1VPjwnzdsTiM3C7c67oeQlzccqKRKsUG23FtzO+wHDRM4z/+rc3zL7CquUcl6wGwC/JymSuHrNNz5EDCLllzUGWFvOo60RIro8oe1zXH4vzqDTdpPzISstxgdDEFggvig0bbF4OociSLqGu2opwJPPh0m47bTYr0yvrgzGot5DsV4Z7kHXTePGfDesi7wUOz456RbotgMEgoCihBICC3pO6OoJOpVHCHx2JFq6ALiNpL4hS5aNDdbqzt9/XPzybFkawC16cdyyEpsienOjY5NRJnN2dOgTJ350J8oqoYaztoNTqsALzxidl4aSWUTuQNmoVQREMeddsCR2yAbg== 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=52cqYGj7oOILqoYyD0tPHV8++n/CH0iJiv0MAXbtlLw=; b=WNSeXhMOkR4sfe8XvtirprmbtOkrCaZoc/4YCrez2euPpNJpNnjCBV+izcjvtO5nodIypql2LmIiC7yZwtfmNBql8jED+/zlg+vu4ie8Zou0SMD6ew3uYl1M/2ntxwaD4EzDDmxf3QVBT1UM8GtfAF8e/lWZ9LAbssPjvTNLFog= Received: from DB7PR03CA0094.eurprd03.prod.outlook.com (2603:10a6:10:72::35) by DU0PR08MB7739.eurprd08.prod.outlook.com (2603:10a6:10:3bd::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55; Wed, 15 May 2024 10:29:46 +0000 Received: from DB5PEPF00014B97.eurprd02.prod.outlook.com (2603:10a6:10:72:cafe::c9) by DB7PR03CA0094.outlook.office365.com (2603:10a6:10:72::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.27 via Frontend Transport; Wed, 15 May 2024 10:29:46 +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 DB5PEPF00014B97.mail.protection.outlook.com (10.167.8.235) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7587.21 via Frontend Transport; Wed, 15 May 2024 10:29:44 +0000 Received: ("Tessian outbound 9d9bf1c5d85a:v315"); Wed, 15 May 2024 10:29:44 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 467110e47612d57e X-CR-MTA-TID: 64aa7808 Received: from 02a3ca644d9d.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DF236174-9F56-4441-A46A-24493B86ADAA.1; Wed, 15 May 2024 10:29:37 +0000 Received: from EUR03-DBA-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 02a3ca644d9d.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 15 May 2024 10:29:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UT83JnsJkYBTVX7jtILroJiE6UlKhNx0AulKORwvemCNPRqLJb2nZq2lhzrA3SftaWvqfhKU5QrQYSCtOUJW8eNBelwk9G1s679njvxyGymF5WVGq5XAOPquTosXj7s2X89Wvpz7WfYc3mfRaJoE00JCJYHjxsIkHFDEnZ5LCgLdZKcLdobqkeYvbC8EneBVrMVuaDcRLeEK3xg5X3JxijfqAPmmDjz/Q0M7djghSh1MQqZLGsza+FITNNU8lCeNWZYGEhoyhdJCTH7EkC9CLMwgeU9CYD2M+oFT4SzA1RHpX6Gv0brpeaEVSKO8kAagj7vUloFFCm4V2D5x77aO1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=52cqYGj7oOILqoYyD0tPHV8++n/CH0iJiv0MAXbtlLw=; b=NfaZEv/w+0Lfrygp3oBk+t3M9/5OFTkEJH1miug2PyfoTFvSadK+qAGf2eZBHMhtOiHc6mfx7F5V9ya+bgcVKi5Xow1yJQ6N6G//E5/7gWGAQmIci4ZqZV/OsyAQ50hnmeCW1+ejwq9lNtDKOzKt1Yq/HFm/1Jl/QsnfUnSOViC3CTwtj18LNLHl7Y3GeoTlom6hpOw8BBm7cxDR4Ry/Oj7nEi3qbwKTIVevaUgUyJbN7mLGQ7pGNkiEA1XsdoQTFAs9TQLN8vT13zzcIsiHCkkAErcuXMsjeqZyXL3uWfjEFYRFVk7oEjn+noRi1du5lJ7nw51jansQIXnSFS73SQ== 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=52cqYGj7oOILqoYyD0tPHV8++n/CH0iJiv0MAXbtlLw=; b=WNSeXhMOkR4sfe8XvtirprmbtOkrCaZoc/4YCrez2euPpNJpNnjCBV+izcjvtO5nodIypql2LmIiC7yZwtfmNBql8jED+/zlg+vu4ie8Zou0SMD6ew3uYl1M/2ntxwaD4EzDDmxf3QVBT1UM8GtfAF8e/lWZ9LAbssPjvTNLFog= 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 AS2PR08MB8950.eurprd08.prod.outlook.com (2603:10a6:20b:5f9::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.27; Wed, 15 May 2024 10:29:34 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::89dc:c731:362b:7c69%4]) with mapi id 15.20.7587.025; Wed, 15 May 2024 10:29:34 +0000 Date: Wed, 15 May 2024 11:29:32 +0100 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, Richard.Earnshaw@arm.com, Marcus.Shawcroft@arm.com, ktkachov@gcc.gnu.org, richard.sandiford@arm.com Subject: [PATCH 4/4]AArch64: enable new predicate tuning for Neoverse cores. Message-ID: Content-Type: multipart/mixed; boundary="GVA5UcZ3HBbMLcNl" Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO4P123CA0596.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:295::10) To VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB5325:EE_|AS2PR08MB8950:EE_|DB5PEPF00014B97:EE_|DU0PR08MB7739:EE_ X-MS-Office365-Filtering-Correlation-Id: 3f2219dd-e84e-4a3c-157e-08dc74c9efdf x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230031|376005|1800799015|366007; X-Microsoft-Antispam-Message-Info-Original: =?us-ascii?Q?DLE8TV8tvFqiVnabFkPUaR23HllwguwNRg8z+y0jvUzquYtXpBAFvQXuFrkR?= =?us-ascii?Q?Y69CQ1WS/WJNbKt9tauWqRyyFS1gTfZlhJ20rZ0IHvr2cLS4FsU92YWoJIIn?= =?us-ascii?Q?uqujv1ZfWMvTnqBppmLBUBJAhULpveWcMRsX5afenQqMvcx7fiNkyyQk+BU5?= =?us-ascii?Q?pdpxfH8c9O/Zly7gRjq/iml5O4dwQwsv0Wjnb2TmzG3WTSdLUne7RspZRJBc?= =?us-ascii?Q?wLiRqYSEm5eYixCsyW2VuYUnraFeBj24rmZTfxj08yE6OKs4+0nBNlPlQXQX?= =?us-ascii?Q?t4TS994TXuWsGjnJLth4McRIqH639IaOgyQVp83mFipR1cyon0kKk5lzItLO?= =?us-ascii?Q?D9VzwSEBvBixHgGMk3+IgnuQ7i15rr8A9UehMa89eQgUR48ulT3nGe1qlvEp?= =?us-ascii?Q?WCgmTs/bka9k/gRstasT1SRqEkFni+FlxJbsnT0ILb0a6gRD5P6Kd+gZKKoH?= =?us-ascii?Q?CSiAFshRHyU3tlIKe38m8dUH7mn2hNVgpJiZqsgXdTY4pS3xDR9gQpLe8+eL?= =?us-ascii?Q?+dU2lOktfjhebcu0p9fziJwa9HYLxzpK0A+IGaZUcULPWvbMCKRjB1aIiJhR?= =?us-ascii?Q?uxMNim3K+JPuPu8f21syxiVSmmDrwU9mpfF7NwbnzcXPgKdu5KbEHupYbXI7?= =?us-ascii?Q?qAnPiZvOzA7BIAtZIIrwAn+WWoj116878jT68MmYkWN1IdQkM7ak1DYUGaXD?= =?us-ascii?Q?oVHRAWCQA0U6KKv7cdXdM6Ijvat4JflnFRxiJ/Lt8xrdS9DLpjHHLlPI+3U5?= =?us-ascii?Q?dif8gtOO8UbPqZTvTTbcjpgA761NgJLJ1YzpMPZtDH4pnTs9gHJetlNeTxxS?= =?us-ascii?Q?TPP6FmYbJYxVwRqdT5Rz4POBaUs7ORQcIf3WXslibM78wSMryRW+OIT6EL4m?= =?us-ascii?Q?mBYfMTyxQ9Sq1euCzyJWjIDda1FAKiTZcQ5DJw8uXS2S6YuNBbuYhCEBgI29?= =?us-ascii?Q?24MV2sFeg195pNEV1j98SbUFe9VKa5BlBdWVzGev31tgEvwLZHwEV2JyZJM6?= =?us-ascii?Q?M6d4qnl22Erb9zX5YTNU504oDVI352zHrQTz6oWnwR41HChmZVoqEyPJiprr?= =?us-ascii?Q?iP9HAvjUyzi5GqEBN4af+SwwlRnaa1GK157oQHel6zgNSgIds55Tu08xqpTa?= =?us-ascii?Q?FgzzgRfHX16miGR0QSmv/j3DR6IXxm5N4uWDjjIXSgjGOlfpoXU2+3YHkaY4?= =?us-ascii?Q?wz0b9v239KnhOBH7tvkc6O5vTyGkXfnN89pFG28720bsontSZ4TZ6W6dp08?= =?us-ascii?Q?=3D?= 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:(13230031)(376005)(1800799015)(366007);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8950 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-Transport-CrossTenantHeadersStripped: DB5PEPF00014B97.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 05662575-7780-4279-9a8a-08dc74c9e9f7 X-Microsoft-Antispam: BCL:0;ARA:13230031|36860700004|376005|1800799015|82310400017|35042699013; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TkVZakdITTRBT3RkTnp4N0tXZmJGV0VTNlFPUWViVnNjdlFOYUhNREVmTlhC?= =?utf-8?B?bytrczJ1NUU4dS9vaGZkWGxMOGJkdnNlN2NFQk5RaDl0NXg0OWZyQWx4VVVh?= =?utf-8?B?TC9BTmtMck1uYXM0bFR5dEFKL2x3RDRFeUpIbXc1cG85c0l3cTFBYnR4NHhZ?= =?utf-8?B?WW9QWXhpeUM4SmUzYkRvbHRSbVcxWTh6VWZ2RkJXZUh4TEhmMGlmVHRLOFNp?= =?utf-8?B?ZUZVUVhWVzNocHA1T0o0RklNakZWQVE4YXVkdnhaMGhzb08xSy9obVNXbllu?= =?utf-8?B?QlhsL1p2S0FZcWNRN2hwd2s2ZXI2cmM2WDZKamsvc2VLZ1dBVFBXbFNrN1N4?= =?utf-8?B?c0tpRmNNMVBLRU41YldJNnllQWl1MFJxaXNocFUwMHpOTFN4UUZ4WC9XeXl5?= =?utf-8?B?RGQ3UUlod1RQWnpRdFZvUU1jcWJ4Z2ttRHo0a0VyN0JEejZqdFFYS3REa3RJ?= =?utf-8?B?d2toZ1ZXMzhyTkpvZVFkT09TRlB6NFh6aU5UTUFoaUF2ZkFJS3lsellQSkw4?= =?utf-8?B?ZDJuUlBVa0I3c1pmVHlxaks3T1hJOU5TeHFXSk43UkJiOVRRaWJsNjgxcTU5?= =?utf-8?B?NnVCdWZQOGE0VGhQdmNrdWJBZVJIWjdhN3ZMTHlpYnN2RS94RmJ5WnF2VEcx?= =?utf-8?B?RCtiQUd0T1NpRFBSdjREMllXZEVZYzhPZ2IzZTdIYnBreGhDNGd5SVEySXdM?= =?utf-8?B?Vlg4WmhwKyt1WExqM1g3UjdKdldnUnUyeWl1Uk9XVE14MVZLUU1aZ0pmbGpI?= =?utf-8?B?WU9meC9TWHJ6bjFwUXA2OWNMMVNOUWdVUFpyeGVrdUUrY2QrL096WmdNaFZu?= =?utf-8?B?VkhPYjZMNDZtc0pPWFlycFA1TmF6U3V1Kzh5VE5KZXdQU2doZDlHZndFOTVN?= =?utf-8?B?bmF4bTNZNjdZKzhiTzh3SHVTTGJ2eUJmMENTOVc4MHBpQXZ6eXhDU2NWcUVx?= =?utf-8?B?OVI0d3c3bmNHMUp2b0RlcGhmNlh3ckE3cVVXVW9tRHRoTUZBa3NFb0tET3Jv?= =?utf-8?B?OWJvMWdMdm50YlJmTU1qaWM2VVNtOU1uMDJ6TExmb1hCSjhlQzBCaS80WElO?= =?utf-8?B?a3VhcDg1NndqVGdnMTFaSkFMSEk0bmdqOGZOVHBvK3hWSkY2MVJMeFV2SFJ6?= =?utf-8?B?MkJBQXJjdkhYYjhVbDI4ZnpBdXB4b0JVb1JNUzdNS3k0Z3RaeUMyck10Z0ts?= =?utf-8?B?dmZSSVlabDdOOUxmQVVFSVg1N0d3elBZeWhjVnFQb0lsRllaazd3MzhUbjhU?= =?utf-8?B?ZlBkYTlwdzd6ejZqL2hkQmF4U2w3OEZKL2FjRHB6bmVkamZWaWpxNTNNYngr?= =?utf-8?B?cEhKZ2Y3VjE2Rmp6ak12cnBESis0QlZtMVBkT0RaQXFVTTlLTVRnZ3RRaUpo?= =?utf-8?B?dExmOUtJaC9ncWovZEhKOUp3SEZ5Y1A1YjNpcUZTQzZvRjFGN3FmZ2JxemZR?= =?utf-8?B?Y0dMRm1vUEgveVlzYTI3YlhZb0FoTjVzT3E1OEhXVHBnYlBKSTJoYjQvakpl?= =?utf-8?B?aFF5Z0p3RjJ6TjdhdVY2T3VUR2lTcjQxTVR5bEZORHRuMXBQUlJSdHk0Um5t?= =?utf-8?B?UFdneUFyNlBYMnYrYm5aMEd3dUhSRG0zZGl5RU5GNUsrL1lONGlVTTlTbGtU?= =?utf-8?B?enBoQnIybDFGQWRYc3VaUUd3Ylo5S1F6VjBOSmlRQTBYdzVOYklRUnNTYm1D?= =?utf-8?B?UVlWcmNvNWtyNnN5QmhIOW5BcUVKcFlOVmp0UkFvb080Z2ppdmN2VUtxQjZM?= =?utf-8?B?bUpEWWVQaWJib2poOXptV2N0OURYTUltVUVjL3RmTFUyeG82ZkMzekQwRXUr?= =?utf-8?B?UjB0VWFHWmpBWjdhMEsrZz09?= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(376005)(1800799015)(82310400017)(35042699013);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2024 10:29:44.1077 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3f2219dd-e84e-4a3c-157e-08dc74c9efdf 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: DB5PEPF00014B97.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7739 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,KAM_LOTSOFHASH,KAM_SHORT,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --GVA5UcZ3HBbMLcNl Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Hi All, This enables the new tuning flag for Neoverse V1, Neoverse V2 and Neoverse N2. It is kept off for generic codegen. Note the reason for the +sve even though they are in aarch64-sve.exp is if the testsuite is ran with a forced SVE off option, e.g. -march=armv8-a+nosve then the intrinsics end up being disabled because the -march is preferred over the -mcpu even though the -mcpu comes later. This prevents the tests from failing in such runs. Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. Ok for master? Thanks, Tamar gcc/ChangeLog: * config/aarch64/tuning_models/neoversen2.h (neoversen2_tunings): Add AARCH64_EXTRA_TUNE_EARLY_CLOBBER_SVE_PRED_DEST. * config/aarch64/tuning_models/neoversev1.h (neoversev1_tunings): Add AARCH64_EXTRA_TUNE_EARLY_CLOBBER_SVE_PRED_DEST. * config/aarch64/tuning_models/neoversev2.h (neoversev2_tunings): Add AARCH64_EXTRA_TUNE_EARLY_CLOBBER_SVE_PRED_DEST. gcc/testsuite/ChangeLog: * gcc.target/aarch64/sve/pred_clobber_1.c: New test. * gcc.target/aarch64/sve/pred_clobber_2.c: New test. * gcc.target/aarch64/sve/pred_clobber_3.c: New test. * gcc.target/aarch64/sve/pred_clobber_4.c: New test. * gcc.target/aarch64/sve/pred_clobber_5.c: New test. --- diff --git a/gcc/config/aarch64/tuning_models/neoversen2.h b/gcc/config/aarch64/tuning_models/neoversen2.h index 7e799bbe762fe862e31befed50e54040a7fd1f2f..0d8f3f6be67f3583b00473bef97ea3ae4fcea4ec 100644 --- a/gcc/config/aarch64/tuning_models/neoversen2.h +++ b/gcc/config/aarch64/tuning_models/neoversen2.h @@ -236,7 +236,8 @@ static const struct tune_params neoversen2_tunings = (AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND | AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS | AARCH64_EXTRA_TUNE_USE_NEW_VECTOR_COSTS - | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT), /* tune_flags. */ + | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT + | AARCH64_EXTRA_TUNE_EARLY_CLOBBER_SVE_PRED_DEST), /* tune_flags. */ &generic_prefetch_tune, AARCH64_LDP_STP_POLICY_ALWAYS, /* ldp_policy_model. */ AARCH64_LDP_STP_POLICY_ALWAYS /* stp_policy_model. */ diff --git a/gcc/config/aarch64/tuning_models/neoversev1.h b/gcc/config/aarch64/tuning_models/neoversev1.h index 9363f2ad98a5279cc99f2f9b1509ba921d582e84..d28d0b1c0498ed250b0a93ca69720fe10c65c93d 100644 --- a/gcc/config/aarch64/tuning_models/neoversev1.h +++ b/gcc/config/aarch64/tuning_models/neoversev1.h @@ -227,7 +227,8 @@ static const struct tune_params neoversev1_tunings = (AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS | AARCH64_EXTRA_TUNE_USE_NEW_VECTOR_COSTS | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT - | AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND), /* tune_flags. */ + | AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND + | AARCH64_EXTRA_TUNE_EARLY_CLOBBER_SVE_PRED_DEST), /* tune_flags. */ &generic_prefetch_tune, AARCH64_LDP_STP_POLICY_ALWAYS, /* ldp_policy_model. */ AARCH64_LDP_STP_POLICY_ALWAYS /* stp_policy_model. */ diff --git a/gcc/config/aarch64/tuning_models/neoversev2.h b/gcc/config/aarch64/tuning_models/neoversev2.h index bc01ed767c9b690504eb98456402df5d9d64eee3..3b2f9797bd777e73ca9c21501fa97448d96cb65e 100644 --- a/gcc/config/aarch64/tuning_models/neoversev2.h +++ b/gcc/config/aarch64/tuning_models/neoversev2.h @@ -236,7 +236,8 @@ static const struct tune_params neoversev2_tunings = (AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND | AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS | AARCH64_EXTRA_TUNE_USE_NEW_VECTOR_COSTS - | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT), /* tune_flags. */ + | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT + | AARCH64_EXTRA_TUNE_EARLY_CLOBBER_SVE_PRED_DEST), /* tune_flags. */ &generic_prefetch_tune, AARCH64_LDP_STP_POLICY_ALWAYS, /* ldp_policy_model. */ AARCH64_LDP_STP_POLICY_ALWAYS /* stp_policy_model. */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_1.c b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_1.c new file mode 100644 index 0000000000000000000000000000000000000000..934a00a38531c5fd4139d99ff33414904b2c104f --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_1.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mcpu=neoverse-n2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#pragma GCC target "+sve" + +#include + +extern void use(svbool_t); + +/* +** foo: +** ... +** ptrue p([1-9][0-9]?).b, all +** cmplo p0.h, p\1/z, z0.h, z[0-9]+.h +** ... +*/ +void foo (svuint16_t a, uint16_t b) +{ + svbool_t p0 = svcmplt_n_u16 (svptrue_b16 (), a, b); + use (p0); +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_2.c b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_2.c new file mode 100644 index 0000000000000000000000000000000000000000..58badb66a43b1ac50eeec153b9cac44fc831b145 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_2.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mcpu=neoverse-v2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#pragma GCC target "+sve" + +#include + +extern void use(svbool_t); + +/* +** foo: +** ... +** ptrue p([1-9][0-9]?).b, all +** cmplo p0.h, p\1/z, z0.h, z[0-9]+.h +** ... +*/ +void foo (svuint16_t a, uint16_t b) +{ + svbool_t p0 = svcmplt_n_u16 (svptrue_b16 (), a, b); + use (p0); +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_3.c b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_3.c new file mode 100644 index 0000000000000000000000000000000000000000..c67c2bd3422e0bb0c694b5fe0adf0d83e4d967c6 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_3.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mcpu=neoverse-v1" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#pragma GCC target "+sve" + +#include + +extern void use(svbool_t); + +/* +** foo: +** ... +** ptrue p([1-9][0-9]?).b, all +** cmplo p0.h, p\1/z, z0.h, z[0-9]+.h +** ... +*/ +void foo (svuint16_t a, uint16_t b) +{ + svbool_t p0 = svcmplt_n_u16 (svptrue_b16 (), a, b); + use (p0); +} + diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_4.c b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_4.c new file mode 100644 index 0000000000000000000000000000000000000000..c0120afe5d523eff8297fadd4fc4c678676413d6 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_4.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#pragma GCC target "+sve" + +#include + +extern void use(svbool_t); + +/* +** foo: +** ... +** ptrue p0.b, all +** cmplo p0.h, p0/z, z0.h, z[0-9]+.h +** ... +*/ +void foo (svuint16_t a, uint16_t b) +{ + svbool_t p0 = svcmplt_n_u16 (svptrue_b16 (), a, b); + use (p0); +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_5.c b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_5.c new file mode 100644 index 0000000000000000000000000000000000000000..63f0669abd23d45c0ffd77c53859a098a21e0192 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_5.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mcpu=neoverse-n2 -ffixed-p1 -ffixed-p2 -ffixed-p3 -ffixed-p4 -ffixed-p5 -ffixed-p6 -ffixed-p7 -ffixed-p8 -ffixed-p9 -ffixed-p10 -ffixed-p11 -ffixed-p12 -ffixed-p12 -ffixed-p13 -ffixed-p14 -ffixed-p15" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#pragma GCC target "+sve" + +#include + +extern void use(svbool_t); + +/* +** foo: +** ... +** ptrue p0.b, all +** cmplo p0.h, p0/z, z0.h, z[0-9]+.h +** ... +*/ +void foo (svuint16_t a, uint16_t b) +{ + svbool_t p0 = svcmplt_n_u16 (svptrue_b16 (), a, b); + use (p0); +} -- --GVA5UcZ3HBbMLcNl Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="rb18356.patch" diff --git a/gcc/config/aarch64/tuning_models/neoversen2.h b/gcc/config/aarch64/tuning_models/neoversen2.h index 7e799bbe762fe862e31befed50e54040a7fd1f2f..0d8f3f6be67f3583b00473bef97ea3ae4fcea4ec 100644 --- a/gcc/config/aarch64/tuning_models/neoversen2.h +++ b/gcc/config/aarch64/tuning_models/neoversen2.h @@ -236,7 +236,8 @@ static const struct tune_params neoversen2_tunings = (AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND | AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS | AARCH64_EXTRA_TUNE_USE_NEW_VECTOR_COSTS - | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT), /* tune_flags. */ + | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT + | AARCH64_EXTRA_TUNE_EARLY_CLOBBER_SVE_PRED_DEST), /* tune_flags. */ &generic_prefetch_tune, AARCH64_LDP_STP_POLICY_ALWAYS, /* ldp_policy_model. */ AARCH64_LDP_STP_POLICY_ALWAYS /* stp_policy_model. */ diff --git a/gcc/config/aarch64/tuning_models/neoversev1.h b/gcc/config/aarch64/tuning_models/neoversev1.h index 9363f2ad98a5279cc99f2f9b1509ba921d582e84..d28d0b1c0498ed250b0a93ca69720fe10c65c93d 100644 --- a/gcc/config/aarch64/tuning_models/neoversev1.h +++ b/gcc/config/aarch64/tuning_models/neoversev1.h @@ -227,7 +227,8 @@ static const struct tune_params neoversev1_tunings = (AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS | AARCH64_EXTRA_TUNE_USE_NEW_VECTOR_COSTS | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT - | AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND), /* tune_flags. */ + | AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND + | AARCH64_EXTRA_TUNE_EARLY_CLOBBER_SVE_PRED_DEST), /* tune_flags. */ &generic_prefetch_tune, AARCH64_LDP_STP_POLICY_ALWAYS, /* ldp_policy_model. */ AARCH64_LDP_STP_POLICY_ALWAYS /* stp_policy_model. */ diff --git a/gcc/config/aarch64/tuning_models/neoversev2.h b/gcc/config/aarch64/tuning_models/neoversev2.h index bc01ed767c9b690504eb98456402df5d9d64eee3..3b2f9797bd777e73ca9c21501fa97448d96cb65e 100644 --- a/gcc/config/aarch64/tuning_models/neoversev2.h +++ b/gcc/config/aarch64/tuning_models/neoversev2.h @@ -236,7 +236,8 @@ static const struct tune_params neoversev2_tunings = (AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND | AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS | AARCH64_EXTRA_TUNE_USE_NEW_VECTOR_COSTS - | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT), /* tune_flags. */ + | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT + | AARCH64_EXTRA_TUNE_EARLY_CLOBBER_SVE_PRED_DEST), /* tune_flags. */ &generic_prefetch_tune, AARCH64_LDP_STP_POLICY_ALWAYS, /* ldp_policy_model. */ AARCH64_LDP_STP_POLICY_ALWAYS /* stp_policy_model. */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_1.c b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_1.c new file mode 100644 index 0000000000000000000000000000000000000000..934a00a38531c5fd4139d99ff33414904b2c104f --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_1.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mcpu=neoverse-n2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#pragma GCC target "+sve" + +#include + +extern void use(svbool_t); + +/* +** foo: +** ... +** ptrue p([1-9][0-9]?).b, all +** cmplo p0.h, p\1/z, z0.h, z[0-9]+.h +** ... +*/ +void foo (svuint16_t a, uint16_t b) +{ + svbool_t p0 = svcmplt_n_u16 (svptrue_b16 (), a, b); + use (p0); +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_2.c b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_2.c new file mode 100644 index 0000000000000000000000000000000000000000..58badb66a43b1ac50eeec153b9cac44fc831b145 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_2.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mcpu=neoverse-v2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#pragma GCC target "+sve" + +#include + +extern void use(svbool_t); + +/* +** foo: +** ... +** ptrue p([1-9][0-9]?).b, all +** cmplo p0.h, p\1/z, z0.h, z[0-9]+.h +** ... +*/ +void foo (svuint16_t a, uint16_t b) +{ + svbool_t p0 = svcmplt_n_u16 (svptrue_b16 (), a, b); + use (p0); +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_3.c b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_3.c new file mode 100644 index 0000000000000000000000000000000000000000..c67c2bd3422e0bb0c694b5fe0adf0d83e4d967c6 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_3.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mcpu=neoverse-v1" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#pragma GCC target "+sve" + +#include + +extern void use(svbool_t); + +/* +** foo: +** ... +** ptrue p([1-9][0-9]?).b, all +** cmplo p0.h, p\1/z, z0.h, z[0-9]+.h +** ... +*/ +void foo (svuint16_t a, uint16_t b) +{ + svbool_t p0 = svcmplt_n_u16 (svptrue_b16 (), a, b); + use (p0); +} + diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_4.c b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_4.c new file mode 100644 index 0000000000000000000000000000000000000000..c0120afe5d523eff8297fadd4fc4c678676413d6 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_4.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#pragma GCC target "+sve" + +#include + +extern void use(svbool_t); + +/* +** foo: +** ... +** ptrue p0.b, all +** cmplo p0.h, p0/z, z0.h, z[0-9]+.h +** ... +*/ +void foo (svuint16_t a, uint16_t b) +{ + svbool_t p0 = svcmplt_n_u16 (svptrue_b16 (), a, b); + use (p0); +} diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_5.c b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_5.c new file mode 100644 index 0000000000000000000000000000000000000000..63f0669abd23d45c0ffd77c53859a098a21e0192 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_5.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mcpu=neoverse-n2 -ffixed-p1 -ffixed-p2 -ffixed-p3 -ffixed-p4 -ffixed-p5 -ffixed-p6 -ffixed-p7 -ffixed-p8 -ffixed-p9 -ffixed-p10 -ffixed-p11 -ffixed-p12 -ffixed-p12 -ffixed-p13 -ffixed-p14 -ffixed-p15" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#pragma GCC target "+sve" + +#include + +extern void use(svbool_t); + +/* +** foo: +** ... +** ptrue p0.b, all +** cmplo p0.h, p0/z, z0.h, z[0-9]+.h +** ... +*/ +void foo (svuint16_t a, uint16_t b) +{ + svbool_t p0 = svcmplt_n_u16 (svptrue_b16 (), a, b); + use (p0); +} --GVA5UcZ3HBbMLcNl--