From patchwork Wed Mar 22 10:46:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prakhar Bahuguna X-Patchwork-Id: 741964 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3vp5wQ4d41z9s7f for ; Wed, 22 Mar 2017 21:46:51 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="kXEW8f17"; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:mime-version:content-type; q=dns; s=default; b=fig3lYvPjPpb4HcIiOZUEoRPP8a8X1qcgStrXuWg8mrG+18hK5 vEacvg0pc0g8qX1cWOqQmm4tDoj+AXvZNaM7C8MReWngqaFU1JNNucGayv92DICK BpH0yOBOd6X40jO7RWhyY/b+beQht2UwixT0CpC0m0N7itK+XwYUGFA0w= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:mime-version:content-type; s= default; bh=6BF1gdcSCDdqCPM00+cH1x9L6g4=; b=kXEW8f17Oo22S5JOUbE3 na0hUxANI/Os12EdrRghKD7ZM6lEySjlmRbPs14EFtNjEuddiaC1u9BNYWcRNCz1 VMqXmzPekfSYrRy10j5daQkRDVjL9lA4nq4dN1qaz0sO61HtVd4mSgySHUuoN/5/ ydQW1jDICcE0eI80QA/utH4= Received: (qmail 41259 invoked by alias); 22 Mar 2017 10:46:40 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 41227 invoked by uid 89); 22 Mar 2017 10:46:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=states X-HELO: EUR03-VE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr50057.outbound.protection.outlook.com (HELO EUR03-VE1-obe.outbound.protection.outlook.com) (40.107.5.57) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 22 Mar 2017 10:46:37 +0000 Authentication-Results: gcc.gnu.org; dkim=none (message not signed) header.d=none; gcc.gnu.org; dmarc=none action=none header.from=arm.com; Received: from localhost (217.140.96.140) by VI1PR0802MB2463.eurprd08.prod.outlook.com (10.175.26.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 22 Mar 2017 10:46:34 +0000 Date: Wed, 22 Mar 2017 10:46:30 +0000 From: Prakhar Bahuguna To: CC: , , , Subject: [PATCH, GCC/ARM, Stage 1] Rename FPSCR builtins to correct names Message-ID: <20170322104630.z7g7nk6sv2xdzhad@e107464-lin.cambridge.arm.com> MIME-Version: 1.0 Content-Disposition: inline X-ClientProxiedBy: HE1P192CA0007.EURP192.PROD.OUTLOOK.COM (10.171.121.145) To VI1PR0802MB2463.eurprd08.prod.outlook.com (10.175.26.18) X-MS-Office365-Filtering-Correlation-Id: 9466bf5a-01db-4e3d-8151-08d47110b5c4 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081); SRVR:VI1PR0802MB2463; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2463; 3:Z7R8MJeOnvdHtdaQzvv6No2F1bYvS12k7BnmWIAKcXl8ULc6ptVs5YvGhJ2f8JW/hSb8jBotn7k+E7jBkqka53BTfJIBmYez9uDYrkExT1ecHhsz3cFE8gLgwTX5oH4GBRxBGM7kEbluTa46heL1J8Y36Cz1Nz98E8uiZ8arczFYYRS7161OD6pI19BfiWNQvjMpOGOHTmpWsmmaRDdnW4hjqMeVsgKZHm4x5aGA+T08PbPDQWXfSaqKoA+gT3MOtd1pAK+Gol5IN0Knj6lVYnjkQZJbbKV1S+nB4mYZekM=; 25:KNPFg4GQAGHDfjVwR6o5qfhe97XUkxaLiEN/9mxZRYw2pe5/kQ1cGrTNSqIAkZetHrueVU3uHuyivGAdEIvIi9QVFheWk/kVt1AylxCyybWbtekC3BVUhG1LMw84rUJda+WrnwvsskqLVZhssNlQNjhIGou1QuTEScnmp/KO5nP6NKpoDvQ8nY0wGfBcUBNvk0JUtjYP8Eu/OvQkJ1sIPzM/DGHpYhoXWh2S5BOxoqlXlBXBm3VKKNPvOy2KZaKczGTeKIC6emCTRV4hjUXOZ7aN9KfzLhtB9BEYPEgn6XRgexoOnXZOcRg/qeZoDfCj38/QIivyNMgSjxOljcGhdaXWNqgH2R82+ytT9MC6pyUYCvClY4Ouo8r+AALQjT3TYDU2PSfJ3tIC2cVGo/UEEHwZKBuf4gf2VdxO3mqq7S65JVzcf3JOPc+CptjSlLw4GhnzsXPGoQoT0Pg0xOmqJaer7yn0O3coS1vN8+PywPoHqNE6Iev2SBczNUqh/I1Q X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2463; 31:Q1NYwR9Qf7ARnZE9OL+xVz4KAnYbYaRFr0If1aa7LfUA4V2ESPcQCZzwQI59NdeYUMlzmjJAr27e1MdubjcCs7HIzK41ljRIb3hWHxWnAck9UpgxZQpw/6tzuC2NaOd7SLS6Ax9MNp7KcmSLbSxdFXjBsmKRdO2s+WaRAAAnsuAamzZZyN/jY9ggYPIfqdv0dJQZ4WNtCI9sHjil7hIrE0/LRnLrBwPLgfkkw4gYK+XNw7mXK9rMm/YRj286QDldZXOMXj9h5HIHBqWTGbmXow==; 20:cdWZCYSDRxbDB379LgRLSCTkdQpYiYspJDDxTAm+JjcPngGxGw8rbaLojPEZ9zcEQSyNjvQN45H/a6yaAcwE4NeOef7/dQqO57EPYkMhb8b+GXzwO+QEkrQFuwiGvStQicY76Gq7g/fKayt9T5kEV55u08hAnvaj8r9dBhLsGYc= NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(102415395)(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123564025)(20161123560025)(20161123555025)(20161123558025)(20161123562025)(6072148); SRVR:VI1PR0802MB2463; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0802MB2463; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2463; 4:ZJYHHJqzBVYysHpWav210GZGY0KcCBR2j01QyI/oOMdTGPa7DrzKR5UPzGF1B0gldKEBrTuMX8jkqx54H7ZMCFiaWbJgWZ98yeLCgOrKATJ5cdM1hgJ0QsTPNERrSPaGQnejKDjzqZQOHduyFPfCoy5u4FRH8zMo2QZA7MaKfeVyFMMoGyDI7AimEaokuBVhz3ZP7BQGL6haUNjeEuqRmcsEsdyRDradeaimYD03Rcp+aVuEaghboU29HJq5o6JUFoRt2/OG3ADIl6aIjpJb+UjuJH+7t9aQPvZxsK3sqORCrFv8b2bOKYsgVOpp/FKhUb2XR8aHfM7TSI0qmSGeTl8TQ9VmjehYKPJRtRZ66ip33wmm3W9uo3BMUyu+Rt6+os64HXOHKzlcxkIw7HC3wCYwv2LD6+YC/0QyQVWknHt1J1T14RGpY8eQ6eFpwna/pU/INt3Tm+c+py5pv2xk6YnQGIMjakm+/5IkmEbOHZ1/k2grjelME/vWz/P70frkPlysyh9TPq/tlXLTnfwKesQUXyMLJsbi/qZcztEuIIK17hfvYgk70ijP/S+6c2hnIIUx426ChSd7h0RtMK2pbneEqNrJ5dKp6peHbW3jmltOOJDN2s7ABCQ4Hpk13B/bt2fAr5JAfwsz2F4Ob8W9UjTt4neqLYaB/PvERMMqHGHr3m6rOZdrogtKc+rFw/3B X-Forefront-PRVS: 02543CD7CD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39410400002)(39860400002)(39840400002)(39850400002)(39450400003)(54534003)(377424004)(305945005)(6666003)(512874002)(7736002)(1076002)(5660300001)(4610100001)(53936002)(5000100001)(84326002)(2476003)(2906002)(6916009)(2351001)(86362001)(42186005)(189998001)(33646002)(110136004)(5890100001)(4326008)(8676002)(6486002)(54356999)(81166006)(6496005)(6116002)(38730400002)(568964002)(3846002)(66066001)(50986999)(76506005)(25786009)(2700100001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0802MB2463; H:localhost; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR0802MB2463; 23:kAjzqvZAoZbQcxvovk5DxIuP09J9bKsTfORL0Po?= =?us-ascii?Q?Doy1nZdhwd5GZIsAgovOWrQYW/+aMQEKX3jWCkkLSK8uUzbbWsjf80vuVy2a?= =?us-ascii?Q?h5gr3TSIVZBJb37QIRhZ7aVyOnH1AWKiZWQ4P545N/Ct+VIfWznOSZRl5UJS?= =?us-ascii?Q?Y4xd1du0WNoLPGdfbRrhqSkfTK2RghGx3WD0XUic7Metrd0C8O2wwrx1hBaJ?= =?us-ascii?Q?Ab4cUbF2u3AONV6i1ntNdjNf+p4IQVRKk/kE5zGZjwHVOHVR5L5dYo7bjDm9?= =?us-ascii?Q?ng6HgtcT4B1bnjvtU43DTJWwMEAD3SbqC3/Ws3AtFZ+29S/KTsfxJJWl7iBR?= =?us-ascii?Q?CSBmHBluaA/44Ctrb7PVB1L/D2s4ftGTZICqDWKk93FQ1CTi8jhHfkMKc2zz?= =?us-ascii?Q?FnANQgQl1ZNj1AWHNfv8YAW10x1sYzi6s9YJRH9CMH3OCxcJwZ/DPDcrL/IY?= =?us-ascii?Q?PXCAqHQuCTIhhZCdVzX8j5PdKepG+t+ksew7HGgyHpj/hn9vuyE8yERNBM3v?= =?us-ascii?Q?EYaU5nbiTvKvSjmgJxycTeXXzlMBaf31M3rSQqYtqMsHXvHdZP/QqJ0PmTvv?= =?us-ascii?Q?FhpVu4KAIbMJBvBYf2RTVqbAs+/d/50GiVUuz7fk202C1/EEzcdEICP7wa/V?= =?us-ascii?Q?XG9uFokGO/32gI1KKB/vxY8OqSLtNeOPlJtXoqyCgVd6f+d1K9tCZfdK+Zq/?= =?us-ascii?Q?N4iLrXsjTC7EuGrofuV6XLP6X8ArYEhJpRnJI8BxpPC/XCEQh0xVnMKpA4Ky?= =?us-ascii?Q?xeCrqqWSHKfIBuXq9OM8nd5vBbbfZcHqBK+5moBRrenNoHjptobybqUWYzad?= =?us-ascii?Q?NJRu7Ibcxd0lq46zmJDDeHfgKRFYGCdVOTUgTxtLMGLjN0ZdOZv2BFYNjQnV?= =?us-ascii?Q?xOMxu1sOMnEt2V9R0yeUP2WykQRVzmqNH6Xf8JxGTXqNu01ySnoRDUNbLZeq?= =?us-ascii?Q?ia1MmY98EakTJ5COWeAuTTruGcP//7NgmqkjufsQ7G1EX3ZjnpjvVicvsNTx?= =?us-ascii?Q?j3NeUaJ/2iyb1urH0SOqs4nvcx3pbLUgsTeTRMautOEx0V+BozvnnB+E36/X?= =?us-ascii?Q?T7qc6LaZiyzQIAHaD7HhZ+i7sOKQ/3wKqElon4qj+CskS+vQSaugAvPA9gK/?= =?us-ascii?Q?KYj7GdcuccuA=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2463; 6:6jlhodBda97MPToZqxcrrutLG+loqfePvpSDqvgqtS6072OFQ8xwhCWKRKFIQR82NDg4I4LRQ0Xi4f3WKviDxhf9aGcVQsshIa1RIvTr8sADVAFCwZK0Q1d08xoJyVXj5W2DdO7DYh6PVRwCBdZYTs4BiqdK2aFMYXqtV40C49SrzPciHSUwzFJih4+j48UAJ/kvmojGpya20BaXT4D1boCnjmwbViADJoD1wqiHqsPO1Gl7sRrP3Y9LiMLfCPInqeHkkm6Td0rHNSjsFK7xa/rP37h8RGv0n9uz4BQk0fdR4WNCBCslNQXZvbTyS3TqwMqSpRKikYphStFUDDXBv7Ju2UdJvR6biaPkuofmV1hOJEeuWS5RjWmDag/7MnvB9Jz1J8tzt0IOGVivATHQLcx/HyyGTyxnieb+tE0pDuo=; 5:Rpp9oxLfEoVqzcBNrJ91DEaZ/mb9irMro0sYL1rYyT6vYApEei/wXg/yrrlzUtkMpIryRlqUzlva2V6Qc2sntwKrdfTa6Piz9U8TInTPUT/Mlkg+JoVkI9Tfip2ZztAREgPkGTDKKuBTDeiTOwWuyA==; 24:++C+OTIXnDK16ehK04d1ZfbP7XdWPYnjU1+v1r1Deg3m7A6SHOBOg4F5HH7wmtvcniMGkPUNYX6qhzmG4hN55YcqBNAgA9bstqzKJPNMEn8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0802MB2463; 7:AISibEe6q/aOqo7/tEnydWkolf5tTN6taxKgIZGpSB/W6kH4dH45kgW4BJ3obf6XkFZ4QZTolZ2/poRkYkTeGZ1rrVoMR9XQjUkWmQyeIdGYxBzkTCiXe8lWy8/uk7NnB6Cp5F2wZ+G6EDtBblO3l/l2ZwcpwlqWGQ82qsjANzqi0SZFliiGyOqCJPHG90Fci1GtUQkmBJvdlO6LeK/gomlwx8GzInsX7QPU4uPRLfREZxlxUsB77pkP9890J42hhEYAdyl5BXPmtzWepYMynctxWrOpldD5/usMAsBoEc/tP9eSB4xNZhj1gAZF0nYQ4hS54BfJTrpATEYJ3yQ/mg== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2017 10:46:34.6700 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2463 The GCC documentation in section 6.60.8 ARM Floating Point Status and Control Intrinsics states that the FPSCR register can be read and written to using the intrinsics __builtin_arm_get_fpscr and __builtin_arm_set_fpscr. However, these are misnamed within GCC itself and these intrinsic names are not recognised. This patch corrects the intrinsic names to match the documentation, and adds tests to verify these intrinsics generate the correct instructions. Testing done: Ran regression tests on arm-none-eabi for Cortex-M4. 2017-03-09 Prakhar Bahuguna gcc/ChangeLog: * gcc/config/arm/arm-builtins.c (arm_init_builtins): Rename __builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename __builtin_arm_stfscr to __builtin_arm_set_fpscr. * gcc/testsuite/gcc.target/arm/fpscr.c: New file. Okay for stage 1? --- Prakhar Bahuguna From 8359732084b5b5585d14b7fbdf70d3cfa4c6dda2 Mon Sep 17 00:00:00 2001 From: Prakhar Bahuguna Date: Wed, 8 Mar 2017 16:29:09 +0000 Subject: [PATCH] Rename FPSCR builtins to correct names --- gcc/config/arm/arm-builtins.c | 4 ++-- gcc/testsuite/gcc.target/arm/fpscr.c | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.target/arm/fpscr.c diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c index ca622519b7d..aef05d0127f 100644 --- a/gcc/config/arm/arm-builtins.c +++ b/gcc/config/arm/arm-builtins.c @@ -1860,10 +1860,10 @@ arm_init_builtins (void) = build_function_type_list (unsigned_type_node, NULL); arm_builtin_decls[ARM_BUILTIN_GET_FPSCR] - = add_builtin_function ("__builtin_arm_ldfscr", ftype_get_fpscr, + = add_builtin_function ("__builtin_arm_get_fpscr", ftype_get_fpscr, ARM_BUILTIN_GET_FPSCR, BUILT_IN_MD, NULL, NULL_TREE); arm_builtin_decls[ARM_BUILTIN_SET_FPSCR] - = add_builtin_function ("__builtin_arm_stfscr", ftype_set_fpscr, + = add_builtin_function ("__builtin_arm_set_fpscr", ftype_set_fpscr, ARM_BUILTIN_SET_FPSCR, BUILT_IN_MD, NULL, NULL_TREE); } diff --git a/gcc/testsuite/gcc.target/arm/fpscr.c b/gcc/testsuite/gcc.target/arm/fpscr.c new file mode 100644 index 00000000000..7b4d71d72d8 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/fpscr.c @@ -0,0 +1,16 @@ +/* Test the fpscr builtins. */ + +/* { dg-do compile } */ +/* { dg-require-effective-target arm_fp_ok } */ +/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */ +/* { dg-add-options arm_fp } */ + +void +test_fpscr () +{ + volatile unsigned int status = __builtin_arm_get_fpscr (); + __builtin_arm_set_fpscr (status); +} + +/* { dg-final { scan-assembler "mrc\tp10, 7, r\[0-9\]+, cr1, cr0, 0" } } */ +/* { dg-final { scan-assembler "mcr\tp10, 7, r\[0-9\]+, cr1, cr0, 0" } } */