From patchwork Thu Dec 1 11:09:07 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Greenhalgh X-Patchwork-Id: 86019 Delivered-To: patch@linaro.org Received: by 10.140.20.101 with SMTP id 92csp638418qgi; Thu, 1 Dec 2016 03:10:07 -0800 (PST) X-Received: by 10.84.171.228 with SMTP id l91mr83641389plb.4.1480590607766; Thu, 01 Dec 2016 03:10:07 -0800 (PST) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id n28si68839104pfb.144.2016.12.01.03.10.07 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 01 Dec 2016 03:10:07 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-return-443178-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org; spf=pass (google.com: domain of gcc-patches-return-443178-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-443178-patch=linaro.org@gcc.gnu.org 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=dQaBK9ulR1ftMyhe zC6//YroccIlNbTkDNUvaMPvmO4CFwwVKW77Ein3st4olG3Ygd/RSpNNSVX00MuH XKbZQScpoRfU2+nikNuXjbLJ0jg80sLGFmyucqPbesPik0qnbnYUKFk6G4In0se6 eM/KS+U4GnGsRZMTyhgTXIO2kQ8= 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=rLZqsBCIx+Z2ITEox6QYL7 X0O2E=; b=ByfUQkV2FoWtyZQ2DCXZk6KSASt5XMyxaXJK5DxLecEMWqH2a+esNr +A7Re+LcURo2yRxl7W7W/ctfP+uOAz8RHVdEDVnC/6OgQ0JLwlVB1I3uaGzALhvT B+i2J0YJHusPT2AhWq2WsxpOxttGQlQDVy5wWxX8ju6pgZ/k8HtPM= Received: (qmail 9321 invoked by alias); 1 Dec 2016 11:09:43 -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 9124 invoked by uid 89); 1 Dec 2016 11:09:41 -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=desk, H*Ad:U*joseph, Hx-spam-relays-external:14.3.294.0, Hx-spam-relays-external:183 X-HELO: EUR01-VE1-obe.outbound.protection.outlook.com Received: from mail-ve1eur01on0052.outbound.protection.outlook.com (HELO EUR01-VE1-obe.outbound.protection.outlook.com) (104.47.1.52) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 01 Dec 2016 11:09:31 +0000 Received: from DB4PR08CA0023.eurprd08.prod.outlook.com (10.161.12.33) by AM4PR08MB1105.eurprd08.prod.outlook.com (10.167.91.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.9; Thu, 1 Dec 2016 11:09:27 +0000 Received: from AM1FFO11FD026.protection.gbl (2a01:111:f400:7e00::183) by DB4PR08CA0023.outlook.office365.com (2a01:111:e400:9853::33) 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; Thu, 1 Dec 2016 11:09:27 +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 AM1FFO11FD026.mail.protection.outlook.com (10.174.64.215) 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; Thu, 1 Dec 2016 11:09:26 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:927; 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; Thu, 1 Dec 2016 11:09:10 +0000 From: James Greenhalgh To: CC: , , , , , , Subject: Re: [Patch Doc] Update documentation for __fp16 type Date: Thu, 1 Dec 2016 11:09:07 +0000 Message-ID: <1480590547-1844-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)(6009001)(7916002)(2980300002)(438002)(189002)(24454002)(199003)(377424004)(5660300001)(4326007)(76176999)(4610100001)(50986999)(33646002)(92566002)(5000100001)(512874002)(106466001)(110136003)(6666003)(2351001)(6916009)(2950100002)(36756003)(2906002)(568964002)(229853002)(77096006)(39450400002)(38730400001)(39410400001)(626004)(26826002)(2476003)(104016004)(84326002)(15650500001)(246002)(356003)(7846002)(305945005)(50226002)(86362001)(8936002)(8676002)(5890100001)(189998001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR08MB1105; H:nebula.arm.com; FPR:; SPF:Pass; PTR:fw-tnat.cambridge.arm.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; AM1FFO11FD026; 1:O2x405yKMFc2mw+knXX9U0Upoe9GTeYz9LBWwHLG6TnY3fcdYxUnxURqCscTXk6YfyMm2sVNNq4dUqTd8ItOYbi3FPYP9hv94WzzK4xTLW5KP8WkL6hUe4VEVPE1mthsHx3K3VTHgHZmSx/fIq+9e/ud7RKxomwYkeICdVgTyq9L7k+g0w82BtRAPoBy2lZqoIL40XI62mowHYJ4c4CY3kXxrKQdvc9+KWf/QeVcfPmOrtciG6So5nogTeQASX2SuanBRUW9lf6CbgWH9zcjjX0qZbDdkf0xo29JwHfWPMxGdtOj9CC+ratz3cYerxqryQcfSvCDPbLehYPtVicwxuTLUNKV3phFwQOKRYFYS/UX53+RCXSdHvnFEVLumd45hz7tpfU0nR5i5rJVDIt7kGcyMEeIFh6ozL2u8e8lA0tXp9AwbRtTWT7vlrXQs6WAS4HkFx0G9etyQo6eJzcahhf2Cq3rp5XlZAlihqoqR80q205NSgpFx+NirEbCxfbrPmLeWLbafKDBtqXC63kzc+4FHQNnp91rhEw2ykOrwisr9fNByJGDxukHMsiFzwUKv/HDFzLER8pxaf6OQVmG6rygXR2VANLVOJ3/6D3vtNA= X-MS-Office365-Filtering-Correlation-Id: 60900f07-5320-47e6-c9fd-08d419da8367 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002); SRVR:AM4PR08MB1105; X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1105; 3:ToQ10y5WgdFfVYwNh1L1OtQJi4blIQdVHL38G/22Mqas9eXu9+smYDpzYigIGAvh4mLNrdc2994BLecH56PQugHJ+7EMdFRf2DHaiJrE16A8QPbVpoKy2nk8j1hFfymtuSNnh8WRiQVIeDtzfre5Nt1FXneoDivkS2wE9FIxiMYo/lzG+qdU+/Xz5jCGYyQaAfyu9VZBp3xJPqbEgL1i6jOXXvRNIWFZBF45KcCgnDPei8pbXzbU7/QAXP89H0OWX6R+G0m6KXOZ3P97+bOR8K+KjssL7FAryTYhk0lIThYtQ76jnfKkYaNQt4lI9kO8Q/FbBF237hEPIvY9jrmnsCn4dky7sFAHrCQGvAshP+p1D5vgYzW39q7L3boDIJlh2GojWp/gqHsPZoVf6aGPUw== X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1105; 25:0knnv9+fUgzkB+Ve34FZ7BUPgqMy9RkKCN5MEz2nLxAzwQOfwfqH3196pA1pTZbCGDWjs/JPX/Hjw1ANjRaQxsZs3QK/+7XAd9ZzcmsT001oWe/+6VcDW2/PtWJOR0AwSKHfl+Wvc7kAMaJKI3YZXa11IPFRL1Q8Y4CgRzyoc/JD+ojRPSYhqBD0G5GCY6/G251zIXvc5OtCmXYwdRkbrAkTKhBv9L/RImSZlyliuLE00S4yPBLPWa0ZTV38Wvb5VmeggC2VwhepYKz18Ie1cfRiPEGt0qhClRVC6M4/7hQx7zXDJW1VUcNGwNq9Gy0hjqBEjW+VumiSdNjOVXSz3i31+RB9yuEadXZdzjry0XapmG6djfBG/WZyxnHCoFqC1M4phsrTWDN0Gh8EgyDfQAaJZp5K0DKORutv8o7Zid254DLRGm9FYtw5AImCX+BWxkTou+dm88VnWlCYixZ3TwB37yLg5qT8KvGs4jbhV3C44fT6s9aES44qERVowzQPlpjGJE7chF51YL7TAMUaPEG8jtEkUAtMjPiTqyoCRYo=; 31:6PhOSCd9Z7FkBRUHOiOGEx4IEJ1fc5DBAqRWxYKplx3rc9nFYJ+rOPhsh7KAImmcBZeFNSS+DigKmzcjfbsYi3p+xTS6Q5eporBsqqyKYMBOcTWNoih5gg7qe/H1N32a1Gk9ljCeqoD2jUrdZN5zzC/Gp3LeodRQQ4GJW3QMYjyn1G7BGHyKruwSWeDu/8NESHJVuXvUMZ2BODDLpoL9TDqYbywQCwzEwZ97uWHawnUO7W+GLfHzelI7CwO0XdiQmvKhhVIrx4dhZVRxO3g+/GRvme+a5bGJJtOxukXZ74jrOM5BHop04wdF0tGWZQiz NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1105; 20:/kN0GYFD4YdRRsgFjOlHF/HY8XKOCtLQObkBU/CmLdXJlv1Hzj57dnTeziTzDF/NSQ/NBkLHz4zzNjRnuLxgJx73YLlp5XldyrBb7FLGZmuFJBCRw7Ig/gM6OJjXkoim8RlibMPQ7Y+EiiYp3pZwJg6nggoiuh3jrxNlsiDbxO431L9j/einKN510UUzCLLUOc0UTi7c+LX/Cyh0GJENMmnIV+zKhNwb8r0BtZCBF4IBPGOiueLgDdNEJq5fbF2G 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)(13013025)(13024025)(13023025)(13020025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123562025)(20161123564025)(20161123555025)(6072148); SRVR:AM4PR08MB1105; BCL:0; PCL:0; RULEID:; SRVR:AM4PR08MB1105; X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1105; 4:F+gCDXeC4wxfFTRuPA7vCgPhfquj//cnRUNncCGUaR1IbHpTVesCJFXgsX5xw/tC1DU/ddch8iThteqAcLqRfpR+te6HnW+qb6X7GfNwRB7jUbx48xw9tjWvgHTyabgFcRr5ud6DiUrs5B8mhyRYQe850b+Ehv/CXN0UjhM01640L4RQRV/KfLOZ4rhHVDlYYcB6jDsg8zw8t46JV0lSzDidDdyc4gtW3x3Es/LlTn1v3GM3qGNmMlHT+I8Bgjw3fywG0IXS5GTdDEpVg+7IlP5hgNm0djF74OiLN/TchUMWAiRvNSwrKiPIuZwUDc+6R8rmdexg0gXHw/ee62vVvFVzQAgJlGyyGsbahjobBf4Ac1gxJbm5j2/krz33kBv5hnT8ZaH5Nnpni9FI8xSasbYzaHc7A7mEqeSssKvw7D6egTPxkzDwLHmw+TSEtFi0bPxQYpvZ7uHHCG/ZkShtW0s23o0Kf14uazTGjg52hQSSHM4IfssjfiNnPqH1jnNy+iCaZUnrLdrEl91qGAgG50Gc/GYELqEPjD/yQgSZkrOVXzO7HLnwmAhGY8mbeEpfAH20MkmPWnaha6zoHRYhHyBOt0KsNJK1cQmsEuU0n3tyTO+cKWxqGn3abXvjBBOmA3VyDvJIkVwlYLi4g2wxg38KLeCzWsUmcnT8NkGXw6/9JMXlstaki1OKixDOzywMKGjTg3jGBisSI9IQEkEdOBnu+QD+RWE7IjdqUZ+pxCU= X-Forefront-PRVS: 014304E855 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR08MB1105; 23:j5flrOs1sE+nquKQAl4qll4fcrNnuoiZv6qtdI2Jv?= =?us-ascii?Q?u/WpjJe7+cpsFGiKcaFe9P9198/v1LZmaolOCfP5yK8NCDMAtOb5XaZztFsC?= =?us-ascii?Q?Q57Te5k1gmh2Nh44NK1JZj3EEo35iVn56lNFJKtRM7ceivBwj9UbzSLyT4RL?= =?us-ascii?Q?CpvpkYyoCeTLfMHZsZ/EPXuH3SjUU4s6RYSp5+4jtccWwgAbAMW6gWOGJm1O?= =?us-ascii?Q?fT/y+1oFrHlaTPE/6hDLFxIp6LDIy5w2xWuMBZyAPsNruAmSlutq6x8KRhDJ?= =?us-ascii?Q?l8UwpJ9Npbkan8zCM8z830Vo82ETp6lpOpzm6gPJOWcqbrnxeZHmMtTIuG/v?= =?us-ascii?Q?+LxIMD/bDCflfpDme+Wl34k3QY9KyqOgJu/LSG42fIzI9wSSLdy7Y/TuBnce?= =?us-ascii?Q?vtsqkJsJMSGKUtbaH/CATO9jVKdj8FSsOBz09qD4VFIp6DeVFcGPdwIsMOLu?= =?us-ascii?Q?KIOpvgheFjyqxrM4sFe0xjlnZh6ipZbVr++N3giGnuGb0WNEB3eHqm9nIjBi?= =?us-ascii?Q?YJPULuX+3mzS/K1iWLH0h1G6rk05OkYOhljAfh7xAX8to5GduTNaRfzV5eCH?= =?us-ascii?Q?QDoF7ahUWygdJ5qf0OjzEdyn29Oc1jXIaoj/C7gezjLTXzO+udkhjzpz4Nc0?= =?us-ascii?Q?DCEdJjKzulvDeK2/HYAo8DXLLRsiKS38tKTa6754tgBhgyHmlETZ9lxltSy6?= =?us-ascii?Q?chS3S60uqBapMGoz5StYWXalN7XVptpvr+FFnl4P/ESvRMzK72vV+jJrkDUg?= =?us-ascii?Q?UcCtCe09V8ubK3pjxrkP6q2B/WQFYqJFcYkrkMnyNE/t0V0A6JagDFN2c1L3?= =?us-ascii?Q?tjfkOxiCXPqdbvVcRDDQADE0RbNy65V+RclIAzzldcVWbIjWyy4QH1oBjXKU?= =?us-ascii?Q?NTU5KGfiuV+QJHiYJcMu8rmwfZSlC/3zljQAp/4Wes/NZT+IbbuBDIqOGLFP?= =?us-ascii?Q?c+wOcy1tCwK6h9IxMhXlyZyaF5ef0+ABXr3Jfikj5KBWKlLh0vAzF7b2sbD5?= =?us-ascii?Q?QxVu0eK7I2d59083CzNxRUgbZKFKPGY2X583xedhoU+H+W/PW4JgKzBm7Eh6?= =?us-ascii?Q?znOyUk/HoyLw3FQb97jWLZczpe67MCNcWcsiRbUmsP9lmPw+N0OCmWTebGj+?= =?us-ascii?Q?AE2jz1Kz2JS/WsuZjQidZSOH1vWGLKr?= X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1105; 6:feg5lS2fmY5rMSpSIbaUtns9eVshMazWkTjKbiTAv6fIhS+oM+CM+0Lm9FbRLrUgyqELEiYyQNe4V1lmJ7rrKsgPU+Rbog4XZhF9G8PGku/as8rAnAdVMGTDISe+AUIOBmVqkvb8yJAQQW5BqxFtWUavn75UPih4VOw1bKXLh9NYvbBcRmfeCEzet/h/QxVKgPEDBHS6bPFZWNys9KVXmyfdv1iNgIhhSWNxGkE2iHICY7EBMeB9K6DftAW9/l8+2SPIAda7F3xBv0CIjzPYIZP5LkIgahy3YUW0UazcZmB3AHkMo4aDvYvVICAUEkdeU8WX+MjVC3gmxKkxQMeaJXGy2y7jj4fdT6zuEip9gKynZt2HYsgLND1gUXzBYfV9w9PJLIyon7Bqya4A+HTMrNLgThfLl3GyulCM1yznisxC7wo6Kngtt/rKTencWwOt1lP7/bDhXnUHN4pBqq5gFg==; 5:onNb1mbN+ZMmCB+Jb7iBL/4x7ijIlABS0RqfaoD/APyD2qr93+IYhBaCQUbzCy+tl/XJD41tNLojbgMGIAAF8Yjk8mRq2/CCh68bSphvVzhbcUWokDBCL+nHz6z2GMdAESm+hZZlGkeLTCsw/2C6OGDZuRrILTw2BTqU2DTVB4U=; 24:c8/hszxrkHg2c13MbwTiwUVCgB8Fvapd2wbeElP51lo7t/b4ijIa7tFRtDS305jdFzPb2Im7BfdgkWF803axzc/zo2x8wRLEUcHFgOA9Pxc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1105; 7:jaIXClV+VdOtaO9L5w1iDKrWv/QL5KSeNnmIPpHHTdkFeXnynazvBYphI4+sX+fi55tmu5tlZcIkGpy91G68STANsM/ew0xqmGVuuLG1YNTtZG9JX5dhdI+ynYW5jrm15Kn5PKAvG+RijHi1NOKHdXTX4an/ZJX5Vcaa7JKyKsFfUMnpAp9wUfpRN9j7Pr7B3wu31zJN/qW1uSyXJ4lnplxrw5214gjd17Q1MaGNZKJK32mLuMH0+H1kdLzTW0vSvTOZiw7OxP8gPHM7pm2gtH3FEqTIxbpOmzQ45whKqnid6yF79K0Ag4eGniQCgF9K3nLDDOpYpUZqg0hKQ3F2iu+P2wAPXPRFUAYxcXhEMdgyOHI/c7izmHCxjGVYFUw0ZsLpK8F0E3Kz3R6Op/s3ZMxa1cvcDc3E6CP4+pFcPkMpzB6+MZglNCOWVnwPwQ451SfsJwuN4F/AREy204oNug== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2016 11:09:26.1768 (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: AM4PR08MB1105 X-IsSubscribed: yes On Wed, Nov 30, 2016 at 05:58:13PM +0000, Joseph Myers wrote: > On Wed, 30 Nov 2016, James Greenhalgh wrote: > > > +@code{_Float16} type defined by ISO/IEC TS18661:3-2005 > > Add a space after "TS", and it's -3:2015 not :3-2005. You would think that after 2 months of having the specification sitting on my desk I'd have got that right... Fixed in this revision. > I think the -mfp16-format documentation in invoke.texi should also be > updated to reflect that it affects availability of _Float16. I'm working on something larger for -mfp16-format, I'll update invoke.texi at that point (or otherwise before GCC 7 releases). Thanks, James --- 2016-12-01 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..23d03bd 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 TS 18661-3:2015 +(@xref{Floating Types}). @node Decimal Float @section Decimal Floating Types