Skip to content

cmake: require YMM asm for inline AVX probe#2385

Merged
cary-ilm merged 2 commits into
AcademySoftwareFoundation:mainfrom
cary-ilm:vmovaps-fix
May 4, 2026
Merged

cmake: require YMM asm for inline AVX probe#2385
cary-ilm merged 2 commits into
AcademySoftwareFoundation:mainfrom
cary-ilm:vmovaps-fix

Conversation

@cary-ilm
Copy link
Copy Markdown
Member

The existing OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX try-compile could succeed on legacy toolchains that assemble xgetbv/vzeroupper but reject YMM/VEX instructions, leading to later build failures.

This adds vmovaps %%ymm0 to the __asm__ call in check_cxx_source_compiles call because it's needed by the DWA encoder/decoder. That way, if the probe fails, the DWA code path doesn't attempt to use the missing instructions.

Should resolve #1415

Made-with: Cursor

The existing `OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX` `try-compile` could
succeed on legacy toolchains that assemble `xgetbv/vzeroupper` but
reject YMM/VEX instructions, leading to later build failures.

This adds `vmovaps %%ymm0` to the `__asm__` call in
`check_cxx_source_compiles` call because it's needed by the DWA
encoder/decoder. That way, if the probe fails, the DWA code path
doesn't attempt to use the missing instructions.

Should resolve AcademySoftwareFoundation#1415

Made-with: Cursor
Signed-off-by: Cary Phillips <cary@ilm.com>
@cary-ilm cary-ilm merged commit d62b62f into AcademySoftwareFoundation:main May 4, 2026
49 of 50 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ImfDwaCompressorSimd.h uses instruction not existing on 10.6 x86_64: no such instruction: `vmovaps (%rsi), %ymm0' etc.

2 participants