From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2055.outbound.protection.outlook.com [40.107.21.55]) by sourceware.org (Postfix) with ESMTPS id 8C6E93858C56 for ; Mon, 4 Apr 2022 08:39:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8C6E93858C56 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/9PfMiclCi+hj2X4830/jPNypdf12t4tCFr9WGKsnMs=; b=V+KnVCp3DRBdtO21BJckm5EtAfPr7HhzqrKjkyhpRePoq2NZJMV9IW4iOLVpKFe9PFSqZHyQNxoPlHik67UaswA/zwjbkIYw2ur9Txkb34JvkTmXTuvT2PVZkUJivFAuy1jjfPvGIGtRj2n4SAXhOvJKsuDGKC3SvnQDHQtcNu4= Received: from DB7PR02CA0033.eurprd02.prod.outlook.com (2603:10a6:10:52::46) by VE1PR08MB4672.eurprd08.prod.outlook.com (2603:10a6:802:a3::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Mon, 4 Apr 2022 08:39:41 +0000 Received: from DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:52:cafe::e4) by DB7PR02CA0033.outlook.office365.com (2603:10a6:10:52::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31 via Frontend Transport; Mon, 4 Apr 2022 08:39:41 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT053.mail.protection.outlook.com (10.152.21.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.19 via Frontend Transport; Mon, 4 Apr 2022 08:39:41 +0000 Received: ("Tessian outbound 78191104f1b7:v118"); Mon, 04 Apr 2022 08:39:41 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: b8ca1bc29ecdc033 X-CR-MTA-TID: 64aa7808 Received: from 4dfc543a55c0.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 3403D7F1-2BF8-4639-86E1-D84AAD7FAEB6.1; Mon, 04 Apr 2022 08:39:34 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4dfc543a55c0.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 04 Apr 2022 08:39:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AV6V6M+E7K9Qpra4RwNmSVDK+MdLuzDSvIZ71b81zvEvBBaSDi39cH6pFs5oCZndaYdSQoSuimx+wV4DZ+KIDpEwXievP+2klq+kF7Po5c8gk/VJjHzitHiDwg2s5QlzH0uBc0maXRJjgrujBIpP/JfXvYZb/TNSccMee8dBZJwmQP5PJDt+eikoEfyy6bXWm0zjfgSm/OCM/tYPFp6aLT9heJAtG9UWEq/nr7lPKMRytnmgjeUpyD4IGFl+vnRZxYak2USQLJjoYIoNaetS/7X81b5G9t9uvwVPv9sp9TbGSLoRr9uyAfg6w4JD47nFU0zat0W2DTeNN2qR/T4fGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/9PfMiclCi+hj2X4830/jPNypdf12t4tCFr9WGKsnMs=; b=S+/ywn/q4To87Mh1D0ii3HrS9TZk/5WdiG24x415OIRUQTUpr4T9GcVWOI+dvYjBkwkN2Fmv4Hn0RAkCd0cmfacQNPptPMqw1JC2D0MS7h/OIr82xaujP9uoijKFtsGuj8TSbVeSLpBum0Z6Y8MdTLEKn5Wa8A/2P/ssCGgZ6J0RNR+SRmLk2b752qF2AKa7FHI92bzMgxucG9sYO1UQ90biWlE3wRYilbMxvqNAOb3HP8XIIoVJjjCEleFgtlrBUZuS1wr9RmAdABy6wAOf34LpLVYzl0K337V47bEL2Tx10yGPk5r7lyYz5KBvztyT3kWXWQmyr4JSkpit1TP7kQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/9PfMiclCi+hj2X4830/jPNypdf12t4tCFr9WGKsnMs=; b=V+KnVCp3DRBdtO21BJckm5EtAfPr7HhzqrKjkyhpRePoq2NZJMV9IW4iOLVpKFe9PFSqZHyQNxoPlHik67UaswA/zwjbkIYw2ur9Txkb34JvkTmXTuvT2PVZkUJivFAuy1jjfPvGIGtRj2n4SAXhOvJKsuDGKC3SvnQDHQtcNu4= Received: from AM5PR0202CA0017.eurprd02.prod.outlook.com (2603:10a6:203:69::27) by AM0PR08MB2979.eurprd08.prod.outlook.com (2603:10a6:208:64::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Mon, 4 Apr 2022 08:39:31 +0000 Received: from VE1EUR03FT044.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:69:cafe::5f) by AM5PR0202CA0017.outlook.office365.com (2603:10a6:203:69::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31 via Frontend Transport; Mon, 4 Apr 2022 08:39:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; Received: from nebula.arm.com (40.67.248.234) by VE1EUR03FT044.mail.protection.outlook.com (10.152.19.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5123.19 via Frontend Transport; Mon, 4 Apr 2022 08:39:30 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 4 Apr 2022 08:39:31 +0000 Received: from e124257 (10.34.101.64) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 4 Apr 2022 08:39:31 +0000 From: Andrea Corallo To: CC: , Subject: [PATCH] Aarch32/64: Support __FLT_EVAL_METHOD__ values other than 0, 1, 2 Date: Mon, 4 Apr 2022 10:39:25 +0200 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-Correlation-Id: 74c70fc1-874a-4dfd-d231-08da1616a976 X-MS-TrafficTypeDiagnostic: AM0PR08MB2979:EE_|DB5EUR03FT053:EE_|VE1PR08MB4672:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: K0jYncpSYf7qeI/4fr4AgZjeM6LMqUYBRbktzYhkLuj4K6QTlrOmsWhRXShEPuxOyaIy7ujYk43+0SN+/xM8JCRiWkv+HESyqQ29C+B8WJoyUDFPGAY4rvIa2lH5ZWX8JYFIoPt5GBlXpsX0PXtf+cDkTdfQQWGKCJCEIx1I7BrDPEwJQSynnqTInFunx5M7ZT5dLEzr4Oh+6nreqL6DG3LoG6DI1fFG3MKuhl5E0v9hrTUWsT4kZTf4Xm6JWs7nitzsnZwEJ0JrTW7iaxzSORxVtuETD4/XfQlTYGcF8EK6j+bYGTrfclDV7qo/L6Thk9/RKpMY5Xcs/oJcDSuJT3PwoV5zVgp+SEtT5ie44Tc4i0f+7J3hn/iAYg/j9RS+e/Za3UMtH8PGH+9izxf2nYugLbH1VhMf0/37rTr9zm+JhBPhGY0VRLvMjVkW9n7WLH+gva2Qdu6kTi55uHCBcT5OL8OGXeQ8/Vw3K3U3sk2A93vwm8Fr00HIpxgnou3HWWUfv4wNyMs4GG8mf/AZ7sTzGVReUrwhNmgGRkwWishD/82yVaZNgnwEWetfZGkDFxTUd7u56ID8T6FYQCD1rb/nNBEuOqN3AQIcqBsuHw/3c40kmt3pwrfnC2kYtAO1/z3yO1dwk6flmWWZ3fsO/NBW6B5+zSIaNyZcb0x/0kd3Zuo+TYZKi33E2SY0LqFppB5RdKRS2bj9/e6jlUxWF90i8RffRTo40yPOxipDF4evQUoue1aziYZtzr3ER3GJnRWXLMUlZg/QQurwZUBeZ0h6vPKeFdS/7eOnWZR09eceA2pIpqcvXb1Lh3nuoxkyazKvhnEGq17BIlamqpKFrQ== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230001)(4636009)(40470700004)(46966006)(36840700001)(36860700001)(82310400004)(33964004)(54906003)(86362001)(36756003)(81166007)(6666004)(40460700003)(5660300002)(316002)(6916009)(356005)(8936002)(47076005)(2906002)(70586007)(70206006)(4326008)(44832011)(8676002)(186003)(235185007)(508600001)(336012)(2616005)(26005)(426003)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB2979 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 31db2d27-6de0-46d2-d181-08da1616a329 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IcO0u5oKOh0CDyxms9xiURI2765j2uHt+cHlYJmwkNnD7Tj7h6wqaGe8eLyhgXZmWuyUYY+QVMG06wY72YERzdJ/o4ONsGI842dz7ThtXo3yGMme7At/6tgMnESVvqZjbk1rwLj5OPfY408vx2IzVSRh0gx74lERIPASBqekAUjVoVYvrmy+OLSBvOnfuxN6epHGsnvf9GbyqXnGoa9fSvki1hKds6ApF5vPE0YZVivtwWi4mCi9U3rgwzF5Wh+88NJxj/xKpFTfhJA3cP7ZN8xm4za/Z5yoVMrUSOiXuwSw55uOAOtrHZwCTuAG3V5SOYdksYsYby9U4YrBgly3B0jQFUw7q2PYs+4tOO+9wph3OAUlmph7aKdbQjv2TEyzOhsoRgZGD8hyxRzl2ikC2e7cHe4WB/xG3ovj1NvLZPORZZKBkN5kXOTDBpVGlRlidtH6Fmh+dgy6ixC3KyanNW9va/PibAjiRKgdsB2Ve/sWGTHUzrjSbFNt9QwaFSGZ4Tpl3nE90TGFdw7raiN/ZO9klLG1w1YmXV8j4kaHMWOwEKwIYP/QH1MY0oMumgWoQDyMuQtjqNUZyxU5fa5I3nMf3pb3raUvSPuY/IXNGqpnACOmpCsnwIub+VXGOnGEXYeLAojnk4uyodSO4vKjBXU/ZvSqxJO3sz+TDumNf5Nlomyst7xZ4RHvkJ2J3i3Dk9DyQ5npLPUEwH8yVsPKbQL8iNUTpsvpxWASoadxahC+hHa16IH1Yo3XP8a5GpV9kw5lG7tx3NoC8dBmCe2rCg== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230001)(4636009)(36840700001)(46966006)(2616005)(5660300002)(36860700001)(235185007)(44832011)(47076005)(36756003)(8936002)(33964004)(2906002)(70586007)(70206006)(82310400004)(8676002)(4326008)(86362001)(316002)(81166007)(26005)(186003)(426003)(6666004)(336012)(54906003)(6916009)(508600001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2022 08:39:41.4574 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 74c70fc1-874a-4dfd-d231-08da1616a976 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT053.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4672 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Apr 2022 08:39:56 -0000 --=-=-= Content-Type: text/plain Hi all, when _Float16 in native precision is supported GCC defines __FLT_EVAL_METHOD__ to 16 as per ISO/IEC TS 18661-3. Ex: $ ./arm-none-eabi-gcc -mthumb -march=armv8.1-m.main+fp -mfloat-abi=softfp -xc /dev/null -E -dM | grep FLT_EVAL #define __FLT_EVAL_METHOD__ 16 #define __FLT_EVAL_METHOD_TS_18661_3__ 16 Unfortunately libc/include/math.h understands only values 0, 1 and 2 leading to have newlib non compilable for those configurations. I think in newlib we should either: 1- Handle __FLT_EVAL_METHOD__ == 16 2- Build in a C mode which does not enable _Float16 (ex -std=c11) 3- Build without the _FloatN extensions -fpermitted-flt-eval-methods=c11 I think 1 should be the favorite approach. ISO/IEC 9899:201x [1] suggests that for other values of FLT_EVAL_METHOD other than 0, 1, 2 the definition of float_t and double_t is implementation-defined. The suggested patch implements that for arm and Aarch64. Note, some previous discussion on this topic can be found here [2] as follow-up to a patch addressing the same issue (only for the case__FLT_EVAL_METHOD__ == 16 case). Best Regards Andrea [1] [2] --=-=-= Content-Type: text/plain; charset="utf-8" Content-Disposition: attachment; filename="0001-PATH-Aarch32-64-Support-__FLT_EVAL_METHOD__-values-o.patch" >From d4c38a902e7bd5a2686d4d758c5cd563069c5bb2 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Wed, 30 Mar 2022 15:40:59 +0200 Subject: [PATCH] Aarch32/64: Support __FLT_EVAL_METHOD__ values other than 0, 1, 2 2022-03-30 Andrea Corallo * libc/include/machine/ieeefp.h (__FLOAT_TYPE, __DOUBLE_TYPE): New macros. * libc/include/math.h: Uses __DOUBLE_TYPE __FLOAT_TYPE to define double_t float_t if possible. --- newlib/libc/include/machine/ieeefp.h | 4 ++++ newlib/libc/include/math.h | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h index 4dc13828c..c65c67769 100644 --- a/newlib/libc/include/machine/ieeefp.h +++ b/newlib/libc/include/machine/ieeefp.h @@ -90,6 +90,8 @@ #ifndef __SOFTFP__ # define _SUPPORTS_ERREXCEPT #endif +#define __DOUBLE_TYPE double +#define __FLOAT_TYPE float #endif #if defined (__aarch64__) @@ -102,6 +104,8 @@ #ifdef __ARM_FP # define _SUPPORTS_ERREXCEPT #endif +#define __DOUBLE_TYPE double +#define __FLOAT_TYPE float #endif #ifdef __epiphany__ diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h index ba1a8a17e..da056b5b6 100644 --- a/newlib/libc/include/math.h +++ b/newlib/libc/include/math.h @@ -158,6 +158,15 @@ extern int isnan (double); #else /* Implementation-defined. Assume float_t and double_t have been * defined previously for this configuration (e.g. config.h). */ + + /* If __DOUBLE_TYPE is defined (__FLOAT_TYPE is then supposed to be + defined as well) float_t and double_t definition is suggested by + an arch specific header. */ + #ifdef __DOUBLE_TYPE + typedef __DOUBLE_TYPE double_t + typedef __FLOAT_TYPE float_t + #endif + /* Assume config.h has provided these types. */ #endif #else /* Assume basic definitions. */ -- 2.25.1 --=-=-=--