https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107726
--- Comment #1 from cqwrteur <unlvsur at live dot com> --- #if __has_cpp_attribute(__gnu__::__target__) && defined(__SSE2__) && !defined(__AVX2__) [[__gnu__::__target__("default")]] #elif __has_cpp_attribute(__gnu__::__flatten__) [[__gnu__::__flatten__]] #endif inline void sha512_runtime_routine(std::uint_least64_t* __restrict state,std::byte const* __restrict blocks_start,std::byte const* __restrict blocks_last) noexcept; #if __has_cpp_attribute(__gnu__::__target__) && defined(__SSE2__) && !defined(__AVX2__) [[__gnu__::__target__("avx2")]] #elif __has_cpp_attribute(__gnu__::__flatten__) [[__gnu__::__flatten__]] #endif inline void sha512_runtime_routine(std::uint_least64_t* __restrict state,std::byte const* __restrict blocks_start,std::byte const* __restrict blocks_last) noexcept; Something like this.