From a12e0dcc2790ef4a8b173c8f454ec76f8e0171cc Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Tue, 27 Apr 2021 23:46:25 +0200 Subject: [PATCH] Enable SSE2 instructions We need this to enable FTZ in 3aac8e34835808b596540c5a721457685dd24e56. SSSE2 is a default on x86_64, but we need to explicitly enable it when compiling the 32-bit bitbridge. --- meson.build | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meson.build b/meson.build index 8a5da63f..263e5fe4 100644 --- a/meson.build +++ b/meson.build @@ -38,6 +38,10 @@ compiler_options = [ # Disable the use of concepts in Boost.Asio until Boost 1.73 gets released # https://github.com/boostorg/asio/issues/312 '-DBOOST_ASIO_DISABLE_CONCEPTS', + # When the `force_ftz` option is enabled, we use an intrinsic to force + # flush-to-zero. SSE2 is always enabled in x86_64 CPUs, but when we're + # compiling the 32-bit bitbridge we need to manually add this flag. + '-msse2', ] # NOTE: GCC doesn't 8-byte align doubles in structs on x86 for ABI-compatibilty # reasons, but MSVC++ does. We need to force this same alignment to be