From patchwork Wed Nov 30 14:37:31 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Greenhalgh X-Patchwork-Id: 701042 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 3tTNLq4q2kz9tB1 for ; Thu, 1 Dec 2016 01:38:11 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="ftozhgwI"; 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:from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type; q=dns; s=default; b=bsklgYb92wc5uL5q CBmAGzt43KiF2NV6+yu81VDE2MD2YR9jLo6Zcmgbj4aW1eA8kMXL9bB6EMzgZVND qp+Q0+2+oLcqY2aH4bOHR/GpLXaWdUoEN6aiPBVkstWM3nW9WTYBO70LYoEspDD1 7qlWOq30htcbXd9kKM+l/vMnaKc= 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:from :to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type; s=default; bh=088PVzjfU4kQSSfe4dv4JQ 7Yh10=; b=ftozhgwIq6MRdq4HHqL/yFIUlmD4O4CP7Qxmd/7o14LaKY5hcj7CWI qiEHPv2y4kbT7WulfqQ3sePuiPqeJiHFETpm+My8SZmNqAZjVfVzx7oIWvs9E9bR JiYoEdPxfsOPjquRrG7MWPfjLQ0PfJh0BvBikvtzT3U9u3sj5jZtw= Received: (qmail 126841 invoked by alias); 30 Nov 2016 14:38:03 -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 126821 invoked by uid 89); 30 Nov 2016 14:38:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=Language, arm_fp16.h, UD:arm_fp16.h, arm_fp16h X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0071.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.71) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 30 Nov 2016 14:37:52 +0000 Received: from VI1PR0801CA0081.eurprd08.prod.outlook.com (10.173.67.153) by DB5PR08MB1109.eurprd08.prod.outlook.com (10.166.174.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.747.13; Wed, 30 Nov 2016 14:37:47 +0000 Received: from AM1FFO11FD046.protection.gbl (2a01:111:f400:7e00::137) by VI1PR0801CA0081.outlook.office365.com (2603:10a6:800:7d::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.9 via Frontend Transport; Wed, 30 Nov 2016 14:37:47 +0000 Authentication-Results: spf=pass (sender IP is 217.140.96.140) smtp.mailfrom=arm.com; codesourcery.com; dkim=none (message not signed) header.d=none; codesourcery.com; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 217.140.96.140 as permitted sender) receiver=protection.outlook.com; client-ip=217.140.96.140; helo=nebula.arm.com; Received: from nebula.arm.com (217.140.96.140) by AM1FFO11FD046.mail.protection.outlook.com (10.174.65.209) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.734.4 via Frontend Transport; Wed, 30 Nov 2016 14:37:47 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:851; Count:13 Received: from e107456-lin.cambridge.arm.com (10.1.2.79) by mail.arm.com (10.1.105.66) with Microsoft SMTP Server id 14.3.294.0; Wed, 30 Nov 2016 14:37:33 +0000 From: James Greenhalgh To: CC: , , , , , , Subject: [Patch Doc] Update documentation for __fp16 type Date: Wed, 30 Nov 2016 14:37:31 +0000 Message-ID: <1480516651-5314-1-git-send-email-james.greenhalgh@arm.com> In-Reply-To: References: MIME-Version: 1.0 X-IncomingHeaderCount: 13 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)(979002)(6009001)(7916002)(2980300002)(438002)(377424004)(189002)(199003)(110136003)(2351001)(5000100001)(76176999)(626004)(5660300001)(36756003)(106466001)(2906002)(8936002)(4610100001)(50226002)(50986999)(39450400002)(26826002)(512874002)(104016004)(39410400001)(2950100002)(6916009)(568964002)(38730400001)(77096006)(84326002)(15650500001)(189998001)(33646002)(86362001)(305945005)(7846002)(2476003)(8676002)(4326007)(92566002)(4001150100001)(246002)(5890100001)(356003)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB5PR08MB1109; H:nebula.arm.com; FPR:; SPF:Pass; PTR:fw-tnat.cambridge.arm.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; AM1FFO11FD046; 1:v8lkDLj8YhOvIqfCxTs7LLaro0UcG8IXpvYWzfkuL6uX9CgO4YmV7NQCu6vWz1SrLMiu/U4Joq2K7+r5lDiPZyM2+LVVGydGV+6LKN4ysntVT2+UW1e/w0wPUvbZakHv3NpqMsdgxmrg9xtQ2UU+CLlW5W32NzXpuw87uEQhcmA/IIFznr0hlcEB58C3wGs9EpIsS7xI1B9CjLz/Zndnpj0FsCYmGrD3GO/NwSePEryUNppOtEloD1K8bzgGBA/PDdjWIJCrFMBJWWSkqVKH7djsoaLJzRpxRJVWyu+ktnw6aSO2+GAXF9g2rwiv2bp5stDBZNLxMMgqwAa6iAPCOqZJPgMDmXaN6nrdkQNz6uYekVaI0R7CU1sZFMfePQL65NqTI9EQKdArIRWupKZ9qGQAVIkMgaTuLN2vHPsZjR4texjjoAeWONvo1BWAwyWi6M8TRXhcDbuqmDb/zINHdo20fmgy6PwiJgjQoG4i7m6zLSfLoKfyl54Y4IyLmDIZkTwPsNZPJx41JZLENzf6/KEJeTOqumzUdjtfVc2BCDQwZ3n0VlNvFHtjiHwumfC5dyS74zAjXpNdbW9W4nIy7S0G3/UPZeuMMJd+6B3JCMs= X-MS-Office365-Filtering-Correlation-Id: dbc79091-e7fb-4670-1523-08d4192e740e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002); SRVR:DB5PR08MB1109; X-Microsoft-Exchange-Diagnostics: 1; DB5PR08MB1109; 3:Erd3NgnJj8Kw9BsKPXGmqYNE2TqB7ArsYFpk46AauxvipZFdF6YRslxX4XJXlWghyLsxdcALhR/9bZotbG+O1u4qDZx6U5Bzj7lymhldoGCTC9dFNWNzFNxLEG6BAyBq2TWm5B3TCZyXT72q27iwQfMjD1ti25K4qzNbzNuMppeCsTSwGABRNkaNwEhrJ0zM23zZTMYftIeZ9oZNRRh7KjlR78ASFaG+RadjJsxYeQKrokue5eQRTy8I3kefbdJQ6PZ3h3PqdzC/3rwVqNkkG3rY7/pxxFiwhSKLL3uRdl8D5Vk2wq2NoxKm9RZV5BmBoa6/kdi/R+8onaCrj9Ai+3X2OjS4pPRKLyGvhRr95tSRrdFfzsSPyxEqIJF+aPcoFnR+VoiKtOqYmdGD8gGczQ==; 25:kEwiMgQ0qHvRDscD+FpALTVd70rR8EcM4yrgtE4fE+Qhhi8gcxgnsRlNEFLsmJHnHbZrsO32g9EmZlN1olIv0Anw8LqwR7mwx/p54G3HSL5qs7DoDEXKHBFpslYeGYxVh1PVFlUtnR6L5roK2olnsGKUMyqZlPhxI/TcxFrHpIr57qUsCIdkbMirVfJDgtl73x9Te+eb0soNFPrFGSNWYZrZ//+ckDiPnrAokHwTqcneotbYzBCvnEQ0wJRJYNh7yPBWG2ltJPG0i2z7Fbs8GmO5KKBHJkV75AZY5SbFEA/LDF2sxbK98Y4GDRyby2RNEPa9dhJmqTKAP8cuyMGYLv1Qj5mnH1glfR3fbv8a4pPKpLoEDr3iY47WyCaBulqgpC+bdSdD9hStw/kyKC/bszAV9AG/GKi4tlN9C8lp8jBF1KCPkrwiH+f9NFP6glcMNJLRgzZAEEnKd7rVyD68I3qDdpAxUcwJpjQgmVmkuCUflnUcgR6v9gQ+YPMloetm X-Microsoft-Exchange-Diagnostics: 1; DB5PR08MB1109; 31:zVkJWLNsUySaQ/yUyUfTjQFM6Bs5st3pADwplmwC3pAqb/Q9y2krYElk6+Wcx6dCscJGyDepOveX3vXLMG0zrIyAgqGm7e+IeTFQEfiHrzHlK4oBNtBxvcfAVOa7cDZC1R/XxmZIUqq5FC6Rm3WQivYLWlx9b0HZqpWDrDeHKL72YDZrysGIcdyC9mMEW3kq7oe9SF2souFzSJRCKsdtTZNMM0ZzEPa1Xk3zS5neCt/CbMo6gBZzPw6gMAnTU3hRSZi59IGswnaLcwKHugv0+Y30oSL8iuh0NA81/6pitlfW2SshJ6vK0FtFnZcoInNAlB3+X8bMNRq4I2F+B04Z/GQZkkXpOQifZKNhCGxxxY8=; 20:mEkH+HXMzbIZAIbqY7gzL3tLLz1n8dbYtuwib7VVHyXhHbkTxZ3V/4cHIkTtt9J7uslCc/qnNHryByzk02hG3NmtVnzlWLowtTC7D5d2/v7VyOUxB3VJFIYaAKU44c17bdNaB8AY6LmB06spHOBV5MDN/eVUk4aN+eesf9fp3ML6WbtOvXOYXe6L5oVk/rVif2wS6xEnewZGFIueINUDxEAhonn+NgvKA4ePJH3E6tZiN9iFVWMjJUaJ65eY1vEp 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)(13024025)(13013025)(13020025)(5005006)(13023025)(8121501046)(10201501046)(3002001)(6055026)(6041248)(20161123562025)(20161123560025)(20161123555025)(20161123564025)(6072148); SRVR:DB5PR08MB1109; BCL:0; PCL:0; RULEID:; SRVR:DB5PR08MB1109; X-Microsoft-Exchange-Diagnostics: 1; DB5PR08MB1109; 4:pXvGUQUR7F6MXAwqty7D/KXHOML/Q2uH+LIbeNbNYP/KC5IWLEWy0rz0JYhDvPOO4iSPHi1GMWb22GjHaNDCxS7y981xvjCdF6p1goRFzekd5aS+bOKi4yftNSvpSF5y/1+Oar3lafTCp9f9G9u7T39VG3mr48Mle+95G21yux4/RvbP2XcAbC6ZdTcrMapwLtMSM6VJYzh3DI/5zWMl7YVqCWt2NCx2JXDSm+8eCnIDqM0E7zd/yB+IwS1YknLAATTPhoyiIph9jlF+J3amYZutBHL7FhdFFeN0v41VoD//z02+K9tytutwFUXX28HcWKnzV142oSDKZqPvHVfRq74NzSBDjENDegYED/3EavpJC/GymSAgN+f5uRQtkLzQEs/vZ+Rw5f48TeT9ZJRgZbFpfz/6ubGlWrl1qWG960JPhTrOGLMUoN7WvVKofz1tAv1yy1jbCjSIYbMrdDkuJnObGwVCcmtih0fJaa9gKZswFJLqJ8ThD6iO+tddrAKrrbYyGRR7OAhGzigGRcQhix8Y2yPug1pw+ApKehS7A9H/hv4pEwcb/U1efrD4jKmUoBZIA4mcYmE2BK3WMH+jFel6OiEELlli2VLzXn0dzABXJ1SfKU/eVlxNBR2e+3wDLnyX4p7TJD94xPmmJBYBpJNw0MYts7Dag4g/ZWylsn83yXAgksLe77zkMBdYIbw/z4AU32FWhBvEPxJEemvGfXjm9+XMBEWnM6U1YdSuN2w= X-Forefront-PRVS: 0142F22657 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB5PR08MB1109; 23:hcm+IxMeCN6GVsT3fnVp+v0ZaMmFD7syLopRhadBy?= =?us-ascii?Q?W92+CAMHCWgeITB2++/1NuEN5c2xdDd3pZRg5PpaH1rzwyav8r3ObT47JEub?= =?us-ascii?Q?HXjDJbmhysu65k0Fe/gB/00q5T1sNbemWqFl/UznYlICL9V+DtXt4XxXznlA?= =?us-ascii?Q?4ActaTcXupeIaE6CX9orNnS3A88Htu4yHrOi8SW+jbey4KTuF/c1v4wDXrOX?= =?us-ascii?Q?qQ6wM8AkGWANHd/HHxHUQ1p+w6LWbzsBgn9zNzfMWAk6OcVAb/JTVD8Rr6PI?= =?us-ascii?Q?t8MP3T/JaXfOJ7liBrJGhix8ybOJ4kP7NUEXDvgC+s3dcHJWIIX2a2z9qMmQ?= =?us-ascii?Q?V4cBvEY94Bwz+NfUkzKTMP1xrItgrhGwz0tjj5NwB2VpKIpjgiAlxrz+L3JD?= =?us-ascii?Q?i5ipOUhsfjSFnXTG9+BbABK8KwY2Emtu1+xZrch7VQxQQMzrmZX8yngnCCKm?= =?us-ascii?Q?3slMphpjz/w+wPzmaPke77JYQGSOBLMcw74Fv2qbOBv7n3fPOzY+rPqwATTs?= =?us-ascii?Q?FDNJq74vpKRVfHzCJqHRtvPNVIwFLqlHOXrNC8Zgtcwe7k3/lY8aSwLPz7DE?= =?us-ascii?Q?8uYQEUrgmF4sOFSWCQDSdQV1rKW8YRNnH9vOxs9+I744oWZP5Ge+yWvrYs9N?= =?us-ascii?Q?T/CoFrIfXJjf81VPEP+BB0tyBPqBU2kxlfxL++a8rsCddU/TJRLnM1iMG4ud?= =?us-ascii?Q?KTg7lzuT8rQ1zq25eAvqpKSP7ceDalt0KjVQhMDq8+uYlYleA7AwulqEZwra?= =?us-ascii?Q?F80Vu3NsZvLCHS8sPCegjAR4ipQcvV51UQ9DNOf1cvfvo5CC/xOkccx4eim6?= =?us-ascii?Q?qB6jUu8Wg7WY5aH9zkaPFcm1i9U2ohD5HHDktIn1CzphRIEfvmA1ijJWCVMB?= =?us-ascii?Q?YKrWaebo8j0QIMMXg6xg8l/YXKOUpNPriH8q9DkA73NRCfMhQdMgo/LJwu7M?= =?us-ascii?Q?nuPKKSBbTp/GlSGd/FOIwr4gBnmI5k9oDGc3HfhGGnYwPc8+ZlQzxvW9LFlC?= =?us-ascii?Q?VT2AxmqjFPNtt7qTyD7k1k8to6255ZVME5mJEn4CoSdL05MhzSPHZyT7dY8M?= =?us-ascii?Q?KifHtte7H0RAfB4rHOrSkpw1TOPew+Yns9Xq8U/v9EkBNlw9iPLxxSuplm0Q?= =?us-ascii?Q?w2hDkjp71gGrsgRIOVGyzK5Yuw/fjxlL4FH+7gvwhJ8YD0r3S3g/K+uzSwPX?= =?us-ascii?Q?6fDEND78cVCo6meec3YVviQ1hzYn2O4wqbu?= X-Microsoft-Exchange-Diagnostics: 1; DB5PR08MB1109; 6:axiNwW1XnYTyMj14FWjpRtu9IBpsBqXWrRWpA4C2bKVDKqh4ka5hcyLDKVtE/l3f6nguivtZWp+71gPkBzcttfLCM+ejHW6w55WXFhDjrhnEirUfSrKvbsCQjf6+1whIOngUHJru6y2UwZ0y6MUzNtinKkZ0aU0ko917NtBq9MBotphDQ2x+vCp0rhw/e3IK5CScZc7P2cQSYr8H4WLMAP1owzhTO/wczAc0e4e3RJ1iGvxfafvjLytqXebcxo+SzjTZzwONDArUTJ3ThVDzFBta+VKbwi9+treLPw7uTPzXxjAfzR4gLgBPmVCSQ8SYg0MuyDQUy1jdUnk1DfHKiYVvkB/yJ++PX3u73jU6RgmW/B2CznfsFtV+5dplEeHkqe+ktrfvA4mRQQvQfZgrmA5xtH5bteN1nIIedRQdHryeDEUYECn32H+Lb1DUaz9HtYAAnvMXybVgaDPezWqkGWcTBKGoH/wfeyU8MjkiXxo4cuP8BZmwLdvRVT9U0PPS; 5:P9XdqWOYOtOkvVwYvgvXj96h8VXFcXqf9SfKPgi62QeapH+/irctIvnUB0XEowuX0Wrb2/UF/ikbwttE6N4z6DDo2pcxQC3qaYOM14dk88NcdjBI1ZtEvbGh9qN2/qOVSTSL+Ju44agcq2EdeZ/7pg==; 24:hC6Fdz3Uavb5iivQWMR1T99le78YPJxG1gj9Hc/mN2hTXNuFTJ20B+qfefDrOzXY1wJMYYpQvu5mschGurBLEjjSafRGlrfbjP3Hfj1STXA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB5PR08MB1109; 7:SheCHHv9tWvc6OQRqWAsMbcMQyJQVRw+MWr5qLCOPx7RmsnQhI5DhXQ8fbHi1t+nPClLN+aCfZN43ao4p0Mhsl1Zlpob6HWFFJjuWy05bbYyAMMQ42Lwn0NP4wdTr4NQ4NcBzHzZjnraHM2b6dm3jUhQTx80C5Pf2hfTX28dx9ZSfKDIKVv2/xsiT8NT6T/mOLFbOmPo0+Pzw1/Qp6FI65gfmnW0Y7C4qoORO3JefnSXxvIj5Y91IaZyNDxWgwYpr4y9N5L9x46OntRJnzGvoEt2+pERvezZ3V52QmaTNGrJim2W7lh182sCw2KatsfcFumbfLKdhJ90qNq6q35vQrRXr2nSwRs5ztk5tDEnnoAan1v4dVh1sPhGan5zb/crbR/mG7G1bhAEO/rJRtUk2d2FOUO9cllFs2ezQsX8DDTn40EM/5Uvo7QyUfnOHcI/LenfsrVp1gDyG3YqsJr2xg== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2016 14:37:47.0012 (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: DB5PR08MB1109 X-IsSubscribed: yes Hi, Documentation for __fp16 seems to have drifted out of line with compiler behaviour over time. This patch tries to fix that up, documenting AArch64 support and removing comments on restrictions on using the __fp16 type for arguments and return types. OK? Thanks, James --- 2016-11-30 James Greenhalgh * doc/extend.texi (Half-Precision): Update to document current compiler behaviour. diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 7d3d17a..cf16ec3 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -1012,11 +1012,12 @@ that handle conversions if/when long double is changed to be IEEE @cindex half-precision floating point @cindex @code{__fp16} data type -On ARM targets, GCC supports half-precision (16-bit) floating point via -the @code{__fp16} type. You must enable this type explicitly -with the @option{-mfp16-format} command-line option in order to use it. +On ARM and AArch64 targets, GCC supports half-precision (16-bit) floating +point via the @code{__fp16} type defined in the ARM C Language Extensions. +On ARM systems, you must enable this type explicitly with the +@option{-mfp16-format} command-line option in order to use it. -ARM supports two incompatible representations for half-precision +ARM targets support two incompatible representations for half-precision floating-point values. You must choose one of the representations and use it consistently in your program. @@ -1031,22 +1032,20 @@ format, but does not support infinities or NaNs. Instead, the range of exponents is extended, so that this format can represent normalized values in the range of @math{2^{-14}} to 131008. -The @code{__fp16} type is a storage format only. For purposes -of arithmetic and other operations, @code{__fp16} values in C or C++ -expressions are automatically promoted to @code{float}. In addition, -you cannot declare a function with a return value or parameters -of type @code{__fp16}. +The GCC port for AArch64 only supports the IEEE 754-2008 format, and does +not require use of the @option{-mfp16-format} command-line option. -Note that conversions from @code{double} to @code{__fp16} -involve an intermediate conversion to @code{float}. Because -of rounding, this can sometimes produce a different result than a -direct conversion. +The @code{__fp16} type may only be used as an argument to intrinsics defined +in @code{}, or as a storage format. For purposes of +arithmetic and other operations, @code{__fp16} values in C or C++ +expressions are automatically promoted to @code{float}. -ARM provides hardware support for conversions between +The ARM target provides hardware support for conversions between @code{__fp16} and @code{float} values -as an extension to VFP and NEON (Advanced SIMD). GCC generates -code using these hardware instructions if you compile with -options to select an FPU that provides them; +as an extension to VFP and NEON (Advanced SIMD), and from ARMv8 provides +hardware support for conversions between @code{__fp16} and @code{double} +values. GCC generates code using these hardware instructions if you +compile with options to select an FPU that provides them; for example, @option{-mfpu=neon-fp16 -mfloat-abi=softfp}, in addition to the @option{-mfp16-format} option to select a half-precision format. @@ -1054,8 +1053,12 @@ a half-precision format. Language-level support for the @code{__fp16} data type is independent of whether GCC generates code using hardware floating-point instructions. In cases where hardware support is not specified, GCC -implements conversions between @code{__fp16} and @code{float} values -as library calls. +implements conversions between @code{__fp16} and other types as library +calls. + +It is recommended that code which is intended to be portable use the +@code{_Float16} type defined by ISO/IEC TS18661:3-2005 +(@xref{Floating Types}). @node Decimal Float @section Decimal Floating Types