From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-eopbgr90044.outbound.protection.outlook.com [40.107.9.44]) by sourceware.org (Postfix) with ESMTPS id 3C7FA3938C26; Wed, 3 Feb 2021 15:22:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3C7FA3938C26 Received: from AM6P191CA0016.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8b::29) by PR2PR08MB4683.eurprd08.prod.outlook.com (2603:10a6:101:27::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.19; Wed, 3 Feb 2021 15:22:41 +0000 Received: from AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8b:cafe::4d) by AM6P191CA0016.outlook.office365.com (2603:10a6:209:8b::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19 via Frontend Transport; Wed, 3 Feb 2021 15:22:41 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT042.mail.protection.outlook.com (10.152.17.168) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11 via Frontend Transport; Wed, 3 Feb 2021 15:22:41 +0000 Received: ("Tessian outbound af289585f0f4:v71"); Wed, 03 Feb 2021 15:22:41 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 099c6c26a094c1f4 X-CR-MTA-TID: 64aa7808 Received: from a3c472550e0a.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6C9E5B3C-D04D-4ADA-B6E4-2C42962F9B62.1; Wed, 03 Feb 2021 15:22:35 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a3c472550e0a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 03 Feb 2021 15:22:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ctf4Rt8nEXoYjm7LKwnvMU6I4NKF2CTHaHEOFVXWSHsgrJt8bW0TxvB9dUmVGs4garF1uxI1inzlcANp8Mo/0EVapLSJlZKvAruNedJwj1yGBYPQSppw6uUeDkwfk3v7c06mCz0DqPByl2CP6bjTWvdgXliOwSniC+yEK+OXctNznqeP8gfP1PrWejjR9rI93f8wzTOc39fZXx6MeW5Yb7574tVoRAQU57V0Oes4saRF0rK6xlJ6D99gCHlvVD8qkQw3UpExiivCkyNV6xxc2qaLRVgzTJoFLNCWHASdZ7kWtzdCUIMOUCFlpdhMk91s0WwsZoWXzYlciS+eLUfUAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kOyc3VbLOdpjeeLvjSylqWJxMgBonc0q0VXZCiFncEc=; b=CxgcnTXXCvYF+g9wa+F9zp19sffovWoZpXFBiz3ZT3K3ReH5Z8kYPBfXwSTpN4lz/KuTNnj4K8VFu9kr1g9VKfI0/mQRt3rFYY+PUD2J0CUyxEj28J+etMmwfZSvymsUv5iDqzsRoOR5RlqT/f4cthLjjqp4GH+KwpGl3nP3Q8RaeKDEEU/z4R9O89gPVLyeciVRuL2CPxealixOkvyfIk6pH2QK3zU+XXrWZ7f6BvIXH8QSVdwN04/kJ03tyK84YW98RX2if/ghpedrcRK/H5YKpoayuWu2WBxxQi7cZ70OoyuITnFuBqz7+Ey6OPoMdVYdfGZA6hePbaxR7vCx7g== 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: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AM6PR08MB4900.eurprd08.prod.outlook.com (2603:10a6:20b:cc::10) by AM5PR0801MB1700.eurprd08.prod.outlook.com (2603:10a6:203:36::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Wed, 3 Feb 2021 15:22:33 +0000 Received: from AM6PR08MB4900.eurprd08.prod.outlook.com ([fe80::254e:7a6e:c521:daef]) by AM6PR08MB4900.eurprd08.prod.outlook.com ([fe80::254e:7a6e:c521:daef%5]) with mapi id 15.20.3805.028; Wed, 3 Feb 2021 15:22:33 +0000 From: Andrea Corallo To: "jakub at gcc dot gnu.org via Gcc-bugs" Cc: "jakub at gcc dot gnu.org" , nd@arm.com Subject: Re: [Bug target/98931] [11 Regression] arm: Assembly fails with "branch out of range or not a multiple of 2" since r11-2012 References: Date: Wed, 03 Feb 2021 16:22:31 +0100 In-Reply-To: (jakub at gcc dot gnu org via Gcc-bugs's message of "Tue, 02 Feb 2021 16:42:08 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Content-Type: multipart/mixed; boundary="=-=-=" X-Originating-IP: [217.140.106.37] X-ClientProxiedBy: LO4P123CA0301.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:196::18) To AM6PR08MB4900.eurprd08.prod.outlook.com (2603:10a6:20b:cc::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from e124257 (217.140.106.37) by LO4P123CA0301.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:196::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.17 via Frontend Transport; Wed, 3 Feb 2021 15:22:32 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 36507e26-110d-428f-0138-08d8c8578c5f X-MS-TrafficTypeDiagnostic: AM5PR0801MB1700:|PR2PR08MB4683: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:3383;OLM:3383; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 9G5R8ynYaTjQzNOzwsM7E/KFwGeteuH1DTFoEh3M6uj469JYn9Vndd9vgQnuZzpdpglpLfMZoGEYSxfU1MC+bX3tVRBY7W7cMkSPeOM1p1jFvTj+l7ft5CF12GTJ3maNIx18yA60KmQI5y2pgOaoFpK847G1NNnzMMeX+sW2m56BK+ANVaPqPXRsojO3aReUsXAoEhvKm7Q3eBt1rU8G3hAedpHgRmMwHMpgqrA3EhfxXbysV5K4V8UcX2invylSP7KX1JiePGv8J3J7Jns2ftVNk2D0ISJ+DMesladYfs75oXNJOBp2uSNirHwf1tH7RwvQ6NxIZLl3RUWyvU6YJ/uFKEPOTqdDur5zZfu40IUCL0j1z3HpP0K0U+e3FzAI3Ys1WZdWkdbqWwRg6P/rG/qKuES1EjGN55K3BFh2/Bv73ssb6bSBfiNQeYj0Gn7jhCKo4AzqWKO4N2bl5ihwVr+jr2oSAQnWe48XUJY5WVmUxsX07K2w47SlfvTDtaS76eD7KBiMcLbr5srQhaQz2g== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR08MB4900.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(366004)(396003)(376002)(39860400002)(136003)(450100002)(235185007)(5660300002)(86362001)(4326008)(564344004)(8936002)(2906002)(26005)(33964004)(66946007)(16526019)(956004)(8676002)(2616005)(6916009)(36756003)(316002)(19618925003)(52116002)(6496006)(478600001)(66556008)(6486002)(66616009)(44832011)(66476007)(186003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?JIfdJ67vuXD6TAwcAS2RbmAoO39CvW0TGxQn4pJTxey9WC0+1BdznF5VWdah?= =?us-ascii?Q?9MEIbWK95a+7SWzUByYftsfu6z+8C+bXagNSQ/woldycFOWKCYJ/HSUNKUKi?= =?us-ascii?Q?KK2gvhi2z0XTRaIKkovve3q1pQ85lFmmPhqhVZrAK5wemPYV14CWdwUtItTs?= =?us-ascii?Q?EndZX+2TFkidKWZAolUQrhFCclhBFMMZhXf6fkTjtZlz6TdoNjU4/ET/+xMQ?= =?us-ascii?Q?fmPOIKWfaAMUgxBusE0LN+0NOI1iAnkJoSR0xnoA8FIN3tVbYjcP8vzF8KK2?= =?us-ascii?Q?/fMuwAtVoH34giMTS3mC5FjNiaUHUTiHlPOxoiMzroHxDHjb2Nqa0Zslnw4Y?= =?us-ascii?Q?i37kGTbG+NzYQH3mwmNSR7LnHAw+TSX5BVGF/XwywEF93LZ4u1OWEn636ogD?= =?us-ascii?Q?WoBZ6eVtJIfPosIiL4YPp2QBxL2fMNSVtp/GWchmP2IYgqYY5CxnZ0kLlAuQ?= =?us-ascii?Q?Sp4zZ/l7+M0Oo95auKWy05O/HJz9VdnLVckxng6Z+75avjkPzZifP8ETPhys?= =?us-ascii?Q?eOp9L8T78hWFW/e9i0X4pGkrlGdo85Ln9d1hjj8msR4EVo2UoLL1/qaTP9vz?= =?us-ascii?Q?nNIo/wulp6YAUxycVyu2AhQXaWN2U9XDONEv06rLbVesWSo2iX1rlZb0B+PX?= =?us-ascii?Q?9wQ0Hxbr8eNPYsUP8cSw1OkGwJGDi1vTDnrAZOkfvMT5pLi1Q9SZV32n3Z2w?= =?us-ascii?Q?4gGE9sjv6did+9B5SZOvZQa3nLfqietR7ZlW9jsYEr/iy9lR3t7LE5P4s0C1?= =?us-ascii?Q?3VhSwbTcKJ2zpmFvL43+sKHPd93pVKT33GRUtRgT1JqwleBSEl4wnqXlnDT/?= =?us-ascii?Q?Xo4mlZehTsqGN1QYAR3ESUnBtEhKcZo4H+gXW21rGU2pbe5mcLtgBLq7Mftk?= =?us-ascii?Q?7mckpNmxf600PaOSzL8SK/u8lZY11VUZ56gMaj1+KN54dfUJ4B3LR+wPJTYk?= =?us-ascii?Q?1pesHqbrp56HocFXKlcpq3ksI9Z683NTSle4cgyLhPIpmf+PQreowPbAeZzx?= =?us-ascii?Q?x1zWoeoTe7LSs2BvNsJXj0VRzNPsQxu39sY0jf1zSjnDjvFChzcZXHDfZRvn?= =?us-ascii?Q?uFKui6sd?= X-MS-Exchange-Transport-Forked: True X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1700 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 86875fdf-4a35-46ac-cc0a-08d8c857873d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Y2+tTVH98f58WzeZokjUZoGqv28UhMWs3q4Ji5dtNQI1yW/pdQJY2dsKms9yiLyfU/sI4XeS7eCYQuC49nmz9Pi4BYQMhW1kVowduCgLJnedRaE91yo5jh720e3AcVqLafBXNEfnJG8uZ11p3YOCaRr0VmlfLNSxNF8YHvP1ZCOLtP9zbdLR8cAy/md/bwrRhpOEHFRnSrUX/0k91GzY2usHd2T7ULgJhCD7/MjO9j4o9apG0b5AmhSxLNTTp6foji60dnrahCLUR48a0bWEnn606gdBrF4UHo6jOHvvi0t+Th2WI1r0ttnozSiZmWJZTorfj5gD3+5Dph6QUVM6pJLS324QaIiKJQkZWMJjIg0Gq8bOuV5sXdrHqB2ChbsJhJ+4X3YsNMM8LQqkJ6a82D4DjaSB27Mlp3RqFoJp0WQ383ce7H8fBEaLN4BYCagKJeK/cyNXUXWKL2U50NWC1Q+pTFKHqdrSnI5AVlwbIUBm1STwbHdoRMEN0gf+85AjBfOIx5oRoilsQxkACdOp7YS16cLB0TWpnkXfVIOwxPoKElgU/iNVBsY5ErJLxcO7ArqqstdgiOAuWD0vICsepSoibDLHOVCrp1sBRYQ6tjEmwcZuGBbz+XaAeCQY17RPfcQONyAVbsiL+2IGXzHXq4plDPV77IYvJPU84oAy57c= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(376002)(396003)(39860400002)(136003)(346002)(36840700001)(46966006)(6486002)(66616009)(450100002)(316002)(5660300002)(235185007)(356005)(2616005)(4326008)(36860700001)(6496006)(8676002)(36756003)(478600001)(86362001)(81166007)(336012)(6916009)(33964004)(186003)(47076005)(2906002)(19618925003)(564344004)(70206006)(70586007)(44832011)(16526019)(956004)(8936002)(26005)(82310400003)(82740400003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2021 15:22:41.4911 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 36507e26-110d-428f-0138-08d8c8578c5f 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: AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4683 X-Spam-Status: No, score=-14.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Feb 2021 15:22:46 -0000 --=-=-= Content-Type: text/plain I'm testing the attached fix. --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=0001-arm-Add-low-overhead-loop-address-range-check-PR9893.patch >>From 6de0603f3a5c86396d44250cb34d4451528681b1 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Wed, 3 Feb 2021 15:21:54 +0100 Subject: [PATCH] arm: Add low overhead loop address range check [PR98931] 2021-02-03 Andrea Corallo * config/arm/arm.c (arm_target_insn_ok_for_lob): Add address range check. --- gcc/config/arm/arm.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index e22396dbcd5..85c96cdb156 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -33769,10 +33769,22 @@ arm_target_insn_ok_for_lob (rtx insn) supported for 'low over head loop' making sure that LE target is above LE itself in the generated code. */ - return single_succ_p (bb) - && single_pred_p (bb) - && single_succ_edge (bb)->dest == single_pred_edge (bb)->src - && contains_no_active_insn_p (bb); + if (!single_succ_p (bb) + || !single_pred_p (bb) + || single_succ_edge (bb)->dest != single_pred_edge (bb)->src + || !contains_no_active_insn_p (bb)) + return false; + + unsigned int distance = 0; + rtx_insn *curr_insn = BB_HEAD (single_succ_edge (bb)->dest); + while ((curr_insn = NEXT_INSN (curr_insn))) + distance += get_attr_length (curr_insn); + + /* LE encodes the PC relative jump address in 12 bits. */ + if (distance >= (1 << 11)) + return false; + + return true; } #if CHECKING_P -- 2.20.1 --=-=-=--