From patchwork Fri Nov 11 13:29:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Carlotti X-Patchwork-Id: 1512 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp742654wru; Fri, 11 Nov 2022 05:34:14 -0800 (PST) X-Google-Smtp-Source: AA0mqf76V877VXBMb+gsmGHqOJZTvi0DdvKVoFGbu29DF/mXgcWUHlPJkZsuqJadtgktZUckeVjx X-Received: by 2002:a17:907:c286:b0:730:631c:40b7 with SMTP id tk6-20020a170907c28600b00730631c40b7mr1852527ejc.336.1668173654716; Fri, 11 Nov 2022 05:34:14 -0800 (PST) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id g2-20020a056402428200b00461d60a86casi2357790edc.135.2022.11.11.05.34.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Nov 2022 05:34:14 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=C44nt7wF; arc=fail (signature failed); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 76129385840C for ; Fri, 11 Nov 2022 13:34:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 76129385840C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1668173653; bh=I9swU5wwl6YiG6SiLhF5f3XJGivmSeKPu9bjkmHngk8=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=C44nt7wFHRcCipZCOy2fZ1OfX8na4WcTlYxjLW4u4HZKo10A/XRXnHDzsc0f7+vl7 rCBvPAhqjpoJ1fWVFAcSwIWvI349U9GfJ1aOD+4nVMPZGitOxaktdQ1AVBkF/9LIiN uVhuf0lIVcuIit7KUwhdqqxLxjfWupwQH3HBgNFE= 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-db5eur02on2050.outbound.protection.outlook.com [40.107.249.50]) by sourceware.org (Postfix) with ESMTPS id 417BD3858D1E for ; Fri, 11 Nov 2022 13:33:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 417BD3858D1E ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=fyRVd2jGOUsehdFaB1UYV8GtD10gSZzKzQ/3/oS/P9zsSET0qs66d9eWWm1d2rItEtjUc0E1PX/9bexbb28XrVcd0jyJEP/F9u/0XZnYh4vFu0RzPngjmjzHFlPVOGYmCZF8S7sRWagR53rjfGKWGE9GzzZTxlCN0vhNDt0a8xBz2yaJ2GJ44VQlKtSJobGHYkZx/6YnJuGK1+Rm8V5QNzltTNV0iHtDJsEdF3FbBgqQPWHiqYGuVXykD6ouevZWOvn4ZKNz1ep4QPrTK0SvgE61GQYbR1PHay2pWW9polKZ/tcvu+e0I4bZzlQP6jtXND9xOIeMvwRnj6HLUivljA== 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=I9swU5wwl6YiG6SiLhF5f3XJGivmSeKPu9bjkmHngk8=; b=QF3sivWtSbvo2A/t9GiT7MT3OuGPzDzNTKzH9bG0hFzaQa8Dw2Oa+EzPO9hzR6RWx1yGyzMYudRlFmYZqKtM9OqzaIhEBeO5N+j5UiWaRDUC7lI7y/0yOPaTWS8B5O6d5asnw6yvMv7ND/Is3+K43cLdOu0Kcw5T3N9RBY6yPQlD+4emajiRf+P+gRdNTdUIWgHoCm+g2e9/iq8wQeXdGPRn7SwO3gLJ8kzjvTITPuU1ZOq9FBOeYsjUvOHj20MfN7+45TchN21vn1Dn/22vGgucbKqGE8X6h1hvE1MAYP/Irn+EOSudFqOF7SdkKtx5TpQJSr/v7w4yFdIuuEy3YQ== 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=armh.onmicrosoft.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]) Received: from FR3P281CA0148.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:95::7) by DB4PR08MB9312.eurprd08.prod.outlook.com (2603:10a6:10:3f4::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.10; Fri, 11 Nov 2022 13:33:23 +0000 Received: from VI1EUR03FT041.eop-EUR03.prod.protection.outlook.com (2603:10a6:d10:95:cafe::6e) by FR3P281CA0148.outlook.office365.com (2603:10a6:d10:95::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.14 via Frontend Transport; Fri, 11 Nov 2022 13:33:23 +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=armh.onmicrosoft.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 VI1EUR03FT041.mail.protection.outlook.com (100.127.145.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.12 via Frontend Transport; Fri, 11 Nov 2022 13:33:23 +0000 Received: ("Tessian outbound 2ff13c8f2c05:v130"); Fri, 11 Nov 2022 13:33:22 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: cab1eca48efb73c0 X-CR-MTA-TID: 64aa7808 Received: from 74dd7d9f637a.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id BA17B716-FAED-4D0B-AA21-045167961E93.1; Fri, 11 Nov 2022 13:33:16 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 74dd7d9f637a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 11 Nov 2022 13:33:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U4NvZM6hpZcLQGj07OQ6Ak2M2SAaxfT75CQoBSH3swK2Mbml8FQoe5uCKOGTQESv0tLJ53lgYDq9m/SMbBraVHAITQaGaHLVx1j1f1pz3dGTgNylKJ1xdqw9EUfabaONkzFqrZClG/pssMPWAPLR5r4rZv9NWdk2md2rdTbsgOPcqS6YxcsVgEeQvcwEhn0TsAObpCitfJ2XSEydXI7wMO6BK/LFdDMPCNhhE2FcSmmjeggurL0/ICdhFsywSgnOcTWcEhYjQQMuLu7THZwq1Gk9wRTdKhKknT9rTYj2u7gwmeej6s+lHGbzJylcLfxbgjlZaNPxO9OuxmCz6EY0SA== 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=I9swU5wwl6YiG6SiLhF5f3XJGivmSeKPu9bjkmHngk8=; b=oU2N4452Q+D/a1gC5kH8DBCr6pkEKBtlmThe1UXxqUAYP582UI99CFPCU6/aBCMMuat1hR5mKbv9SsL+JxxZjMJzyMbBHi8ox2neta5x5WwKjQ/bVF0pkG54WEbmpEpMpDoBijpV9PAkldAe6WdILpzAQU5AkrDtMkF9D9U1zONFPdWap5Wx2w5Rxrj6JbFNFI62HDIuHft6QzepjqoSsKfD0QqWYPLuZJAYJeSw/dl9POYae0Fla2rXXVNwZfgVkgpl1dEujvTt9+Gfbirof8fUE6QycPNOawsRInLwD29MOBf03TiGzr/vIQJWXcfJdzsXaVjPeb6vuiEAULItzw== 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 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6678.eurprd08.prod.outlook.com (2603:10a6:20b:398::8) by GV1PR08MB7804.eurprd08.prod.outlook.com (2603:10a6:150:5b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.11; Fri, 11 Nov 2022 13:33:09 +0000 Received: from AS8PR08MB6678.eurprd08.prod.outlook.com ([fe80::8256:29ca:bcd8:b754]) by AS8PR08MB6678.eurprd08.prod.outlook.com ([fe80::8256:29ca:bcd8:b754%7]) with mapi id 15.20.5813.013; Fri, 11 Nov 2022 13:33:09 +0000 Date: Fri, 11 Nov 2022 13:29:07 +0000 To: gcc-patches@gcc.gnu.org Subject: [PATCH 0/8] middle-end: Popcount and clz/ctz idiom recognition improvements Message-ID: Content-Disposition: inline X-ClientProxiedBy: LO4P302CA0027.GBRP302.PROD.OUTLOOK.COM (2603:10a6:600:2c1::17) To AS8PR08MB6678.eurprd08.prod.outlook.com (2603:10a6:20b:398::8) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB6678:EE_|GV1PR08MB7804:EE_|VI1EUR03FT041:EE_|DB4PR08MB9312:EE_ X-MS-Office365-Filtering-Correlation-Id: 84ce79bd-8500-4c64-6b37-08dac3e94e34 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: IIg8Aw3TmvqGgRA4TtLNwuxkVeNdE28qqZLkSgntLqIEvH1GdoR2qaV6Gp/Eat9AnomOxIadUrUhXy/G869Q4iR663tBzIE1uv2KCo3UvJYIisC05Nl+LtMIqnM5/D/H3LTrMXw5F7MNF4j4h+VAhpzzQVxtDIXEmCfNRKO7cMzJu7VAzq+YSxB6TEfBhmLxpzoucO7GGd97wJAy8995brRdJOpbTPWd3JFdwWwdBNsOQQMjM6mfL0ZR7yVMv5Uym+vG1QK309L519j2v4TeFbcWRScfD1vH4QsALGlBic3b+f9P7Yoa/cYLRHYM7t50hoCHGX048EM9Lyruh8IXxw4vtpTNCCFzjCzjNeSUk+ySowQDr91KLuZ2ZWTevwl8Zzj5Tcs/2Kdy3uQpWf3PlLTufsNNrZIVwpSrM6hBaN+5ReLPhOg0HUhXf7hLr0kRFnp6Q/lEWC5D5zE6WzH+Zg6mHmbyZdIPNDJEEGhSb+iP4FSytOl2fnsNHUy9CSG0nHWqxDQ0isawof/MkGCFaXF6fKJUobhETOoQx6hOzeasS/X+BqleB+stT+op9iGGkNkBtaIut0KKMOCxfN9NqT74b+dmxU/ngjFCEJKw4k3b3CcNMwIhXLEIETnZsnsL35cLyRfrOl65D8pIKkFaoqs2pMLBUvTM0GTKFaNhV6y8IsV7/0KPM8QipLhiJGkalwcY08YRnoUnyLjgwYOQrQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR08MB6678.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(136003)(346002)(366004)(396003)(376002)(39860400002)(451199015)(41300700001)(6512007)(316002)(8676002)(44832011)(4744005)(5660300002)(8936002)(6486002)(66556008)(26005)(38100700002)(478600001)(2906002)(186003)(66476007)(6506007)(6916009)(86362001)(66946007)(83380400001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7804 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: VI1EUR03FT041.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 6581e2f3-8152-4bbc-26b2-08dac3e9459d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9WyElX7JjTxzIjmF2YK6irw8ZwLZtbA9aJLYwTe2HzOJxSbYkBjQ1qvusNx4f/D9VZCXIStEdbePmTcLObxblFblN0V0nnb4woYCR9uEYdUSwHxmG8wL5gFu+r27hvL7Ru32O2HgELXv0LFILufsu7GCwf66GNIJv+WukF8KRDBkez2SFUvpzm1AGOSXekx5/xPQz7e9vEqqJweIXQiZYOaxOLO8suE09Lxn3Ojz+JaXpKmwxYCQGZsJm+3+u+3G4fpS/4qeZw8+zZL+ymZNQWNJkP6tYb5dlP3s/601oaSFQvSfZOa6leLrWXDcHh2IXSQsjBv32SxHsUzSGjq4xvgE61bT78QQ7bbhpIz3GqXztZwl/sXaOfxTLnQMkmk/NruZzZDNNYkwoHZXueb8cOhvh50Vd55k8O+48mqidLcvCZfeP7gA5uAowqkRiwALfXdbLEHEDm9VB4LhshH+IwQfxxYN0uot9tXir/tLzhcYbIDhs3gQ/0ryM/1jdRdz3nIWWhbYDm2Jo2djqGH+CO0Yc129sFc08ZXxEpSzhOjo6kdMl33hbJtDgRCyrRWK6pU+2KaOrQ1Z/qzEneIvaQGe8Y7zy5JT2dSvPaU/FZ4zhwbu2Q6ccLY68d/pwl3JkbnAib/egJcV2XLxNMvsGDKneBwPagV7Pptf1JLac61w2r5Vz/45hFgdVfjEYmQN1K652rJNHWYlFi2OMCunXzrk+fG6Np/7y0cBVyxueZfzJoFHnYlcuCJy4t1v+6rkGBwYDMvMpoLWxStxozEJkA== 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:(13230022)(4636009)(39860400002)(376002)(346002)(396003)(136003)(451199015)(40470700004)(36840700001)(46966006)(356005)(40460700003)(82310400005)(6486002)(2906002)(82740400003)(81166007)(4744005)(44832011)(336012)(26005)(70206006)(186003)(478600001)(86362001)(8936002)(6512007)(47076005)(6916009)(5660300002)(6506007)(8676002)(83380400001)(70586007)(41300700001)(316002)(40480700001)(36860700001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Nov 2022 13:33:23.2107 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 84ce79bd-8500-4c64-6b37-08dac3e94e34 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: VI1EUR03FT041.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB9312 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, KAM_DMARC_NONE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=no 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.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Carlotti via Gcc-patches From: Andrew Carlotti Reply-To: Andrew Carlotti Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749206858091196563?= X-GMAIL-MSGID: =?utf-8?q?1749206858091196563?= This is a series of patches to improve recognition of popcount and clz/ctz idioms, along with some related fixes. - Patches 1 and 8 are independent fixes or improvements. - Patch 4 is a dependency of patch 5, as it improves the robustness of a test that would otherwise begin failing. - Patches 2, 3, 5 and 7 form the main dependent sequence. - Patch 6 is a documentation update, covering attributes in patch 5 and existing code. - Patch 7 may require other work before it can be merged, as it seems to expose a latent issue in the vectoriser. Each patch has been bootstrapped and regression tested on aarch64-none-linux-gnu.