Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixes for SSE detection and propagation
On a machine without SSE4.1 the HAVE_SSE flag would still be set. Because CFLAGS is set to include -msse4.2, the compiler happily generates SSE 4.2 instructions. Running any resulting SSE-enabled binary would then result in an illegal instruction error. The HAVE_SSE check now checks for the presence of one of the SSE 4.1 instructions that is used in the SSE enabled convolutional decoder. The check must run with -march=native to ensure it checks against the host machine capabilities. The HAVE_SSE definition is now propagated to downstream targets that depend on libcorrect. This means they can now ifdef on HAVE_SSE to decide whether or not to include libcorrect's SSE specific header. Confirmed that the HAVE_SSE check now fails on an old machine without SSE 4.1 (but with SSE 3 and SSSE 3).
- Loading branch information