Files
PS2Recomp/ps2xRuntime/cmake
Sinan KARAKAYA 226bae250b Set the x86 SIMD baseline that the code already requires
ps2_runtime.h includes <smmintrin.h> unconditionally, and the
recompiler emits SSE4.1-only intrinsics (_mm_blendv_ps and friends) for
the COP2 and FPU select idioms. SSE4.1 is therefore a hard requirement
of the codebase, not a tuning option.

Nothing sets it for GCC or Clang. MSVC does not need it -- its
intrinsics are not gated behind a target feature -- and the only place
any x86 feature is named is /arch:AVX2 inside EnableFastReleaseMode,
which is MSVC-only and applies to Release and RelWithDebInfo only. GCC
and Clang default to the plain x86-64 baseline, which is SSE2, so on a
stock Linux or macOS toolchain the affected translation units fail with
"always_inline function ... requires target feature 'sse4.1'".

Adds EnableX86SimdBaseline and applies it to ps2_runtime in every
configuration rather than in EnableFastReleaseMode, since a Debug build
needs it just as much. PUBLIC, so recompiled game code linking against
ps2_runtime inherits it -- that code is where most of the SSE4.1
intrinsics actually are. Guarded on the target processor so ARM builds
are unaffected.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 22:57:21 +02:00
..