From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id 0B97B388A018 for ; Thu, 2 Apr 2020 14:56:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0B97B388A018 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Kwok_Yeung@mentor.com IronPort-SDR: Xyr1EFgvAAOKxvemTESKswJFJX2iyrlevvYYcaeAjYRak6gOpwB28pl2YwurUAsRKxITdoYx4u YbjLg0wVzW2PL1++i0dBpEsKvFSV8R90njmk70cMFxkTTbb85z/6aSdvi+TFtBp+0kfc+p/TSH xPjyoxSGog328LTpVInjoV1QnGfRhNPgQ/hkZcdWLhgRNbAplma+1VRQr5OA1v6vzaYl1Ilysb tQSWWC7Q6bgX7ykMAqMqbBt8iJi94FG9exb2LkmMX2S9dr4+iuqW7D5DEb4kvEafV0OYeC/Gyd xmE= X-IronPort-AV: E=Sophos;i="5.72,336,1580803200"; d="scan'208";a="47381263" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 02 Apr 2020 06:56:06 -0800 IronPort-SDR: NFU/ZwV5cHyExlpZUCDFol4k+rhfzB3o8OQHhOm+c7w+7Y8Zs4Y2v9vDP0L3/YpY2JqgJ4RQ1s V9HmDHmznzp01sGUmPKb2acxuWwOszPoBt8/RMuM/M5rQxf6Yje3Rxrex1AfoWsZBiXDO3pPFh 21lhA5h4bMY7LKr2Ly9cSc/Kw7TGrv1b31gujTdbRB+1lSbAr0kCArYVKwI31HX6rQd07TWsc2 jqePumrVvCqhQqQro669m4xBHs8cyvQogmWIhjtfGS21cz1xx4iiSRV4+Akp+thsVXwmFX27Dh P6A= From: Kwok Cheung Yeung Subject: [PATCH] [amdgcn] Add support for unordered floating-point comparisons To: GCC Patches , Andrew Stubbs Message-ID: <3ffcef54-43a4-022f-de36-fd8a5e068bab@codesourcery.com> Date: Thu, 2 Apr 2020 15:55:51 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------8BEC4845BB791C54B061751A" Content-Language: en-GB X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-07.mgc.mentorg.com (139.181.222.7) To SVR-IES-MBX-03.mgc.mentorg.com (139.181.222.3) X-Spam-Status: No, score=-28.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Apr 2020 14:56:09 -0000 --------------8BEC4845BB791C54B061751A Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Hello This patch adds support for the unordered floating-point comparison operators (UNEQ, UNGE, UNGT, UNLE, UNLT), which return true if one of the operands is a NaN. These comparisons can be generated by builtins such as __builtin_isgreater. GCC 10 appears to have a fall-back if the unordered comparisons are not available (by generating an unordered comparison first, followed by the main comparison), whereas previous versions would simply throw an ICE. Still, it should be a little more efficient to have direct support for these operators. Tested on a GCN3 board with no regressions noted. Okay for trunk? Kwok --------------8BEC4845BB791C54B061751A Content-Type: text/plain; charset="UTF-8"; name="unordered_fp.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="unordered_fp.patch" Y29tbWl0IGVhODExY2UzOGFlMjEyNzU1NGYwYWNhOWNkMzRhY2E2ZTQyZjgxNGQKQXV0aG9y OiBLd29rIENoZXVuZyBZZXVuZyA8a2N5QGNvZGVzb3VyY2VyeS5jb20+CkRhdGU6ICAgVGh1 IEFwciAyIDA3OjQ3OjI4IDIwMjAgLTA3MDAKCiAgICBhbWRnY246IFN1cHBvcnQgdW5vcmRl cmVkIGZsb2F0aW5nLXBvaW50IGNvbXBhcmlzb24gb3BlcmF0b3JzCiAgICAKICAgIDIwMjAt MDQtMDIgIEt3b2sgQ2hldW5nIFlldW5nICA8a2N5QGNvZGVzb3VyY2VyeS5jb20+CiAgICAK ICAgIAlnY2MvCiAgICAJKiBjb25maWcvZ2NuL2djbi5jIChwcmludF9vcGVyYW5kKTogSGFu ZGxlIHVub3JkZXJlZCBjb21wYXJpc29uCiAgICAJb3BlcmF0b3JzLgogICAgCSogY29uZmln L2djbi9wcmVkaWNhdGVzLm1kIChnY25fZnBfY29tcGFyZV9vcGVyYXRvcik6IEFkZCB1bm9y ZGVyZWQKICAgIAljb21wYXJpc29uIG9wZXJhdG9ycy4KCmRpZmYgLS1naXQgYS9nY2MvY29u ZmlnL2djbi9nY24uYyBiL2djYy9jb25maWcvZ2NuL2djbi5jCmluZGV4IDEyNDM4Y2YuLjM4 YjViOTggMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvZ2NuL2djbi5jCisrKyBiL2djYy9jb25m aWcvZ2NuL2djbi5jCkBAIC02MDA3LDYgKzYwMDcsMjEgQEAgcHJpbnRfb3BlcmFuZCAoRklM RSAqZmlsZSwgcnR4IHgsIGludCBjb2RlKQogCSAgY2FzZSBVTk9SREVSRUQ6CiAJICAgIHMg PSAiX3VfIjsKIAkgICAgYnJlYWs7CisJICBjYXNlIFVORVE6CisJICAgIHMgPSAiX25sZ18i OworCSAgICBicmVhazsKKwkgIGNhc2UgVU5HRToKKwkgICAgcyA9ICJfbmx0XyI7CisJICAg IGJyZWFrOworCSAgY2FzZSBVTkdUOgorCSAgICBzID0gIl9ubGVfIjsKKwkgICAgYnJlYWs7 CisJICBjYXNlIFVOTEU6CisJICAgIHMgPSAiX25ndF8iOworCSAgICBicmVhazsKKwkgIGNh c2UgVU5MVDoKKwkgICAgcyA9ICJfbmdlXyI7CisJICAgIGJyZWFrOwogCSAgY2FzZSBMVEdU OgogCSAgICBzID0gIl9sZ18iOwogCSAgICBicmVhazsKZGlmZiAtLWdpdCBhL2djYy9jb25m aWcvZ2NuL3ByZWRpY2F0ZXMubWQgYi9nY2MvY29uZmlnL2djbi9wcmVkaWNhdGVzLm1kCmlu ZGV4IDdiZjc2M2EuLjkxZTVjYTEgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvZ2NuL3ByZWRp Y2F0ZXMubWQKKysrIGIvZ2NjL2NvbmZpZy9nY24vcHJlZGljYXRlcy5tZApAQCAtMTY1LDcg KzE2NSw3IEBACiAgIChtYXRjaF9jb2RlICJlcSxuZSxndCxnZSxsdCxsZSxndHUsZ2V1LGx0 dSxsZXUiKSkKIAogKGRlZmluZV9wcmVkaWNhdGUgImdjbl9mcF9jb21wYXJlX29wZXJhdG9y IgotICAobWF0Y2hfY29kZSAiZXEsbmUsZ3QsZ2UsbHQsbGUsZ3R1LGdldSxsdHUsbGV1LG9y ZGVyZWQsdW5vcmRlcmVkLGx0Z3QiKSkKKyAgKG1hdGNoX2NvZGUgImVxLG5lLGd0LGdlLGx0 LGxlLGd0dSxnZXUsbHR1LGxldSxvcmRlcmVkLHVub3JkZXJlZCx1bmVxLHVuZ2UsdW5ndCx1 bmxlLHVubHQsbHRndCIpKQogCiAoZGVmaW5lX3ByZWRpY2F0ZSAidW5hcnlfb3BlcmF0b3Ii CiAgIChtYXRjaF9jb2RlICJub3QscG9wY291bnQiKSkK --------------8BEC4845BB791C54B061751A--