From dacb0bd87fdb043d3d2ee409d5ed262a28fb5609 Mon Sep 17 00:00:00 2001 From: Eladash Date: Thu, 17 Aug 2023 11:02:40 +0300 Subject: [PATCH] utils/endian.hpp: Use std::byteswap --- rpcs3/util/endian.hpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/rpcs3/util/endian.hpp b/rpcs3/util/endian.hpp index b9d1b19d0c..c001419ea1 100644 --- a/rpcs3/util/endian.hpp +++ b/rpcs3/util/endian.hpp @@ -35,7 +35,9 @@ namespace stx static constexpr u16 swap(u16 src) noexcept { -#if defined(__GNUG__) +#if __cpp_lib_byteswap >= 202110L + return std::byteswap(src); +#elif defined(__GNUG__) return __builtin_bswap16(src); #else if (std::is_constant_evaluated()) @@ -55,7 +57,9 @@ namespace stx static constexpr u32 swap(u32 src) noexcept { -#if defined(__GNUG__) +#if __cpp_lib_byteswap >= 202110L + return std::byteswap(src); +#elif defined(__GNUG__) return __builtin_bswap32(src); #else if (std::is_constant_evaluated()) @@ -76,7 +80,9 @@ namespace stx static constexpr u64 swap(u64 src) noexcept { -#if defined(__GNUG__) +#if __cpp_lib_byteswap >= 202110L + return std::byteswap(src); +#elif defined(__GNUG__) return __builtin_bswap64(src); #else if (std::is_constant_evaluated())