From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lxmtout1.gsi.de (lxmtout1.gsi.de [140.181.3.111]) by sourceware.org (Postfix) with ESMTPS id 0106D3839C59; Tue, 8 Jun 2021 12:12:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0106D3839C59 Authentication-Results: sourceware.org; dmarc=none (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 lxmtout1.gsi.de (Postfix) with ESMTP id 1058C2050D0A; Tue, 8 Jun 2021 14:11:59 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at lxmtout1.gsi.de Received: from lxmtout1.gsi.de ([127.0.0.1]) by localhost (lxmtout1.gsi.de [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 5prGPliCeVmo; Tue, 8 Jun 2021 14:11:58 +0200 (CEST) Received: from srvex3.campus.gsi.de (unknown [10.10.4.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by lxmtout1.gsi.de (Postfix) with ESMTPS id E9B9D2050D00; Tue, 8 Jun 2021 14:11:58 +0200 (CEST) Received: from excalibur.localnet (140.181.3.12) by srvex3.campus.gsi.de (10.10.4.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2242.10; Tue, 8 Jun 2021 14:11:58 +0200 From: Matthias Kretz To: , Subject: [PATCH 09/11] libstdc++: Ensure unrolled loops inline the lambda Date: Tue, 8 Jun 2021 14:11:58 +0200 Message-ID: <8456007.brqZDK0HF6@excalibur> Organization: GSI Helmholtzzentrum =?UTF-8?B?ZsO8cg==?= Schwerionenforschung In-Reply-To: <270527782.u9WJ3AIrlG@excalibur> References: <270527782.u9WJ3AIrlG@excalibur> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart2874918.L3GSP1yois" Content-Transfer-Encoding: 7Bit X-Originating-IP: [140.181.3.12] X-ClientProxiedBy: srvex3.Campus.gsi.de (10.10.4.16) To srvex3.campus.gsi.de (10.10.4.16) X-Spam-Status: No, score=-10.4 required=5.0 tests=BAYES_00, BODY_8BITS, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, URIBL_SBL, URIBL_SBL_A 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: Tue, 08 Jun 2021 12:12:01 -0000 --nextPart2874918.L3GSP1yois Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="UTF-8" CgpGcm9tOiBNYXR0aGlhcyBLcmV0eiA8a3JldHpAa2RlLm9yZz4KClNpZ25lZC1vZmYtYnk6IE1h dHRoaWFzIEtyZXR6IDxtLmtyZXR6QGdzaS5kZT4KCmxpYnN0ZGMrKy12My9DaGFuZ2VMb2c6CgoJ KiBpbmNsdWRlL2V4cGVyaW1lbnRhbC9iaXRzL3NpbWQuaCAoX19leGVjdXRlX29uX2luZGV4X3Nl cXVlbmNlLAoJX19leGVjdXRlX29uX2luZGV4X3NlcXVlbmNlX3dpdGhfcmV0dXJuLAoJX19jYWxs X3dpdGhfbl9ldmFsdWF0aW9ucywgX19jYWxsX3dpdGhfc3Vic2NyaXB0cyk6IEFkZCBmbGF0dGVu CglhdHRyaWJ1dGUuCi0tLQogbGlic3RkYysrLXYzL2luY2x1ZGUvZXhwZXJpbWVudGFsL2JpdHMv c2ltZC5oIHwgMTIgKysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQoKCi0tCuKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgAogRHIuIE1hdHRoaWFzIEtyZXR6ICAgICAgICAgICAgICAgICAgICAg ICAgICAgaHR0cHM6Ly9tYXR0a3JldHouZ2l0aHViLmlvCiBHU0kgSGVsbWhvbHR6IENlbnRyZSBm b3IgSGVhdnkgSW9uIFJlc2VhcmNoICAgICAgICAgICAgICAgaHR0cHM6Ly9nc2kuZGUKIHN0ZDo6 ZXhwZXJpbWVudGFsOjpzaW1kICAgICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vVmNEZXZl bC9zdGQtc2ltZArilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIA= --nextPart2874918.L3GSP1yois Content-Disposition: inline; filename="0009-libstdc-Ensure-unrolled-loops-inline-the-lambda.patch" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="utf-8"; name="0009-libstdc-Ensure-unrolled-loops-inline-the-lambda.patch" diff --git a/libstdc++-v3/include/experimental/bits/simd.h b/libstdc++-v3/include/experimental/bits/simd.h index 5d243f22434..21100c1087d 100644 --- a/libstdc++-v3/include/experimental/bits/simd.h +++ b/libstdc++-v3/include/experimental/bits/simd.h @@ -234,7 +234,8 @@ namespace __detail // unrolled/pack execution helpers // __execute_n_times{{{ template - _GLIBCXX_SIMD_INTRINSIC constexpr void + [[__gnu__::__flatten__]] _GLIBCXX_SIMD_INTRINSIC constexpr + void __execute_on_index_sequence(_Fp&& __f, index_sequence<_I...>) { ((void)__f(_SizeConstant<_I>()), ...); } @@ -254,7 +255,8 @@ template // }}} // __generate_from_n_evaluations{{{ template - _GLIBCXX_SIMD_INTRINSIC constexpr _R + [[__gnu__::__flatten__]] _GLIBCXX_SIMD_INTRINSIC constexpr + _R __execute_on_index_sequence_with_return(_Fp&& __f, index_sequence<_I...>) { return _R{__f(_SizeConstant<_I>())...}; } @@ -269,7 +271,8 @@ template // }}} // __call_with_n_evaluations{{{ template - _GLIBCXX_SIMD_INTRINSIC constexpr auto + [[__gnu__::__flatten__]] _GLIBCXX_SIMD_INTRINSIC constexpr + auto __call_with_n_evaluations(index_sequence<_I...>, _F0&& __f0, _FArgs&& __fargs) { return __f0(__fargs(_SizeConstant<_I>())...); } @@ -285,7 +288,8 @@ template // }}} // __call_with_subscripts{{{ template - _GLIBCXX_SIMD_INTRINSIC constexpr auto + [[__gnu__::__flatten__]] _GLIBCXX_SIMD_INTRINSIC constexpr + auto __call_with_subscripts(_Tp&& __x, index_sequence<_It...>, _Fp&& __fun) { return __fun(__x[_First + _It]...); } --nextPart2874918.L3GSP1yois--