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 C08B7389367E; Fri, 11 Jun 2021 10:01:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C08B7389367E 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 4754B2050D1B; Fri, 11 Jun 2021 12:01:52 +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 o0S0-3e64sFL; Fri, 11 Jun 2021 12:01:52 +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 287702050D0F; Fri, 11 Jun 2021 12:01:52 +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; Fri, 11 Jun 2021 12:01:51 +0200 From: Matthias Kretz To: , Jason Merrill CC: , David Malcolm , Jonathan Wakely Subject: Re: [PATCH] Add gnu::diagnose_as attribute Date: Fri, 11 Jun 2021 12:01:51 +0200 Message-ID: <2132675.qKCeTcHjAi@excalibur> Organization: GSI Helmholtzzentrum =?UTF-8?B?ZsO8cg==?= Schwerionenforschung In-Reply-To: References: <14205410.xuKvIAzr1H@excalibur> <14231752.kytX9F1ty5@excalibur> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart3002971.OxmWWEHjG1" Content-Transfer-Encoding: 7Bit X-Originating-IP: [140.181.3.12] X-ClientProxiedBy: srvex1.Campus.gsi.de (10.10.4.11) To srvex3.campus.gsi.de (10.10.4.16) X-Spam-Status: No, score=-10.3 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: Fri, 11 Jun 2021 10:01:55 -0000 --nextPart3002971.OxmWWEHjG1 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="UTF-8" SG93IGNhbiB3ZSBtYWtlIHByb2dyZXNzIGhlcmU/IEkgY291bGQgdHJ5IHRvIHByb2R1Y2Ugc29t ZSAiVG9ueSBUYWJsZXMiIG9mIApkaWFnbm9zdGljIG91dHB1dCBvZiBteSBtb2RpZmllZCBzdGR4 OjpzaW1kLiBJIGJlbGlldmUgaXQncyBhIG1ham9yIApwcm9kdWN0aXZpdHkgYm9vc3QgdG8gc2Vl IGFiYnJldmlhdGVkIC8gIm9iZnVzY2F0ZWQiIGRpYWdub3N0aWNzICpvdXQtb2YtdGhlIApib3gq ICh3aXRoIHRoZSBwb3NzaWJpbGl0eSB0byBvcHQtb3V0KS4gQWN0dWFsbHksIGl0IGFscmVhZHkg KmlzKiBhIApwcm9kdWN0aXZpdHkgYm9vc3QgdG8gbWUuIFVuZGVyc3RhbmRpbmcgZGlhZ25vc3Rp Y3MgaGFzIGltcHJvdmVkIGZyb20gCgoiMS4gb29vZiwgSSdtIG5vdCBnb2luZyB0byByZWFkIHRo aXMsIGxldCBtZSByYXRoZXIgZ3Vlc3Mgd2hhdCB0aGUgaXNzdWUgd2FzCjIuIHNoKiogSSBoYXZl IHRvIHJlYWQgaXQKMy4gc2V2ZXJhbCBtaW51dGVzIGxhdGVyOiBJIGZpbmFsbHkgZm91bmQgdGhl IGZpdmUgd29yZHMgdG8gdW5kZXJzdGFuZCB0aGUgCnByb2JsZW07IEkgY291bGQgdXNlIGEgYnJl YWsiCgp0bwoKIjEuIHJpZ2h0LCBsZXQgbWUgY2hlY2sgdGhhdCIKCkZvciByZWZlcmVuY2UgSSds bCBhdHRhY2ggbXkgc3RkeDo6c2ltZCBkaWFnbm9zZV9hcyBwYXRjaC4KCldlIGNvdWxkIGFsc28g dGFsayBhYm91dCBleHRlbmRpbmcgdGhlIGZlYXR1cmUgdG8gcHJvdmlkZSBtb3JlIGluZm9ybWF0 aW9uIAphYm91dCB0aGUgZGlhZ25vc2VfYXMgc3Vic3RpdGlvbi4gRS5nLiBwcmludCBhIGxpc3Qg b2YgYWxsIGRpYWdub3NlX2FzIApzdWJzdGl0dXRpb25zLCB3aGljaCB3ZXJlIHVzZWQsIGF0IHRo ZSBlbmQgb2YgdGhlIG91dHB1dCBzdHJlYW0uIE9yIHNpbXBsZXIsIApwcmludCAibm90ZTogc29t ZSBpZGVudGlmaWVycyB3ZXJlIHNpbXBsaWZpZWQsIHVzZSAtZm5vLWRpYWdub3N0aWNzLXVzZS0K YWxpYXNlcyB0byBzZWUgdGhlaXIgcmVhbCBuYW1lcyIuCgpPbiBUdWVzZGF5LCAxIEp1bmUgMjAy MSAyMToxMjoxOCBDRVNUIEphc29uIE1lcnJpbGwgd3JvdGU6Cj4gPiBSaWdodCwgYnV0IHRoZW4g dHdvIG9mIG15IGRlc2lnbiBnb2FscyBjYW4ndCBiZSBtZXQ6Cj4gPiAKPiA+IDEuIERpYWdub3N0 aWNzIGhhdmUgYW4gaW1wcm92ZWQgc2lnbmFsLXRvLW5vaXNlIHJhdGlvIG91dCBvZiB0aGUgYm94 Lgo+ID4gCj4gPiAyLiBXZSBjYW4gdXNlIHJlcGxhY2VtZW50IG5hbWVzIHRoYXQgYXJlIG5vdCB2 YWxpZCBpZGVudGlmaWVycy4KPiAKPiBUaGlzIGlzIHRoZSBiYXNpYyBkaXNjb25uZWN0OiBJIHRo aW5rIHRoYXQgdGhlc2UgZ29hbHMgYXJlCj4gY29udHJhZGljdG9yeSwgYW5kIHRoYXQgcmVwbGFj ZW1lbnQgbmFtZXMgdGhhdCBhcmUgbm90IHZhbGlkIGlkZW50aWZpZXJzCj4gd2lsbCBqdXN0IGNv bmZ1c2UgdXNlcnMgdGhhdCBkb24ndCBrbm93IGFib3V0IHRoZW0uCj4gCj4gSWYgYSB1c2VyIHNl ZXMgc3RkeDo6Zm9vIGluIGEgZGlhZ25vc3RpYyBhbmQgdGhlbiB0cmllcyB0byByZWZlciB0bwo+ IHN0ZHg6OmZvbyBhbmQgZ2V0cyBhbiBlcnJvciwgdGhlIGRpYWdub3N0aWMgaXMgbm90IG1vcmUg aGVscGZ1bCB0aGFuIG9uZQo+IHRoYXQgdXNlcyB0aGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUuCj4g Cj4gSm9uYXRoYW4sIERhdmlkLCBhbnkgdGhvdWdodHMgb24gdGhpcyBpc3N1ZT8KCi0tIArilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKIERyLiBNYXR0 aGlhcyBLcmV0eiAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBzOi8vbWF0dGtyZXR6Lmdp dGh1Yi5pbwogR1NJIEhlbG1ob2x0eiBDZW50cmUgZm9yIEhlYXZ5IElvbiBSZXNlYXJjaCAgICAg ICAgICAgICAgIGh0dHBzOi8vZ3NpLmRlCiBzdGQ6OmV4cGVyaW1lbnRhbDo6c2ltZCAgICAgICAg ICAgICAgaHR0cHM6Ly9naXRodWIuY29tL1ZjRGV2ZWwvc3RkLXNpbWQK4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSACg== --nextPart3002971.OxmWWEHjG1 Content-Disposition: inline; filename="0001-libstdc-Decrease-noise-in-diagnostics-via-diagnose_a.patch" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="utf-8"; name="0001-libstdc-Decrease-noise-in-diagnostics-via-diagnose_a.patch" diff --git a/libstdc++-v3/include/experimental/bits/simd.h b/libstdc++-v3/include/experimental/bits/simd.h index 43331134301..8e0cceff860 100644 --- a/libstdc++-v3/include/experimental/bits/simd.h +++ b/libstdc++-v3/include/experimental/bits/simd.h @@ -80,13 +80,13 @@ using __m512d [[__gnu__::__vector_size__(64)]] = double; using __m512i [[__gnu__::__vector_size__(64)]] = long long; #endif -namespace simd_abi { +namespace simd_abi [[__gnu__::__diagnose_as__("simd_abi")]] { // simd_abi forward declarations {{{ // implementation details: -struct _Scalar; + struct [[__gnu__::__diagnose_as__("scalar")]] _Scalar; template - struct _Fixed; + struct [[__gnu__::__diagnose_as__("fixed_size")]] _Fixed; // There are two major ABIs that appear on different architectures. // Both have non-boolean values packed into an N Byte register @@ -105,28 +105,11 @@ template template struct _VecBltnBtmsk; -template - using _VecN = _VecBuiltin; - -template - using _Sse = _VecBuiltin<_UsedBytes>; - -template - using _Avx = _VecBuiltin<_UsedBytes>; - -template - using _Avx512 = _VecBltnBtmsk<_UsedBytes>; - -template - using _Neon = _VecBuiltin<_UsedBytes>; - -// implementation-defined: -using __sse = _Sse<>; -using __avx = _Avx<>; -using __avx512 = _Avx512<>; -using __neon = _Neon<>; -using __neon128 = _Neon<16>; -using __neon64 = _Neon<8>; +#if defined __i386__ || defined __x86_64__ +using __sse [[__gnu__::__diagnose_as__("[SSE]")]] = _VecBuiltin<16>; +using __avx [[__gnu__::__diagnose_as__("[AVX]")]] = _VecBuiltin<32>; +using __avx512 [[__gnu__::__diagnose_as__("[AVX512]")]] = _VecBltnBtmsk<64>; +#endif // standard: template @@ -364,7 +347,7 @@ namespace __detail * users link TUs compiled with different flags. This is especially important * for using simd in libraries. */ - using __odr_helper + using __odr_helper [[__gnu__::__diagnose_as__("[ODR helper]")]] = conditional_t<__machine_flags() == 0, _OdrEnforcer, _MachineFlagsTemplate<__machine_flags(), __floating_point_flags()>>; @@ -689,7 +672,7 @@ template __is_avx512_abi() { constexpr auto _Bytes = __abi_bytes_v<_Abi>; - return _Bytes <= 64 && is_same_v, _Abi>; + return _Bytes <= 64 && is_same_v, _Abi>; } // }}} diff --git a/libstdc++-v3/include/experimental/bits/simd_detail.h b/libstdc++-v3/include/experimental/bits/simd_detail.h index 78ad33f74e4..1f127cd0d52 100644 --- a/libstdc++-v3/include/experimental/bits/simd_detail.h +++ b/libstdc++-v3/include/experimental/bits/simd_detail.h @@ -36,7 +36,7 @@ { \ _GLIBCXX_BEGIN_NAMESPACE_VERSION \ namespace experimental { \ - inline namespace parallelism_v2 { + inline namespace parallelism_v2 [[__gnu__::__diagnose_as__("std\u2093")]] { #define _GLIBCXX_SIMD_END_NAMESPACE \ } \ } \ --nextPart3002971.OxmWWEHjG1--