From patchwork Mon Apr 6 14:17:36 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Kretz X-Patchwork-Id: 132726 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 4E8234BA23FB for ; Mon, 6 Apr 2026 14:18:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4E8234BA23FB Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=gmx.net header.i=matthiaskretz@gmx.net header.a=rsa-sha256 header.s=s31663417 header.b=B9qLR2B2 X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by sourceware.org (Postfix) with ESMTPS id 6433B4BA2E13; Mon, 6 Apr 2026 14:17:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6433B4BA2E13 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.net ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 6433B4BA2E13 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=212.227.15.19 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775485059; cv=none; b=on+AXPVEWMOmQdESs7ck+ykWemug7DIFzo2qFtKXrfPvLovqXoKI3gefluU7yJrRc0ngvhvQAzHN0cKirlpO5mCJJtY1hZZJbDaKBY8CHkiB+rPkwFHIgU8S3VkDkOTjHy6vlGFbxASdiFHD0L1MzqfzOVQPBdSI3qOx9X3ukg4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1775485059; c=relaxed/simple; bh=tamCfAjOciRmUMV6WFq7IUJ4VqYXV8ZW7Uc8cqaOJoA=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=uLsazjRLjVGKNVhI3A3tN6Ct/o1vnHBKl4wVV35zgebIoQtxxI5bB64z3HDWLmIU16zdCPd1TmSUtLMKijx7PG9i9HlXUkkMQy9ETkNBqO3MYoCa+mGcETlmH5Ecwy0IlilK9TexX26VAxTmVPegmEqiK7NEqb6lf2TE60iS0lI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6433B4BA2E13 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1775485058; x=1776089858; i=matthiaskretz@gmx.net; bh=xUhaiA1tsEKLFw7n/b4eeOVzl8ZlVABDghkdVPNNIEU=; h=X-UI-Sender-Class:From:To:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:Content-Type:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=B9qLR2B2mbzjp3o9Q3pCjqeT/y22vpHRv3xEylF2NQAKYU9joqkC4FFgl7osQ+uf 5lm03wU3yNB/OaEUnFPSvOpogYdgwMoVfHK64386SUDZGqozEvl6E+WBm95rG/LQS 0GrUovEJQiP4LdFENCc4tE55wnpzD9sPjpe5Utlkjo0lGe/PLJIlOG4jdqHTj2rkt +pDurfy9sXRw48BfPxTx0A4wyjk0rOANz90zqUdkmTiJ8qxz9zD10FBr3XIu2TB6o YbgEo8N+FlVD0p3V3jcB8EOWC+tiDlMSxonWB/rOY0GR7JA1fIrNEClNwElZ5FWPl acTqZzZF1O6YGI/3HQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from client.hidden.invalid by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MdefD-1va8y83Qbx-00bwn4; Mon, 06 Apr 2026 16:17:37 +0200 From: Matthias Kretz To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [PATCH] libstdc++: Require SSE2 for std::simd [PR124722] Date: Mon, 06 Apr 2026 16:17:36 +0200 Message-ID: <5104602.44csPzL39Z@vir-laptop> Organization: GSI Helmholtz Center for Heavy Ion Research MIME-Version: 1.0 X-Provags-ID: V03:K1:ER38iS1/6JWiJMMojnzIXTPyUf5+Dc+DVtaURWPOzRyovEaWVBh bRRR74aB9FL1vpGGBM1uNZgjM3st3sKGC9YAAgqOFaceEecmzChxHZOMiCVShMcrDzKVQ1o q5lLgw38/J7VZ5vdMnIKTNR0vtdgjal7B+ZNd0jD1QYo7arLBVNk0mGegaUmTH05R764x7R GTjkd5VfYLBvZ3DXjQm1g== UI-OutboundReport: notjunk:1;M01:P0:UVYtnz6ayYA=;ToDK5CW0OQkmCSFCppdqc+scyaL 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 8aDqpdlcEnJ X-Spam-Status: No, score=-8.0 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org From: Matthias Kretz Without SSE2 double precision uses excess precision, leading to test failures. For now, std::simd remains a tech preview that simply is disabled without SSE2. libstdc++-v3/ChangeLog: PR libstdc++/124722 * include/bits/version.def: Check for __SSE2__ rather than x86. * include/bits/version.h: Regenerate. * testsuite/std/simd/arithmetic.cc: Build with -msse2. * testsuite/std/simd/arithmetic_expensive.cc: Likewise. * testsuite/std/simd/creation.cc: Likewise. * testsuite/std/simd/creation_expensive.cc: Likewise. * testsuite/std/simd/loads.cc: Likewise. * testsuite/std/simd/loads_expensive.cc: Likewise. * testsuite/std/simd/mask.cc: Likewise. * testsuite/std/simd/mask2.cc: Likewise. * testsuite/std/simd/mask2_expensive.cc: Likewise. * testsuite/std/simd/mask_expensive.cc: Likewise. * testsuite/std/simd/reductions.cc: Likewise. * testsuite/std/simd/reductions_expensive.cc: Likewise. * testsuite/std/simd/shift_left.cc: Likewise. * testsuite/std/simd/shift_left_expensive.cc: Likewise. * testsuite/std/simd/shift_right.cc: Likewise. * testsuite/std/simd/shift_right_expensive.cc: Likewise. * testsuite/std/simd/simd_alg.cc: Likewise. * testsuite/std/simd/simd_alg_expensive.cc: Likewise. * testsuite/std/simd/sse_intrin.cc: Likewise. * testsuite/std/simd/stores.cc: Likewise. * testsuite/std/simd/stores_expensive.cc: Likewise. * testsuite/std/simd/traits_common.cc: Likewise. * testsuite/std/simd/traits_math.cc: Likewise. Signed-off-by: Matthias Kretz --- libstdc++-v3/include/bits/version.def | 2 +- libstdc++-v3/include/bits/version.h | 2 +- libstdc++-v3/testsuite/std/simd/arithmetic.cc | 1 + libstdc++-v3/testsuite/std/simd/arithmetic_expensive.cc | 1 + libstdc++-v3/testsuite/std/simd/creation.cc | 1 + libstdc++-v3/testsuite/std/simd/creation_expensive.cc | 1 + libstdc++-v3/testsuite/std/simd/loads.cc | 1 + libstdc++-v3/testsuite/std/simd/loads_expensive.cc | 1 + libstdc++-v3/testsuite/std/simd/mask.cc | 1 + libstdc++-v3/testsuite/std/simd/mask2.cc | 1 + libstdc++-v3/testsuite/std/simd/mask2_expensive.cc | 1 + libstdc++-v3/testsuite/std/simd/mask_expensive.cc | 1 + libstdc++-v3/testsuite/std/simd/reductions.cc | 1 + libstdc++-v3/testsuite/std/simd/reductions_expensive.cc | 1 + libstdc++-v3/testsuite/std/simd/shift_left.cc | 1 + libstdc++-v3/testsuite/std/simd/shift_left_expensive.cc | 1 + libstdc++-v3/testsuite/std/simd/shift_right.cc | 1 + libstdc++-v3/testsuite/std/simd/shift_right_expensive.cc | 1 + libstdc++-v3/testsuite/std/simd/simd_alg.cc | 1 + libstdc++-v3/testsuite/std/simd/simd_alg_expensive.cc | 1 + libstdc++-v3/testsuite/std/simd/sse_intrin.cc | 1 + libstdc++-v3/testsuite/std/simd/stores.cc | 1 + libstdc++-v3/testsuite/std/simd/stores_expensive.cc | 1 + libstdc++-v3/testsuite/std/simd/traits_common.cc | 1 + libstdc++-v3/testsuite/std/simd/traits_math.cc | 1 + 25 files changed, 25 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/include/bits/version.def b/libstdc++-v3/include/ bits/version.def index 1265f01757c..cfb90533ce4 100644 --- a/libstdc++-v3/include/bits/version.def +++ b/libstdc++-v3/include/bits/version.def @@ -2359,7 +2359,7 @@ ftms = { cxxmin = 26; extra_cond = "__cpp_structured_bindings >= 202411L " "&& __cpp_expansion_statements >= 202411L " - "&& (__x86_64__ || __i386__)"; // TODO: lift initial restriction to x86 + "&& __SSE2__"; // TODO: add more targets hosted = yes; }; }; diff --git a/libstdc++-v3/include/bits/version.h b/libstdc++-v3/include/bits/ version.h index 00f352089f7..22dd31b9d32 100644 --- a/libstdc++-v3/include/bits/version.h +++ b/libstdc++-v3/include/bits/version.h @@ -2627,7 +2627,7 @@ #undef __glibcxx_want_contracts #if !defined(__cpp_lib_simd) -# if (__cplusplus > 202302L) && _GLIBCXX_HOSTED && (__cpp_structured_bindings >= 202411L && __cpp_expansion_statements >= 202411L && (__x86_64__ || __i386__)) +# if (__cplusplus > 202302L) && _GLIBCXX_HOSTED && (__cpp_structured_bindings >= 202411L && __cpp_expansion_statements >= 202411L && __SSE2__) # define __glibcxx_simd 202506L # if defined(__glibcxx_want_all) || defined(__glibcxx_want_simd) # endif diff --git a/libstdc++-v3/testsuite/std/simd/arithmetic.cc b/libstdc++-v3/ testsuite/std/simd/arithmetic.cc index 5d605255f5c..e662a26866c 100644 --- a/libstdc++-v3/testsuite/std/simd/arithmetic.cc +++ b/libstdc++-v3/testsuite/std/simd/arithmetic.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include "test_setup.h" diff --git a/libstdc++-v3/testsuite/std/simd/arithmetic_expensive.cc b/ libstdc++-v3/testsuite/std/simd/arithmetic_expensive.cc index 3a476058c7a..e62fe53b5e1 100644 --- a/libstdc++-v3/testsuite/std/simd/arithmetic_expensive.cc +++ b/libstdc++-v3/testsuite/std/simd/arithmetic_expensive.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } // { dg-timeout-factor 2 } // { dg-require-effective-target run_expensive_tests } diff --git a/libstdc++-v3/testsuite/std/simd/creation.cc b/libstdc++-v3/ testsuite/std/simd/creation.cc index 905c09d6449..f567281cdc9 100644 --- a/libstdc++-v3/testsuite/std/simd/creation.cc +++ b/libstdc++-v3/testsuite/std/simd/creation.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include "test_setup.h" diff --git a/libstdc++-v3/testsuite/std/simd/creation_expensive.cc b/libstdc+ +-v3/testsuite/std/simd/creation_expensive.cc index cdb3eba5baf..0f54f3d5d24 100644 --- a/libstdc++-v3/testsuite/std/simd/creation_expensive.cc +++ b/libstdc++-v3/testsuite/std/simd/creation_expensive.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } // { dg-timeout-factor 2 } // { dg-require-effective-target run_expensive_tests } diff --git a/libstdc++-v3/testsuite/std/simd/loads.cc b/libstdc++-v3/ testsuite/std/simd/loads.cc index 8d48b8c55c8..90790a46da3 100644 --- a/libstdc++-v3/testsuite/std/simd/loads.cc +++ b/libstdc++-v3/testsuite/std/simd/loads.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include "test_setup.h" #include diff --git a/libstdc++-v3/testsuite/std/simd/loads_expensive.cc b/libstdc++- v3/testsuite/std/simd/loads_expensive.cc index 79ac8700b87..f409d0b9c00 100644 --- a/libstdc++-v3/testsuite/std/simd/loads_expensive.cc +++ b/libstdc++-v3/testsuite/std/simd/loads_expensive.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } // { dg-timeout-factor 2 } // { dg-require-effective-target run_expensive_tests } diff --git a/libstdc++-v3/testsuite/std/simd/mask.cc b/libstdc++-v3/testsuite/ std/simd/mask.cc index 9bfa356862c..ebd9dc7728d 100644 --- a/libstdc++-v3/testsuite/std/simd/mask.cc +++ b/libstdc++-v3/testsuite/std/simd/mask.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include "test_setup.h" #include diff --git a/libstdc++-v3/testsuite/std/simd/mask2.cc b/libstdc++-v3/ testsuite/std/simd/mask2.cc index 4e65eac4164..d4345c12243 100644 --- a/libstdc++-v3/testsuite/std/simd/mask2.cc +++ b/libstdc++-v3/testsuite/std/simd/mask2.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include "test_setup.h" #include diff --git a/libstdc++-v3/testsuite/std/simd/mask2_expensive.cc b/libstdc++- v3/testsuite/std/simd/mask2_expensive.cc index d3943874f54..c2a018badac 100644 --- a/libstdc++-v3/testsuite/std/simd/mask2_expensive.cc +++ b/libstdc++-v3/testsuite/std/simd/mask2_expensive.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } // { dg-require-effective-target run_expensive_tests } // { dg-timeout-factor 2 } diff --git a/libstdc++-v3/testsuite/std/simd/mask_expensive.cc b/libstdc++-v3/ testsuite/std/simd/mask_expensive.cc index dadfd3df879..3f3a89e1d4b 100644 --- a/libstdc++-v3/testsuite/std/simd/mask_expensive.cc +++ b/libstdc++-v3/testsuite/std/simd/mask_expensive.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } // { dg-timeout-factor 2 } // { dg-require-effective-target run_expensive_tests } diff --git a/libstdc++-v3/testsuite/std/simd/reductions.cc b/libstdc++-v3/ testsuite/std/simd/reductions.cc index d40b01f509b..b97eb1be609 100644 --- a/libstdc++-v3/testsuite/std/simd/reductions.cc +++ b/libstdc++-v3/testsuite/std/simd/reductions.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include "test_setup.h" diff --git a/libstdc++-v3/testsuite/std/simd/reductions_expensive.cc b/ libstdc++-v3/testsuite/std/simd/reductions_expensive.cc index 52507c499d0..c4cab956aa3 100644 --- a/libstdc++-v3/testsuite/std/simd/reductions_expensive.cc +++ b/libstdc++-v3/testsuite/std/simd/reductions_expensive.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } // { dg-timeout-factor 2 } // { dg-require-effective-target run_expensive_tests } diff --git a/libstdc++-v3/testsuite/std/simd/shift_left.cc b/libstdc++-v3/ testsuite/std/simd/shift_left.cc index 1a7cc195851..111643657e2 100644 --- a/libstdc++-v3/testsuite/std/simd/shift_left.cc +++ b/libstdc++-v3/testsuite/std/simd/shift_left.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include "test_setup.h" diff --git a/libstdc++-v3/testsuite/std/simd/shift_left_expensive.cc b/ libstdc++-v3/testsuite/std/simd/shift_left_expensive.cc index c0179503ce9..b7fe4f2f5e6 100644 --- a/libstdc++-v3/testsuite/std/simd/shift_left_expensive.cc +++ b/libstdc++-v3/testsuite/std/simd/shift_left_expensive.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } // { dg-timeout-factor 2 } // { dg-require-effective-target run_expensive_tests } diff --git a/libstdc++-v3/testsuite/std/simd/shift_right.cc b/libstdc++-v3/ testsuite/std/simd/shift_right.cc index 99ae451ffd8..3adee7ffdbf 100644 --- a/libstdc++-v3/testsuite/std/simd/shift_right.cc +++ b/libstdc++-v3/testsuite/std/simd/shift_right.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include "test_setup.h" diff --git a/libstdc++-v3/testsuite/std/simd/shift_right_expensive.cc b/ libstdc++-v3/testsuite/std/simd/shift_right_expensive.cc index 2171d8aea05..8136224e491 100644 --- a/libstdc++-v3/testsuite/std/simd/shift_right_expensive.cc +++ b/libstdc++-v3/testsuite/std/simd/shift_right_expensive.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } // { dg-timeout-factor 2 } // { dg-require-effective-target run_expensive_tests } diff --git a/libstdc++-v3/testsuite/std/simd/simd_alg.cc b/libstdc++-v3/ testsuite/std/simd/simd_alg.cc index 98da15e11e3..03ba83de8d4 100644 --- a/libstdc++-v3/testsuite/std/simd/simd_alg.cc +++ b/libstdc++-v3/testsuite/std/simd/simd_alg.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include "test_setup.h" #include diff --git a/libstdc++-v3/testsuite/std/simd/simd_alg_expensive.cc b/libstdc+ +-v3/testsuite/std/simd/simd_alg_expensive.cc index 066c3f43e87..6f162a4b23a 100644 --- a/libstdc++-v3/testsuite/std/simd/simd_alg_expensive.cc +++ b/libstdc++-v3/testsuite/std/simd/simd_alg_expensive.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } // { dg-timeout-factor 2 } // { dg-require-effective-target run_expensive_tests } diff --git a/libstdc++-v3/testsuite/std/simd/sse_intrin.cc b/libstdc++-v3/ testsuite/std/simd/sse_intrin.cc index 7baa4118c0c..483adb7dc2b 100644 --- a/libstdc++-v3/testsuite/std/simd/sse_intrin.cc +++ b/libstdc++-v3/testsuite/std/simd/sse_intrin.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include "test_setup.h" diff --git a/libstdc++-v3/testsuite/std/simd/stores.cc b/libstdc++-v3/ testsuite/std/simd/stores.cc index d5721f7daa2..259b2a98f49 100644 --- a/libstdc++-v3/testsuite/std/simd/stores.cc +++ b/libstdc++-v3/testsuite/std/simd/stores.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include "test_setup.h" diff --git a/libstdc++-v3/testsuite/std/simd/stores_expensive.cc b/libstdc++- v3/testsuite/std/simd/stores_expensive.cc index 36ee941d85d..3244331210c 100644 --- a/libstdc++-v3/testsuite/std/simd/stores_expensive.cc +++ b/libstdc++-v3/testsuite/std/simd/stores_expensive.cc @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } // { dg-timeout-factor 2 } // { dg-require-effective-target run_expensive_tests } diff --git a/libstdc++-v3/testsuite/std/simd/traits_common.cc b/libstdc++-v3/ testsuite/std/simd/traits_common.cc index 4ee126ccc97..ecbceef06bf 100644 --- a/libstdc++-v3/testsuite/std/simd/traits_common.cc +++ b/libstdc++-v3/testsuite/std/simd/traits_common.cc @@ -1,5 +1,6 @@ // { dg-do compile { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } // { dg-timeout-factor 2 } #include diff --git a/libstdc++-v3/testsuite/std/simd/traits_math.cc b/libstdc++-v3/ testsuite/std/simd/traits_math.cc index 2e9339e918c..fc71ff9e359 100644 --- a/libstdc++-v3/testsuite/std/simd/traits_math.cc +++ b/libstdc++-v3/testsuite/std/simd/traits_math.cc @@ -1,5 +1,6 @@ // { dg-do compile { target c++26 } } // { dg-require-effective-target x86 } +// { dg-additional-options "-msse2" } #include #include