Commit f55bad22 authored by Nikita Lutsenko's avatar Nikita Lutsenko Committed by Facebook GitHub Bot

folly | Fix hard-coded assumption in folly/Portability that MSVC builds always have SSE4.2.

Summary:
Windows is always supporting SSE4_2, right? What could go wrong?
Well, we want to support UWP targeting ARM, meaning that well, we don't have SSE4.2, which causes all different sort of fun things.
One of them - boost screaming in agony about both NEON SIMD and SSE instructions available.
Fix it, by ensuring that we only ever declare that we support SSE, if we are not arm.

Reviewed By: rudybear

Differential Revision: D30095193

fbshipit-source-id: e303f90348116cd3b5ea618dc737a647d7aa2cd6
parent 37e6bbcc
...@@ -255,7 +255,10 @@ constexpr bool kIsSanitize = false; ...@@ -255,7 +255,10 @@ constexpr bool kIsSanitize = false;
// SSE4.2 intrinsics unless -march argument is specified. // SSE4.2 intrinsics unless -march argument is specified.
// So cannot unconditionally define __SSE4_2__ in clang. // So cannot unconditionally define __SSE4_2__ in clang.
#ifndef __clang__ #ifndef __clang__
#if !defined(_M_ARM) && !defined(_M_ARM64)
#define __SSE4_2__ 1 #define __SSE4_2__ 1
#endif // !defined(_M_ARM) && !defined(_M_ARM64)
// compiler specific to compiler specific // compiler specific to compiler specific
// nolint // nolint
#define __PRETTY_FUNCTION__ __FUNCSIG__ #define __PRETTY_FUNCTION__ __FUNCSIG__
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment