diff options
| author | lizzie <lizzie@eden-emu.dev> | 2025-10-17 22:12:58 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-10-17 22:12:58 +0200 |
| commit | 3e8fe622a7d1dc8ff9d3a34d975b556b8fd35a94 (patch) | |
| tree | 374efb4578d3d99aef4564b1d6e13973aa8e9ac3 /src/dynarmic/tests | |
| parent | 1c90b099d3eb7991462b82dae340c3f8743e1755 (diff) | |
[compat] Solaris build fixes for openssl, catch2; NetBSD build fixes (#2752)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2752
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/dynarmic/tests')
| -rw-r--r-- | src/dynarmic/tests/native/testenv.h | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/src/dynarmic/tests/native/testenv.h b/src/dynarmic/tests/native/testenv.h index 7a3d14eea0..f7a8622ed8 100644 --- a/src/dynarmic/tests/native/testenv.h +++ b/src/dynarmic/tests/native/testenv.h @@ -1,9 +1,25 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + #pragma once #include <catch2/catch_test_macros.hpp> #ifdef __AVX__ #include <immintrin.h> #endif + +// NetBSD apparently still needs these... ugh +#ifdef __cpp_lib_bit_cast +#include <bit> +template <typename To, typename From> constexpr inline To BitCast(const From& from) { + return std::bit_cast<To>(from); +} +#else +template <typename To, typename From> constexpr inline To BitCast(const From& from) { + return __builtin_bit_cast(To, from); +} +#endif + template<typename F> void CheckedRun(F&& fn) { #ifdef __AVX__ @@ -32,18 +48,18 @@ void CheckedRun(F&& fn) { , "+x"(xmm8), "+x"(xmm9), "+x"(xmm10), "+x"(xmm11) : ); - CHECK(std::bit_cast<std::uint64_t>(xmm0[0]) == 0); - CHECK(std::bit_cast<std::uint64_t>(xmm1[0]) == 1); - CHECK(std::bit_cast<std::uint64_t>(xmm2[0]) == 2); - CHECK(std::bit_cast<std::uint64_t>(xmm3[0]) == 3); - CHECK(std::bit_cast<std::uint64_t>(xmm4[0]) == 4); - CHECK(std::bit_cast<std::uint64_t>(xmm5[0]) == 5); - CHECK(std::bit_cast<std::uint64_t>(xmm6[0]) == 6); - CHECK(std::bit_cast<std::uint64_t>(xmm7[0]) == 7); - CHECK(std::bit_cast<std::uint64_t>(xmm8[0]) == 8); - CHECK(std::bit_cast<std::uint64_t>(xmm9[0]) == 9); - CHECK(std::bit_cast<std::uint64_t>(xmm10[0]) == 10); - CHECK(std::bit_cast<std::uint64_t>(xmm11[0]) == 11); + CHECK(BitCast<std::uint64_t>(xmm0[0]) == 0); + CHECK(BitCast<std::uint64_t>(xmm1[0]) == 1); + CHECK(BitCast<std::uint64_t>(xmm2[0]) == 2); + CHECK(BitCast<std::uint64_t>(xmm3[0]) == 3); + CHECK(BitCast<std::uint64_t>(xmm4[0]) == 4); + CHECK(BitCast<std::uint64_t>(xmm5[0]) == 5); + CHECK(BitCast<std::uint64_t>(xmm6[0]) == 6); + CHECK(BitCast<std::uint64_t>(xmm7[0]) == 7); + CHECK(BitCast<std::uint64_t>(xmm8[0]) == 8); + CHECK(BitCast<std::uint64_t>(xmm9[0]) == 9); + CHECK(BitCast<std::uint64_t>(xmm10[0]) == 10); + CHECK(BitCast<std::uint64_t>(xmm11[0]) == 11); #else fn(); #endif |
