From patchwork Mon Oct 24 13:44:38 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Greenhalgh X-Patchwork-Id: 78957 Delivered-To: patch@linaro.org Received: by 10.140.97.247 with SMTP id m110csp2586072qge; Mon, 24 Oct 2016 06:46:01 -0700 (PDT) X-Received: by 10.98.98.68 with SMTP id w65mr28881030pfb.121.1477316761170; Mon, 24 Oct 2016 06:46:01 -0700 (PDT) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id a187si10452437pge.103.2016.10.24.06.46.00 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 24 Oct 2016 06:46:01 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-return-439396-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-439396-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-439396-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=lvU+eMuL+hlHax0c JmXrxqI243t4pOflz5sDnLYxHhCFCJ3dsF04DeCep10B5ApCHLbEhlSkSd1NQnc+ LqN4EN15w8hKCiyTNsqUywLyvDqqyhsUy1JlrMxtB/+AM1B2cqZEeM53lZ2U+DeO pyRTU2rnXZrDdMt+LAKn90s8uSQ= 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=NNTP211Q8fkzxajIZYxqzj FMwFY=; b=o3oWGDydjxZrrCxxelCDGL6BLnLZjY4mToRq29+jugw5AAevFXRmeE nVK7OJ5H74jO+PdaS4ag/vSIqaNrZ4i2XDsk2nn3IYPCD3gnSXYbLzRzyf+7GCcI L6NvY7OhcQ2sX7CGgnBo/Mut07ZFbFFX3mbVdqrTWZg7O9MYn9TGU= Received: (qmail 61059 invoked by alias); 24 Oct 2016 13:45:35 -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 60894 invoked by uid 89); 24 Oct 2016 13:45:34 -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, SPF_PASS autolearn=ham version=3.3.2 spammy=1366, 1843 X-HELO: eu-smtp-delivery-143.mimecast.com Received: from eu-smtp-delivery-143.mimecast.com (HELO eu-smtp-delivery-143.mimecast.com) (146.101.78.143) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 24 Oct 2016 13:45:24 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01lp0176.outbound.protection.outlook.com [213.199.154.176]) (Using TLS) by eu-smtp-1.mimecast.com with ESMTP id uk-mta-53-3qjTq-4FOSexHRRfGevJ_w-1; Mon, 24 Oct 2016 14:45:20 +0100 Received: from DB6PR0802CA0008.eurprd08.prod.outlook.com (10.172.224.18) by HE1PR08MB0811.eurprd08.prod.outlook.com (10.164.52.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.669.12; Mon, 24 Oct 2016 13:45:18 +0000 Received: from DB3FFO11FD006.protection.gbl (2a01:111:f400:7e04::144) by DB6PR0802CA0008.outlook.office365.com (2603:10a6:4:7e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.669.16 via Frontend Transport; Mon, 24 Oct 2016 13:45:13 +0000 Received: from nebula.arm.com (217.140.96.140) by DB3FFO11FD006.mail.protection.outlook.com (10.47.216.95) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.669.7 via Frontend Transport; Mon, 24 Oct 2016 13:45:12 +0000 Received: from e107456-lin.cambridge.arm.com (10.1.2.79) by mail.arm.com (10.1.106.66) with Microsoft SMTP Server id 14.3.294.0; Mon, 24 Oct 2016 14:45:03 +0100 From: James Greenhalgh To: CC: , , , , Subject: [Patch 2/4] [libgcc] Add double to half conversions. Date: Mon, 24 Oct 2016 14:44:38 +0100 Message-ID: <1477316680-5094-3-git-send-email-james.greenhalgh@arm.com> In-Reply-To: <1477316680-5094-1-git-send-email-james.greenhalgh@arm.com> References: <1475254617-10825-1-git-send-email-james.greenhalgh@arm.com> <1477316680-5094-1-git-send-email-james.greenhalgh@arm.com> MIME-Version: 1.0 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)(199003)(377424004)(189998001)(33646002)(512874002)(106466001)(229853001)(2351001)(4001150100001)(36756003)(104016004)(50986999)(76176999)(26826002)(2476003)(586003)(568964002)(77096005)(84326002)(50226002)(8936002)(356003)(305945005)(92566002)(5890100001)(19580395003)(19580405001)(7846002)(4326007)(4610100001)(5000100001)(246002)(86362001)(5660300001)(2906002)(6916009)(626004)(2950100002)(8676002)(6666003)(110136003)(87936001); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR08MB0811; H:nebula.arm.com; FPR:; SPF:Pass; PTR:fw-tnat.cambridge.arm.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; DB3FFO11FD006; 1:pZeWin+GnHXOjlqy32UEqIDynRrm8A1J9QzIMjXWGNlp0PBZZMErMyMHeQzUw0c++IaoihhnAhU5rGxT+TW68JXE8edMolOGphTcfNO/UuhFJAl3o4qPtui/hGO13JEwnYhbPYKRrDpKmTbmNC0y+XF66nG6V4wJVme/Okzp7uAKJTL9ZEDnsGRqFNIuqhp8LHTpxuZ/s6PxrCoekVZ/WCZLGP7x9cGZvR1/rTnr3OMORd3R5BZaGewxwD5GDE1Y6LrPd5brFNdT11/qGzthjfBNQ026YZdWvOgEQ6EK6N6pQoKleVhhG2hVCpzoc3Xd5nuItC/1WIC/Gip9cRR6paSwT58udSBpc1RFQ6fyuFsUE/RZ0jyLOmOzJoW0+ZVTJWnEzRst314mrmj9vSexau/ZMAu4ttoY4L8LZsGy6IudHYUvMebD38yUn2KF2jB52xhQwXlJHD4ugXjgTcMp5tqBL6+O/wDy+mTG9O4j4gpkXu339gX4z8aDAz9HerGjCH8h9PUxuyUHffUd2Jth1rLsTxlKYv1d+4qsWRkAHMPxbas7rBzJh77s4TTIBXZ9dKrulP84P/1NtEC1KMKh+UouH7o7cjbxTxnWMjetEek= X-MS-Office365-Filtering-Correlation-Id: ecc018a6-f33f-4415-8174-08d3fc13facf X-Microsoft-Exchange-Diagnostics: 1; HE1PR08MB0811; 2:WMd/9E6rF1JXDaF9j/M2EzTxyY5o57XO+BwNHKFhmk1v54jq9QJsD6HFzbHZ0g72OpW4YlWOo5ylfdFKBk0swrWyUU+p4eLyJTJiyEPOwhhIcD4gHpBx7x0NxfjfAH/MwZvEwnFMW69KCYl44gyTbQ3Fcvqb0n/Jkrodvpb0bW+lsYwZdoMBmHeIyT6DBqaF79nQdJp3IOP5wA0yumw97g==; 3:x5tfxSVc4DkmNUgX2qXJAUwqq0K+mbo9+BOtxdLY18qNS+hGuubafibHcnnvO/6ZoD97ElBgdBt3PBnHhAz0L3GlXOw+YF80fj0grGFaAJui2OErqlfFdwj4Vay1Hx3XErOxUW8R+Tv/Ujvm62IFZpXtNBykMggidovg0M/G/CQrSfBfkxh46+P7MzU8zz7xPAyLqLV+U17o0tY3yEYn4QnmMZrfl8efjuHlRM10FJfnMN6qsoPcRKpN/zaWp9SDUPLp3uA/CrOBxHVKzV3EYFy7G1yUN++yA4B1bUi5mdU= X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501002); SRVR:HE1PR08MB0811; X-Microsoft-Exchange-Diagnostics: 1; HE1PR08MB0811; 25:imTEzguXxoiPnWcuI2hUMAqSMsTsLNfkLIFChoEXNS7mEujOAy5iF9J9cB0+/C4y2cwV+hRRvFzwwx8H6YPqmglFTqRl9KCuaveEqjR5P/NeSEawl7+7BhDCjNubkyX+i4A8+1aUgTSCPuHug721//SmrKmxKLM/emX8aNCr50tkz9w1peP8fz1H4m35Yu5QUxivfNaSBLeiUq4TojxmME7YUDslWu7BrnnB5IO92rs+T5wdOrWJbSzrerQlRgVdBGJHEP46aq15O+xzQ+lK81z6+vvWTp9ntumUvGtmrFLAem9Oorqy28Z8DymhM/HiIEQGdrYmTy11Z8kfkRJbSybcTDXwLF36goEdq6hxFxIgE/8F+aaqQHNMoVFA3d1+3uEuxW1OsNp0t1RxikdAx0vLrOK5WKSOunkRRuYFYhqqsKiZ7KxuFQz067tmQUhdi7IuH4nrMjnJw4KyjrVoY2KJxNyttwzZb0/xZGmqSEu1UOe1bedQQ54oca9C7SaoSpypkZ5tA81CLU2y/W1MW+DnihdaLf1kRLbbkERJlKbJL23yENrhXRK9k3hH86IVcWASatTmJq+YiXt9KCmcvNWOt4VNIe9RhXNm1gPQizXBX/QvkAzBhZzG4TxQITczEm9mlVEJU0GmyRAx8/TnR0ojQarvTiwcOciNb1A6CEkOIiUBRa1aWbO6UOGbJI4eFjv125pWythUmMwKXe2ykkB0mNmJ7Z5CyNiPIzjzoX9OEra1d9iKXrl2zJT9xdBpLpMEyD6GA3xlUsgXlfdozAtM7IwxdG9sOryqoDn51qrOln9rUfN+ZtbUJgzwKfrrheFUy5S56fSXukNonQuAN1NySlLHqVlWR+4tYolvAZFGTBbz7DswYJK7VlxYx634G/xgnfJ8ZRJ24Aaw/XkMKgNjlGj9Fb1KUHP1oNWy0sQ0pOzFr+2y1V4M48WiuFVH X-Microsoft-Exchange-Diagnostics: 1; HE1PR08MB0811; 31:gBVf1dc3ArxBOENjpHrtIrrIVfnG32NwTKjlojyxtOshLRlTfb62aHsKgkH6OAGQt8GCfFiXBKWp7pGWJKDXGE/iH+aYvQ9zQLmnpGm9Tddu0UNvQcxsvK6Mb3FdSyJ8COy1Xw1n7HumMXWHOVDxZnnbersrMRjF0/WAh2usOhqoaWet+lmTsIpYzoXRXILdhF7K/5u6syoWKEBTNsokO83CGEQXT9qAYS8tFeR/WFDS48PmH8D5XqPTZ0TBRSkE63xW0ZNH/uCmaHAzmpIK7w==; 20:FXDLNDXQaZ/pC0JxB5yJQI3uPSFuUd38mrTEO7cSayG2HCrykoNmKczxyY6fnLdTKBkSwfoMAwBk35FEZhJG9uCg8SLOj1gznpitIOi1plf4A0zJDR4hOomiTRR9E1eEOv0zER7BiWYeD6hYZ0ftAeiFMU2Bc6SF9ZFvd+GmU33MyqZZXk8eTEfWY1zFIUGX1IODq3ktnudqKIuUX5Hr/1RcfGtsffXQkeDULoNFgiQO3JjCDFmAcPf3EdYW1LoT NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(102415321)(6040176)(601004)(2401047)(13024025)(13023025)(13013025)(13020025)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:HE1PR08MB0811; BCL:0; PCL:0; RULEID:; SRVR:HE1PR08MB0811; X-Microsoft-Exchange-Diagnostics: 1; HE1PR08MB0811; 4:ontbKXxaXRe4WgW9JH3ylVo8014Ix1JeFaLmsJMlWZvDUYCR7syQmcR39oYoFk4yIpYUgDITgMQ6DP3wiEweu/UxfMtaiVoJC+lOIwuz7OUzTxKv88gySMH61OjiJZegeraJ5imPrrdtYGIEA7tpFYGnpv3IoljaoXNaDqpYlgcxkVJtyee+vN4qj0wFtgAFnksY2Qp0Q/8S/JJstsJHwSQAI2CIu3+3g+GFUfQwP92OZt18wfy8xDPJB1bss8qcz68e6C0H+ZkJ4dLlhpsxsl/VfReMyPeZ5aAc4f6JyPLeYhPb9NYpnYn6SKjKI0DQcyppb4mhK/R8qhZzjITAFz2w7lskU4lAolLdEI+BnJVlZSIU+WraGxPQUsJ7AHwULCpK1BB5RjJzPIPusKUPEFPwWP3KHkaPCj0blvV00U67hcqNlXF/GHJEB9uJM3rCCSWr23cUHrPheSEJGRAhJfOq9oC0267dLrqV1Dbd25UIBGiy+BCpgbUzcdnztDFXgcm7jRk1g6CgH54m7uwx7y8uyenLnOuOQv+AMK3C7okdbILSDQ2HFTrvcEUsr8PS X-Forefront-PRVS: 0105DAA385 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR08MB0811; 23:K+7b7IhuWszXfcf1GuDtPH8I7xCppIusSWoHpLDfu?= =?us-ascii?Q?ZrpWry3JSJZotDrmmegKDD8h/yn8l/VWYjJkP/oSLJoqWL4mpZdO47KFlwom?= =?us-ascii?Q?yc2Q9H1zSSmHxiA3cipRpaxlKeVRRkgdrQwauY4f07P7fr0rwu1mlLPYubRH?= =?us-ascii?Q?21sOw8mRvzAElAhdy7h9uvAXJTGwc/GkC4LEPl9lEq+agYNeLg0573sPgQax?= =?us-ascii?Q?npP25JtYmwFN+x8VAabYg7yJWk70Q9HK/4f6OhNfbhIIYiiuJu7unMb3Ir9l?= =?us-ascii?Q?8vgfFdw1gr1n7wN5fQib6jlVoqfHZcJHhtbnlfx6ytLKlJRqagEJS/LXTY7U?= =?us-ascii?Q?gAaaZWIFPocrbdNm2/oBXbn3wR5s7JTIXKVnHAyLvtiMUgeF8ky4x634vOkt?= =?us-ascii?Q?omTDI7REh0+XG444ljhG2NsPVv2l2j3QGf4nbwpsHIuNX0n0kvf0kTvx4I/9?= =?us-ascii?Q?JeJ3cKAD1dXShGAtUyJmH8C1j2yUjShbqWWcRs+Qv6nnQ9uCXlOdDg7XvZm9?= =?us-ascii?Q?Y+7HYhmPXJcCn88k6jsjEEN+yJUPIbDI7g5/LGbKyMrN+UvxQk4FFUWyf8in?= =?us-ascii?Q?guI0sZ0c8D9YNeCuf3UlN3juaC62tCphxL58zTsFWH687PYFHqMTxHFPWSsm?= =?us-ascii?Q?Jom8LGzRkWG/WTd3gy/8Le3nVfSJ5ps6dSCaLHccuP6d9FGFTi35MIF6gv0R?= =?us-ascii?Q?kNSx1xfYrydvk7WsONedNhhm4DambEP2JAWXMTgS28dzlTW5UorHxh0jVlgh?= =?us-ascii?Q?xfQ8ssmO1jw1fdx58pBnWYK94IXe5zkYwyyhLbwAeVrCOntMwyRUhoe4jYrI?= =?us-ascii?Q?PJZyVNuaaYvv82zr9UjpgonzWDpAbfPGOzy/jdHXFFVz9JNt1cXPNCYJfuqb?= =?us-ascii?Q?n3PFD2V22daNoy/ADcgHELull+tqnbBWV/q67X4MeAXLPMybMKGhN+4aK35B?= =?us-ascii?Q?YcROw8hE/f/hi0ONb0n6uJRdrvnbi/Zr22ssvEUlnsfN036WMHtukY0xlLlq?= =?us-ascii?Q?yFnOIpMsGfzOUaXMGNzZANueyp3RPcumUrRaGfDlmiZaz11aDgQhfcLqkjip?= =?us-ascii?Q?HQWiGzBoSlTqlMdLL/Bb2j9z/BINhv+jRQvE+E4r9MHZR4TpU20DIDB+DwSM?= =?us-ascii?Q?NG9v/pPkAPbioWa3kHZNdVkBj/dvxdBXGiHrqRYPuPBu189CJsnuBsUz6p8E?= =?us-ascii?Q?GuZ6P7KLXqSgmI=3D?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR08MB0811; 6:GO610t6gVhLCnE/BS4RDTDR/kOYBci8MkZvaQuY9GLUSnppRMvTOw4ATboaFXskfm1lu0f63IGq/ANw8c18TxaHx2Fd+qvQFIpnyIJ73W1OlHbu4uwG2u9BxeUZ2cAZ8MXUdWcMUpuBq24Cj4nW1fEZ5Qesg+zOCYgUBgcj9N12uyxIT3qMsXLgvWtnUhSqR1+U5eJBICo0t345uTn8nE17mE1ipxsgbJGarKcnb94/Phkvgn1leZZvq7lRtLQtnUJNJN6iOAr6UjmnShG12BNdlH6vM8e6zuVOvlL0eB/CsBIkL2SB1x40L9C/dc+Y+Ha5WqZVTiFNQJc0plws17ae0PVgxRdOHkAWGgyctWF8=; 5:BKgBSujt4GwfrNLndOLHPjU4TAeWfwMNdAVT1SxCxVYRp0dHZaDYxT5rghJQ6LEQ1GuH/g5KTfUaF4g5A1rVnaHCwZO5pCYWgVWeYlol9Wm/ZK0ZiDgGaZDsvaWBFd2x/YMZgE6PoSNTv+osTBxUyw==; 24:AIhn6aq7BJ9GNssuvnpW/TT5B3vtJ7wWGDtsZT2r/j9PadoTfLMRz+aCPUSnttHU2E4vR+9qsc9HQ65nlaGtJ7sxpxtYB46DMCqyY4NNCOo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR08MB0811; 7:uL9uS5zRYFuwPmJ4AxVcSIqb95n7ECzr3bBotw4N8yKcA8k31p5u+n4Ds5lKu8B6HJEKUf7/Tpow0hNQ9H491zbm+Yv8uLNSjci5vNLVXob7xYsCWgri6SDFZ5N/FcHNTc5P0RdcEkdn+G4UPgRk/aLvT58wP2aPzNwtnPyLhbFh9TCVMxUb4o4FLNrKSD0usjKgXJpSwqd9MDuDR1vzf5aJYCr0gCYMut5qr/JTBjP73aZMTjJPrsbfWgHgfAKwIcN/gZb578kplBuR/adw3GUB7NJqRWFlDuIrCc6z254fJt6Dl1ZPtELDrrJbl82BBLn65ilpjzz2dOUH0yPBRaB5VdSStTejHW6wTwmfET0= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2016 13:45:12.9513 (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: HE1PR08MB0811 X-MC-Unique: 3qjTq-4FOSexHRRfGevJ_w-1 X-IsSubscribed: yes Hi, Conversions from double precision floats to the ARM __fp16 are required to round only once. This patch adds a functions named __gnu_d2h_ieee and __gnu_d2h_alternative for double to __fp16 conversions in IEEE and ARM alternative format. The make use of the existing __gnu_float2h_internal conversion function which rounds once only. Bootstrapped on an ARMv8-A machine with no issues, and cross-tested with a range of multilibs. OK? Thanks, James --- libgcc/ 2016-10-24 James Greenhalgh Matthew Wahab * config/arm/fp16.c (binary64): New. (__gnu_d2h_internal): New. (__gnu_d2h_ieee): New. (__gnu_d2h_alternative): New. diff --git a/libgcc/config/arm/fp16.c b/libgcc/config/arm/fp16.c index 8d02a24..48c4f9c 100644 --- a/libgcc/config/arm/fp16.c +++ b/libgcc/config/arm/fp16.c @@ -43,6 +43,15 @@ binary32 = 23 /* significand. */ }; +static const struct format +binary64 = +{ + 64, /* size. */ + 1023, /* bias. */ + 11, /* exponent. */ + 52 /* significand. */ +}; + static inline unsigned short __gnu_float2h_internal (const struct format* fmt, unsigned long long a, int ieee) @@ -136,6 +145,12 @@ __gnu_f2h_internal (unsigned int a, int ieee) return __gnu_float2h_internal (&binary32, (unsigned long long) a, ieee); } +static inline unsigned short +__gnu_d2h_internal (unsigned long long a, int ieee) +{ + return __gnu_float2h_internal (&binary64, a, ieee); +} + unsigned int __gnu_h2f_internal(unsigned short a, int ieee) { @@ -184,3 +199,15 @@ __gnu_h2f_alternative(unsigned short a) { return __gnu_h2f_internal(a, 0); } + +unsigned short +__gnu_d2h_ieee (unsigned long long a) +{ + return __gnu_d2h_internal (a, 1); +} + +unsigned short +__gnu_d2h_alternative (unsigned long long x) +{ + return __gnu_d2h_internal (x, 0); +}