From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 72479 invoked by alias); 13 Sep 2016 11:11:17 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 72466 invoked by uid 89); 13 Sep 2016 11:11:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:2157, rights, agents X-HELO: eu-smtp-delivery-143.mimecast.com Received: from eu-smtp-delivery-143.mimecast.com (HELO eu-smtp-delivery-143.mimecast.com) (207.82.80.143) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 13 Sep 2016 11:11:05 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp0244.outbound.protection.outlook.com [213.199.154.244]) (Using TLS) by eu-smtp-1.mimecast.com with ESMTP id uk-mta-16-xCoMQ2qiPVCF4HCnBVoNEg-1; Tue, 13 Sep 2016 12:11:01 +0100 Received: from AM2PR08CA0006.eurprd08.prod.outlook.com (10.162.32.16) by HE1PR0801MB1787.eurprd08.prod.outlook.com (10.168.150.18) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.609.9; Tue, 13 Sep 2016 11:10:58 +0000 Received: from AM1FFO11FD051.protection.gbl (2a01:111:f400:7e00::173) by AM2PR08CA0006.outlook.office365.com (2a01:111:e400:843e::16) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.619.10 via Frontend Transport; Tue, 13 Sep 2016 11:10:59 +0000 Received: from nebula.arm.com (217.140.96.140) by AM1FFO11FD051.mail.protection.outlook.com (10.174.65.214) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.619.6 via Frontend Transport; Tue, 13 Sep 2016 11:10:58 +0000 Received: from [10.2.206.255] (10.1.2.79) by mail.arm.com (10.1.106.66) with Microsoft SMTP Server id 14.3.294.0; Tue, 13 Sep 2016 12:10:57 +0100 Subject: Re: [PATCH] Allow FP to be used as a call-saved registe To: Jeff Law , GCC Patches References: CC: James Greenhalgh , Richard Earnshaw , Marcus Shawcroft , nd From: Tamar Christina Message-ID: <1ccb8f30-a071-5344-bd97-dad7d75cff7b@arm.com> Date: Tue, 13 Sep 2016 11:15:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:217.140.96.140;IPV:CAL;SCL:-1;CTRY:GB;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(438002)(189002)(377424004)(53754006)(24454002)(199003)(377454003)(65806001)(65956001)(586003)(305945005)(7846002)(5001770100001)(189998001)(8936002)(4326007)(36756003)(230700001)(104016004)(83506001)(4001350100001)(50466002)(19580395003)(8676002)(5660300001)(50986999)(65826007)(19580405001)(64126003)(23746002)(76176999)(47776003)(26826002)(246002)(87936001)(54356999)(92566002)(2950100001)(356003)(77096005)(106466001)(31686004)(2906002)(626004)(31696002)(86362001)(33646002);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR0801MB1787;H:nebula.arm.com;FPR:;SPF:Pass;PTR:fw-tnat.cambridge.arm.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM1FFO11FD051;1:nNHM66jxxUeJ37HRU68HLeb4l/9gNhlX2RmWXLRe2RMhUFSRDITaDVXYpsgiTYlFAp4lrrrt6eOrPt8/8TwPsb/fk7pk9oDI1bD8TwjcC2ZVTFyi3b5JnTiH6Aj2fWuCb6E9GzJeaDXVonq4XSTAgxwVwGngYjEU4F8FUjW36sUJKskpNkCbCsGHqJNaciY8UXT7JwnaWRiK/aEXyCVlrVnCVgouh19yywEV+TNHMshGLdfANDIH2B+vFr/svfl7zfxUdZehl4A870LYGotrij7LVgEv9kYmSdQ3DAy+divDAMmGzKy8m9KmgvHz/Wl/k+Y+eUo7hs2K/1AHMU3583K7HEgyNcP19Y0wh1mYyD4MbDryl4DQcFsiLf4PuB4WPQMFvcurO+7iQDFQLh1qHd7djpC86y5Yj4t6p58PW2yNDeKfMXBuRcceXEbaVJbV0j0nFWZTbrhzDoqN385DVcvklfFNPM/7ME4GWv9n+7c0INDNYeyTg6XPFwVMIKpjfTDSs2SHePz3gs/RIyxstXA8pV36deFdPjkqxh2hM6vhcCqbqg6xNE6Txa60Mm7Z X-MS-Office365-Filtering-Correlation-Id: c402d4d9-5467-40a9-181e-08d3dbc6a3c6 X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1787;2:eebTKddSJmUOMfCe1qOKxXqsce8H6Rqrt8KddKAD2AVBbcMHYeDAfb10zyO5RtwpeuK0Bm9GQUBCmtIbr7zJFNcyqKLxBeCKvwCQdTRBfXOtDRvWU5dsit3rj2MruDux6msNYjuOly5lCfxd4Nn0wyRvjyX1wBpRb5dnq5HLy3MMWPiPaHwhb6YyXmPWCh68;3:iz31UijxIKIuQpInffebB7G8k954d/3IqxAAnw/q05TozdH4dUqtf+s9L1AogjJz5vkZMgCvqWPYfgOMlEDARD/oWZgU8C1IeQxAfxEF3k/UPag2+oiFSpW19/UolZoWNG8r/58zhFWJmuUcwgqDt56zUOT9pdR03A0bVgDAiOL7rMHp9k5JzcJreB2p3E8KmaOnk9ke4olSABAa+VvqL6P45C54mi3m4wr48wUyyVTC5hYm57G2lLGntMKx8tSeQx7WSdVH96VbK8UqFM5TFg==;25:OOezZj+HX8LUmF+hLAu45Hj+/Qu6HHTxIU53RfBTs+xxvaOOkq/3gIzj5eb5rczUOSPUKIFWdNKRgZZTh0im28npyxRv7z9s7RLD2ljs5xnCUYPc9uUulZgKPcXJFcQAx9IFXDmVJ96LkEbpPu/9REkVns/9OeBFK5wmn8E8kp1TlyWRKu00Tx7UIba84n0P1Y590YxVsqPZWxdvKaKtdkRQ/ch83wZXhd/XQOeIhLPb58lN/joD98UGgExERB1HKDMkMJadhc/y1G9NlHh+2YXQH7kMwZimdlJjecvBEp9yH0jdcYksQDatCdAwNc+ihRHVAgw2KyKF60hs+uojC4/bUW2/+RegEeUNn8TJKcKC+u7e6jQxGxuhrzz4GX2N1LIOvt24s4ulSDnB89dg01NYMPiX6HoOJRbSaRR5xC0= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:HE1PR0801MB1787; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1787;31:aq0kMjaGSuUN75ckCezSezWL/UB3mxP168jxMFovYyiddUanV/x71UXmZUAofyEb7E25GKTMfdPtjatenCOrVPuC03zvqCqRjrXgfSkvUwpGAorOO1btFLNlGVClRvNk+2UZN/oKEPpE/7pNglSA+quLkS3/nD/C8HWyZqwsUbhvNOzYeIXubRPEKtF0CfP9YB0CcfV6Mx9+fQTXgTUBAF20cr91hXB8ZJ7p1ypOwI4=;20:g/tVebsdo9SAUcEL3qyyj3qZIMmAiDI0Y+1dbW71Bq2msXYeiPuUl/vRlG+/9Smx11913I257f5Z3ZaJyfraGWOzRkKz2tZ47o48EDXzbinb00KliWDY7U/NHKefdVT/v6LafaqNa0wt2KL0e6kICzEGcl8u6m70zX2tQy1NXVQX73RC2y7WTtaQMA0mrF/QNsZTh41XaZJrupW/b2tr4mrWqHUFuWPsUtP1hdhP4foZiEx+GkyaBmoBK0Gah38Z NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(13013025)(13023025)(13024025)(13020025)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:HE1PR0801MB1787;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1787; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1787;4:0wMJ13H5mS0US+NZyk8tHwZKaGuu5BSG3SOxns/jYKmvK/NYFMuEGoq2q76Nu6RxBbn4ruv7r7bpL3miTC3TLQR5Wsxh7azGll9rhiGd3xSxDb+e5J4BbfxgVhup+qIN+eQJXJX6KP9PhAEcfQGz81OW4EvX9RPVsGKDmXfL3VVkjd1s4fh8nPanxnld+prkaAm8WzJYkv+kS3x2m9mUltfC+TOX0D7EjMeu7ChsOGWvFX4AgySYICqPUwPs97tJYa+yZnDbXHhIox4BmZn259KuYhl5oajhS1j4EMa/sTH6UE+3kWtxAhQ6QmHDoCbLcPiIAPhj411AuPTMaWq8+VfJBDiGckKWtXfdx2wjMtGBBc/+uG5iTB3GfKMbnPnUkoHFvYJ1DANQOBezyUi5H1yVyGyF5Eoh4Gdl4PQhVc+boyac1nbQpAMz/ID4vhFo6K/gaD5Xn5sfJ/Sky+Q+4h5Vr7oAQDzgvsTNfNLU4YQ60xUy0g1XDZKgRX1oPi9liKd7Y+3UF3Gp2ul9OZqR5g== X-Forefront-PRVS: 0064B3273C X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;HE1PR0801MB1787;23:m/2A0rHVM//Z4rs7f+BMsc5GSO9bRhGZ4zK?= =?Windows-1252?Q?kWO6SyzSJNc99yI4w3QA3lAGJJKh+84ONB1MwlMTuKhHupUD0OVZ8LeJ?= =?Windows-1252?Q?pZFG1zlVVDyY/j73ZDQRpHW6UiNt6W2VuOc9SrQzeRY0CY5i1h6dc/O6?= =?Windows-1252?Q?yPjdFzPKsaJDSMpDm3JVfNRynfG7XsFvcvRiu+BflinXnjmoUWt/vMyE?= =?Windows-1252?Q?faTBOmOnzcBOj9YvLBwK4BVP9fpnsLj9X3N8DqGqV7wmAaBaMlWaApb7?= =?Windows-1252?Q?y9t2QjRHTHnjy6ZlbiDva19EWJFaKEehv3g5uvil0LMifxmgftLbH5zy?= =?Windows-1252?Q?nyiLj/r1d3qt+PP48I/yPF/Ied2VStgySBXBY9inclohWjdzJfv5z94/?= =?Windows-1252?Q?fUzJGVRlM+hr5/WlEjhisGbzEmPcyN+T8l4vknECJVGXHqx3vNNDIdkn?= =?Windows-1252?Q?EzDWUKNLznmyCl3iJa3aH3B7ajlur1NrOLkqE+PpLNM1UQg5XozF9dz0?= =?Windows-1252?Q?kITMPyqkmqqdr9tVGAhmK1uh7cV/cjLIyWbTfYDgaT9Qj4AIIQTUyKxq?= =?Windows-1252?Q?Xvux2g6IlpeD97aAFzBxzqx5FXsuUkzuvUKiRVXE/YvUM6KxElCjhYB7?= =?Windows-1252?Q?6F/9v6S5SVYlyOy6G3iBlHgpL87iBUW0XywKqg93r+J9LciqjaYMQFAd?= =?Windows-1252?Q?6tBZtsX0enIYzWW9l3iVigSr/GSVaIaX+YFfc0G5p8CsclL72LPwyD1t?= =?Windows-1252?Q?fuh7ouXrgfs0Uu6mZknrLgpmUc3MHrik4P86FeSCkSy/tSLnFgqZAPNK?= =?Windows-1252?Q?f9i1/uH4rKPbWoYz6zySbMvO5cHwK7u4lYC+6n40B5nM8bRrWtKI/xV6?= =?Windows-1252?Q?nhMhzbagOcZeLxrCBKo1mmkTBETgmZP5J+3dLvbKygDRnREb0bzOKwHY?= =?Windows-1252?Q?5mKEH4MHdpiNHj+ORxsavl0zP55pvkIuWiJ8MG5lHRyHXvvlAlhy01OA?= =?Windows-1252?Q?sg6f3HWvipUGLd8iRd6I63rkngswtgeA4j8HGEpr1wffT1StvFdNSYJf?= =?Windows-1252?Q?w3TNQDspXP2O1zmx/qjd0ZM3ieEy+osim6SYtCgUgudXp+4ZpEkmb04X?= =?Windows-1252?Q?jshpsagpdSRhszBE8oWptAOYr81wIibCCLSgoD6o0LKX8Ij2O/d/WJFB?= =?Windows-1252?Q?pkZyWQ8ubeixrsv48D3TmWSBSHjlL7Z7K0OuZwHPDKWjuw5YXjJ1OFFX?= =?Windows-1252?Q?kHueE0n0qEWuc+739I1sqWKkQPoAJYxS31O9pTpZx1uWGDJbpuyuPkTZ?= =?Windows-1252?Q?fSk/nVt3dkmVOGQ6ZVzQIfs5Yft7nzz+5zNf3Fya7QkySSJ4=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1787;6:TPjXzKVm9ZJIhdKwYDuFVqdvu2OwHRG0cuRLncsd9oFfYqGLvMaQu07uiX5wFpjnSaLs/tMkXhBK9lDmzP5cNLUVsoeFwqmL0wkIksqZYX35XN6Lh2dZF0KsOGQ4GSgoe7mR5pVO0pRgYAAsDJRKLK13216UVJa10K9GgqSjBqoZ4LuhQOrcFjuo0BSY5c2WxpXo7WJDs3Ba9V+h8fxDBgco5/tm+iGCSv0frUX97WKNtKw+prT4RGSFoWj9S2Bq0eRjIi7bJ3iOv6Jw5e7dmOg2zZEZGSXrX/Ygh+5VoR1bTS5E9mIqBy3KU++wEBu6JSxxWrLuCdohzoCqwwpZHQ==;5:JRqvLkgn/al6AVjUW4Ys5RFJ1yE2RJOFxYtbTPIyjxJrnjAugvlz/ayRdAp3x1iqK2DMGhwYr7ermOkzrgfFWSaK6aDBNLOQHthwLsA2qG8qPQbMk9vIGbvbLJ3LZSbziV3G0mBKgrkBB7ex6zytTg==;24:Sm8GDx1nuVbd972LFvNpKYGNQnITtuFhf4NblxljCDtK+WAVdx93L7csK33DRYOhrhfiaoL9xIZyWB4YFG6FLAvrA5sBxhPCasjUi9374KU=;7:VMUDNf6NWCAq8GLzJs+stBEACH4go2yKhYMoa84+6ur4rPDoXdtAvaymVaAdkDPTC+BMdekTSrpVok5bWjCfNRIinyyRhnotAfenGedcDIhR7MtCu81MOkzq1LihOVQYBrq1RPnUQ8l1G1FioFkv3LVcp/m2MsZ5bXo29WHi8hcQHh2QDcECJpx/lixmfgtCH0MU0ukDp6yT+/aF6GxZj2xLjrKnb2c73inFO94L7gDvio8AqIvd4T+pI/F3x9Wz SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1787;20:PhU2PVIo/zT6RN4wCcKLIbk9N8V09DNj7X++o2R7/E2lhlQeqjehxDuer8vypUjAMsD8q1rmEoy1vpjB836PyyjcsPwb+NFkfuVzP+TauqJWQtHfSB7TXKqDbQxjKFxX3C5H7z0fNOu586PsVwGbewgRicuROfCKvZdtk8Ue2w4= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2016 11:10:58.4551 (UTC) X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[217.140.96.140];Helo=[nebula.arm.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1787 X-MC-Unique: xCoMQ2qiPVCF4HCnBVoNEg-1 Content-Type: text/plain; charset=WINDOWS-1252; format=flowed Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2016-09/txt/msg00711.txt.bz2 Hi Jeff, On 12/09/16 18:16, Jeff Law wrote: > On 09/05/2016 08:59 AM, Tamar Christina wrote: >> Hi All, >> >> This patch allows the FP register to be used as a call-saved >> register when -fomit-frame-pointer is used. >> >> The change is done in such a way that the defaults do not change. >> To use the FP register both -fomit-frame-pointer and >> -fcall-saved- need to be used. >> >> Regression ran on aarch64-none-linux-gnu and no regressions. >> Bootstrapped and ran regressions on `x86_64` and no regressions. >> >> A new test fp_free_1 was added to test functionality. >> >> Ok for trunk? >> >> Thanks, >> Tamar >> >> PS. I don't have commit rights so if OK can someone apply the patch=20 >> for me. >> >> gcc/ >> 2016-09-01 Tamar Christina >> >> * gcc/reginfo.c (fix_register): Allow FP to be set if >> -fomit-frame-pointer. > I'm a little surprised you need this. Most ports allow use of FP as a=20 > call-saved register with -fomit-frame-pointer. I think this is because on most architectures the FP is not in the fixed=20 registers list. But the AArch64 ABI (I believe) currently mandates that it is. With the option of: - It may permit the frame pointer register to be used as a=20 general-purpose callee-saved register, but provide a platform-specific=20 mechanism for external agents to reliably detect this condition - It may elect not to maintain a frame chain and to use the frame=20 pointer register as a general-purpose callee-saved register. (from section 5.2.3 of the ABI). In which case `-fomit-frame-pointer` alone won't be enough to use it as=20 a callee-saved register. I could try looking into alternatives if this=20 is a problem for other ports. > Also note the documentation explicitly forbids using -fcall-saved for=20 > the stack or frame pointer. > Ah, yes, hadn't noticed that before. Isn't it a bit too strict a=20 restriction? In general if you have -fomit-frame-pointer then shouldn't=20 the it be safe for the FP to be used with -fcall-saved? Since it's probably a no-op on most ports that=20 support -fomit-frame-pointer anyway? > Jeff > Regards, Tamar