Message ID | patch-16700-tamar@arm.com |
---|---|
State | Committed |
Commit | 69ec1e2065ac43eea44fdfa703cf027ce72a62da |
Headers |
Return-Path: <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> 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 E5EC8383B697 for <patchwork@sourceware.org>; Tue, 13 Dec 2022 17:15:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E5EC8383B697 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1670951716; bh=/RqWKl0HYbk6u97hig/nchirOHnyLUdelhW7cGLbL+4=; h=Date:To:Cc:Subject:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=KqGIahS8adqZfdvC+by3NY8sdvhvhQfo1iJDki+wY2rpuXANvAJWs+oYIYTrJ4fat or5qWxHfQykM8ggmrk28imFfTbgxfiGThXpMcDkS1uL3uy2Uei59igl0aUq+or+9Q5 /uyz5DBS6gW75i3Avpu8MEjCEmPB7u7ill3/hENg= 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-am0eur02on2067.outbound.protection.outlook.com [40.107.247.67]) by sourceware.org (Postfix) with ESMTPS id 965FB383F22B for <gcc-patches@gcc.gnu.org>; Tue, 13 Dec 2022 17:14:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 965FB383F22B Received: from FR3P281CA0013.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::18) by PR3PR08MB5676.eurprd08.prod.outlook.com (2603:10a6:102:82::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.9; Tue, 13 Dec 2022 17:14:39 +0000 Received: from VI1EUR03FT020.eop-EUR03.prod.protection.outlook.com (2603:10a6:d10:1d:cafe::d) by FR3P281CA0013.outlook.office365.com (2603:10a6:d10:1d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.10 via Frontend Transport; Tue, 13 Dec 2022 17:14:38 +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 VI1EUR03FT020.mail.protection.outlook.com (100.127.144.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.21 via Frontend Transport; Tue, 13 Dec 2022 17:14:38 +0000 Received: ("Tessian outbound 0800d254cb3b:v130"); Tue, 13 Dec 2022 17:14:38 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 393245be8bb56705 X-CR-MTA-TID: 64aa7808 Received: from f9af55c46a06.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id D023ED87-AD0A-4DEF-B190-1E0D26AC53DB.1; Tue, 13 Dec 2022 17:14:31 +0000 Received: from EUR03-DBA-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f9af55c46a06.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 13 Dec 2022 17:14:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=frSLBE5IfyTT/dF3Y+0DQoEyWlB+QPo+pdtqoD4MKCY+wVfnJXA+TX8Ooz5CvblMkjPG7/wlNYHX31n6FYMVexXekmyNaZMqkhFq3KlUaGR1LziHsHp0iSTBZ2SR7HhYJs45FwPTFrsahc/bF4gifl7jgHIAltrBBxJ0PUxfsPrUH+D5+vNuyFNSFwkBRiymmlWNcCtoh/HKMFyk4UP3BFyxMuN5xNeB6QK82hCcL0pKRdZyvR22hSaqtw0BCB8scC8aGS+3UM4RBg0h/oxxUfQp4MCReFBixogxGerY8wbUM6O8xpfMcCPHPpFLcS4qymxdYr/5+T1miIbM5SWLNA== 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=/RqWKl0HYbk6u97hig/nchirOHnyLUdelhW7cGLbL+4=; b=Vi41rjVJ+8RQ0gxJhe8tJNkclzUX6P6g6Lm9ftkKkDZ7k7d86cROM4GI3e+WqDFCziUEepA61QFzzjAKiM0yQfO3klt2JQh/+NivhzeZcceXWzilpjaC++1zNZTHIpK7efii6avZHNFXcxcmntKqGMKp6J80pWIaKOLT8HV87K2vd6QumcBbOcu93LD093zRtYa+cdosfcKLZHLV5m3HGDF5vBkFol5IHQ1zcQVIGViJ2PJ8pkkNwlTccjrx4DnWpwfQb13poump8CDHjUHyjNs7zOvudPr2Zkg9PIQnLWTJHNTMWKXqhUaAabZF/UvLLqHza3DDGl7Br9/nHGmqpg== 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 DB8PR08MB5322.eurprd08.prod.outlook.com (2603:10a6:10:114::17) by DB4PR08MB9264.eurprd08.prod.outlook.com (2603:10a6:10:3f7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.9; Tue, 13 Dec 2022 17:14:30 +0000 Received: from DB8PR08MB5322.eurprd08.prod.outlook.com ([fe80::33a8:180:71bc:ac53]) by DB8PR08MB5322.eurprd08.prod.outlook.com ([fe80::33a8:180:71bc:ac53%9]) with mapi id 15.20.5924.010; Tue, 13 Dec 2022 17:14:30 +0000 Date: Tue, 13 Dec 2022 17:14:27 +0000 To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, Richard.Earnshaw@arm.com, Marcus.Shawcroft@arm.com, Kyrylo.Tkachov@arm.com, richard.sandiford@arm.com Subject: [PATCH]AArch64 Fix ILP32 tbranch Message-ID: <patch-16700-tamar@arm.com> Content-Type: multipart/mixed; boundary="NisGjuejOlR+/oK4" Content-Disposition: inline X-ClientProxiedBy: LO4P265CA0056.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2af::23) To DB8PR08MB5322.eurprd08.prod.outlook.com (2603:10a6:10:114::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB8PR08MB5322:EE_|DB4PR08MB9264:EE_|VI1EUR03FT020:EE_|PR3PR08MB5676:EE_ X-MS-Office365-Filtering-Correlation-Id: 624d46ab-6875-48e6-77e1-08dadd2d8429 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: idIY46tBUm66mt3HHJQs2E9SnMYY8LNbdNjFrX+AfyyzoP3fYJYLR+vwtvt9Y5NcJMcarTwJS9H3FvrJIPrPGCgpYgIeFc6dGQUoJMB/3kPyBafi7ewqs7BvzWZ3SXbqkVMFym0Uk+5zd7gk7X8mbLK9OrqIYWw7vmYu5WuW2rXmdxkEowXM3d5N+pA4z2iSfuPvIVXwfw2jEDLzTwkpB5MB0fx/U0/Uy4WUKv1CSVHNl+h5+hQ/FCh3QdgerjyRV4HvZYILTdz4sws6ubrOmn0Lo9C4xO8ScMJg01RxhkLSA+OGQBs5EcWVopTlZ0GpRYp23lNKRxZOJ/vwSHGoCMJCRBz/UF2I13L2p6lkPFinvMnGIH7HNZGbuNOX7Xa4RqnPRCC/lohTg3jjXZEfc1FFfY5apLSJdsmnaARSH11g0+ELzmVALegJCd+ODf0ycHABOIsaWlyZNreLzvk2z8LA3JQRLeRNpai2JcpAjMFk369iEx3UZWwb/EK0wsEpQOSQxN3zNptd6cGveJxaLDq+apLippiKV//p7Z++ipi67fgLdqXaXGjPSO2vsd2XHXOuFA/mFVrMXxkCaN9aoJ4wkHov1owP/oHXxmjqK6w8luVFHuc+IgHdV5EksBRB8ociRLlWIG2aMgNa/AQIUNei8QFUdB/g/JuFvFvbX8LdAquEvCmtDO8rFL/rEIwP4bnVFqdYqVsDdg/J7iURroqtunUWJsi9YmXefDmJmds= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB8PR08MB5322.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(346002)(136003)(376002)(366004)(396003)(39860400002)(451199015)(2616005)(86362001)(38100700002)(41300700001)(44832011)(235185007)(5660300002)(2906002)(8936002)(6666004)(66946007)(33964004)(186003)(4326008)(8676002)(4743002)(26005)(6506007)(66476007)(66556008)(6512007)(44144004)(478600001)(316002)(6916009)(6486002)(36756003)(4216001)(2700100001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB9264 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: VI1EUR03FT020.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5e713364-a44c-4948-85e6-08dadd2d7efb X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: i7Ug5rnh+YCFLsJgWIpbNLKD8uOmTcwWFuzvFBpQq39EjDl5p0zonOPJHYHhXc7d2BHslQl70dkf5XKGbJtB8MWfDOn/TLswKNnuJtVKPOhsr90R+/h6D2QGxW/Lq0RPsgSlKu8vGL5jNI/H7xUncxButtBSexpsnJoJJ3ys5Bz/+AQHFEVQ7VttRhp5WEtEGu7qGgeywZC5s4eSFfcbzQ6jcF+qmMtdryLStrbYHwTQbyycdB2y1Du2hesMdBlByNLsi8UkyIZt3wtiJNWSG38QuOtIIrs7kIPdLvllsBN16FmK4XoCOVdOdh3zytmlvDMLSK+vnEFOaYApLSKChGxNqcZgTTSvLW5BKGmch5zNT17+BOchqUGuPwLmn4EWAN77JkUZQv4gOjnl+GBLvpqtA4rEreLF1lMzOcd4q1Vg3vUUyIuVaSOnosImFUoLbIpdmCel9pvoo5+maYrL6HeM1EmJMVUm7nJBC7NKxhSTgy5j4un1pvV0BjEWNoro+fxvCTy61EfuNwjfeqKLU9p0tJ7DvU3XnoIhqYUMdcAg6+fjv80gJwvx/iqbaAv2k9yNk572p123QfYqvjr6vMt15jUMHueoEjP/w+FjhjZ+aIBJlcCK36cF+h1vMc1D/OdSvLweLGArSaoCOYyCZoJTtwq6t0X6LpJNxwT+nrkVe8RTKmdC2BFxV1PUekLOa32KgSaratudUjqggzsCkQt9z09SqNTmqMNGoLPs1gCmw+TwU+BS6hRmD9rcdyHE 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)(346002)(136003)(396003)(376002)(39860400002)(451199015)(40470700004)(36840700001)(46966006)(235185007)(5660300002)(8676002)(4743002)(316002)(41300700001)(4326008)(6916009)(44832011)(8936002)(70206006)(33964004)(44144004)(6506007)(478600001)(82740400003)(6666004)(36756003)(26005)(186003)(2906002)(336012)(2616005)(6512007)(47076005)(40460700003)(70586007)(6486002)(36860700001)(356005)(82310400005)(40480700001)(81166007)(86362001)(4216001)(2700100001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 17:14:38.5517 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 624d46ab-6875-48e6-77e1-08dadd2d8429 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: VI1EUR03FT020.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5676 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, RCVD_IN_DNSWL_NONE, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> From: Tamar Christina via Gcc-patches <gcc-patches@gcc.gnu.org> Reply-To: Tamar Christina <tamar.christina@arm.com> Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> |
Series |
AArch64 Fix ILP32 tbranch
|
|
Commit Message
Tamar Christina
Dec. 13, 2022, 5:14 p.m. UTC
Hi All, the baremetal builds are currently broken because the shift ends up in the wrong representation if the mode is SImode and the shift amount if 31. To fix this create the rtx constant with an explicit mode so the backend passes know which representation it needs to take. Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. Build aarch64-none-elf with ILP32 multilib and no issues Ok for master? Thanks, Tamar gcc/ChangeLog: * config/aarch64/aarch64.md (tbranch_<code><mode>3): Use gen_int_mode. --- inline copy of patch -- diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index d749c98eef63de4b92e589a167af823416f6a71d..6c27fb89e663d6ed845b41daf32476c2a58a169c 100644 -- diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index d749c98eef63de4b92e589a167af823416f6a71d..6c27fb89e663d6ed845b41daf32476c2a58a169c 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -957,7 +957,7 @@ (define_expand "tbranch_<code><mode>3" { rtx bitvalue = gen_reg_rtx (<ZEROM>mode); rtx reg = gen_lowpart (<ZEROM>mode, operands[0]); - rtx val = GEN_INT (1UL << UINTVAL (operands[1])); + rtx val = gen_int_mode (HOST_WIDE_INT_1U << UINTVAL (operands[1]), <MODE>mode); emit_insn (gen_and<zerom>3 (bitvalue, reg, val)); operands[1] = const0_rtx; operands[0] = aarch64_gen_compare_reg (<CODE>, bitvalue,
Comments
> -----Original Message----- > From: Tamar Christina <Tamar.Christina@arm.com> > Sent: Tuesday, December 13, 2022 5:14 PM > To: gcc-patches@gcc.gnu.org > Cc: nd <nd@arm.com>; Richard Earnshaw <Richard.Earnshaw@arm.com>; > Marcus Shawcroft <Marcus.Shawcroft@arm.com>; Kyrylo Tkachov > <Kyrylo.Tkachov@arm.com>; Richard Sandiford > <Richard.Sandiford@arm.com> > Subject: [PATCH]AArch64 Fix ILP32 tbranch > > Hi All, > > the baremetal builds are currently broken because the shift ends up in the > wrong > representation if the mode is SImode and the shift amount if 31. To fix this > create the rtx constant with an explicit mode so the backend passes know > which > representation it needs to take. > > Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. > Build aarch64-none-elf with ILP32 multilib and no issues > > Ok for master? Ok. Thanks, Kyrill > > Thanks, > Tamar > > gcc/ChangeLog: > > * config/aarch64/aarch64.md (tbranch_<code><mode>3): Use > gen_int_mode. > > --- inline copy of patch -- > diff --git a/gcc/config/aarch64/aarch64.md > b/gcc/config/aarch64/aarch64.md > index > d749c98eef63de4b92e589a167af823416f6a71d..6c27fb89e663d6ed845b41da > f32476c2a58a169c 100644 > --- a/gcc/config/aarch64/aarch64.md > +++ b/gcc/config/aarch64/aarch64.md > @@ -957,7 +957,7 @@ (define_expand "tbranch_<code><mode>3" > { > rtx bitvalue = gen_reg_rtx (<ZEROM>mode); > rtx reg = gen_lowpart (<ZEROM>mode, operands[0]); > - rtx val = GEN_INT (1UL << UINTVAL (operands[1])); > + rtx val = gen_int_mode (HOST_WIDE_INT_1U << UINTVAL (operands[1]), > <MODE>mode); > emit_insn (gen_and<zerom>3 (bitvalue, reg, val)); > operands[1] = const0_rtx; > operands[0] = aarch64_gen_compare_reg (<CODE>, bitvalue, > > > > > --
--- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -957,7 +957,7 @@ (define_expand "tbranch_<code><mode>3" { rtx bitvalue = gen_reg_rtx (<ZEROM>mode); rtx reg = gen_lowpart (<ZEROM>mode, operands[0]); - rtx val = GEN_INT (1UL << UINTVAL (operands[1])); + rtx val = gen_int_mode (HOST_WIDE_INT_1U << UINTVAL (operands[1]), <MODE>mode); emit_insn (gen_and<zerom>3 (bitvalue, reg, val)); operands[1] = const0_rtx; operands[0] = aarch64_gen_compare_reg (<CODE>, bitvalue,