From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lxmtout2.gsi.de (lxmtout2.gsi.de [140.181.3.112]) by sourceware.org (Postfix) with ESMTPS id D85453858C83; Thu, 23 Feb 2023 08:50:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D85453858C83 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gsi.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gsi.de Received: from localhost (localhost [127.0.0.1]) by lxmtout2.gsi.de (Postfix) with ESMTP id 967B22038F9E; Thu, 23 Feb 2023 09:50:43 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at lxmtout2.gsi.de Received: from lxmtout2.gsi.de ([127.0.0.1]) by localhost (lxmtout2.gsi.de [127.0.0.1]) (amavisd-new, port 10024) with LMTP id MqXo9-EwXakh; Thu, 23 Feb 2023 09:50:43 +0100 (CET) Received: from srvEX6.campus.gsi.de (unknown [10.10.4.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lxmtout2.gsi.de (Postfix) with ESMTPS id 77B622038F83; Thu, 23 Feb 2023 09:50:43 +0100 (CET) Received: from minbar.localnet (140.181.3.12) by srvEX6.campus.gsi.de (10.10.4.96) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Thu, 23 Feb 2023 09:50:43 +0100 From: Matthias Kretz To: , Subject: [PATCH 8/8] libstdc++: Test that integral simd reductions are precise Date: Thu, 23 Feb 2023 09:50:16 +0100 Message-ID: <2166927.NgBsaNRSFp@minbar> Organization: GSI Helmholtz Centre for Heavy Ion Research In-Reply-To: <2218250.iZASKD2KPV@minbar> References: <2218250.iZASKD2KPV@minbar> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart2746090.BEx9A2HvPv" Content-Transfer-Encoding: 7Bit X-Originating-IP: [140.181.3.12] X-ClientProxiedBy: srvEX6.Campus.gsi.de (10.10.4.96) To srvEX6.campus.gsi.de (10.10.4.96) X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00,BODY_8BITS,GIT_PATCH_0,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --nextPart2746090.BEx9A2HvPv Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="UTF-8" CgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBLcmV0eiA8bS5rcmV0ekBnc2kuZGU+CgpsaWJzdGRj KystdjMvQ2hhbmdlTG9nOgoKCSogdGVzdHN1aXRlL2V4cGVyaW1lbnRhbC9zaW1kL3Rlc3RzL3Jl ZHVjdGlvbnMuY2M6IEludHJvZHVjZQoJbWF4X2Rpc3RhbmNlIGFzIHRoZSB0eXBlLWRlcGVuZGVu dCBtYXggZXJyb3IuCi0tLQogbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS9leHBlcmltZW50YWwvc2lt ZC90ZXN0cy9yZWR1Y3Rpb25zLmNjIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCgotLQrilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIAKIERyLiBNYXR0aGlhcyBLcmV0eiAgICAgICAgICAgICAgICAg ICAgICAgICAgIGh0dHBzOi8vbWF0dGtyZXR6LmdpdGh1Yi5pbwogR1NJIEhlbG1ob2x0eiBDZW50 cmUgZm9yIEhlYXZ5IElvbiBSZXNlYXJjaCAgICAgICAgICAgICAgIGh0dHBzOi8vZ3NpLmRlCiBz dGTigpM6OnNpbWQK4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA --nextPart2746090.BEx9A2HvPv Content-Disposition: inline; filename="0008-libstdc-Test-that-integral-simd-reductions-are-preci.patch" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="utf-8"; name="0008-libstdc-Test-that-integral-simd-reductions-are-preci.patch" diff --git a/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc b/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc index 0c4c79feb20..fed164314d7 100644 --- a/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc +++ b/libstdc++-v3/testsuite/experimental/simd/tests/reductions.cc @@ -112,6 +112,7 @@ template T acc = x[0]; for (size_t i = 1; i < V::size(); ++i) acc += x[i]; - ULP_COMPARE(reduce(x), acc, V::size() / 2).on_failure("x = ", x); + const T max_distance = std::is_integral_v ? 0 : V::size() / 2; + ULP_COMPARE(reduce(x), acc, max_distance).on_failure("x = ", x); }); } --nextPart2746090.BEx9A2HvPv--