Skip to content

cmake: require YMM asm for inline AVX probe#2385

Open
cary-ilm wants to merge 1 commit intoAcademySoftwareFoundation:mainfrom
cary-ilm:vmovaps-fix
Open

cmake: require YMM asm for inline AVX probe#2385
cary-ilm wants to merge 1 commit intoAcademySoftwareFoundation: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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

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.

1 participant