-
Notifications
You must be signed in to change notification settings - Fork 653
Closed
Description
Describe the bug
Broadly speaking there are two issues here:
- MSVC's
/archswitch only supports the following items[1]:AVX|AVX2|AVX512 - MSVC does not define
__SSE4_2__, or similar, meaning all of the machinery insidesimd.his unused[2]
[1] https://learn.microsoft.com/en-us/cpp/build/reference/arch-x64?view=msvc-170
Trying to use USE_SIMD="sse4.2" will result in the following warnings during build:
cl : command line warning D9002: ignoring unknown option '/arch:sse4.2'
[2] When using USE_SIMD="sse4.2"
The cmake output says that things are happening:
-- Building with C++17, downstream minimum C++17
-- Compiling with SIMD level sse4.2
-- SIMD feature: sse4.2
But trying the resulting binaries results in the following attribute values:
hw:simd = sse2,sse3,ssse3,sse41,sse42,avx,avx2,fma,f16c,popcnt,rdrand
build:simd = sse2
OpenImageIO version and dependencies
2.5.x and master
I'll see if I can make a fix to untangle but it's a bit complicated.
Metadata
Metadata
Assignees
Labels
No labels