[flac-dev] FLAC__SSE_OS change

lvqcl lvqcl.mail at gmail.com
Sun Jun 26 09:16:06 UTC 2016

Dave Yeo wrote:

>>> >on other OSes:
>>> >      --enable-sse:
>>> >          add -msse2 to the compiler switches
>>> >          test SSE OS support  (why?)

>>> >It's a bit contradictory: why test whether *BSD etc support SSE or not
>>> >but at the same time allow compiler to use SSE/SSE2 unconditionally?
>> Yes, that needs to be fixed. I think the way it works on Linux makes
>> the most sense.
> Doesn't SSE support imply SSE2+ support?

There's no point to test OS SSE support if a compiler already
inserted SSE/SSE2 instructions everywhere (because of -msse2 switch).

> The problem is that the OS has
> to preserve the XMMS registers when doing a context switch. Once the
> kernel is preserving the XMMS registers, I'd assume that all SSEx
> instructions should work.

If the OS doesn't support SSE instructions but -msse2 option was used
then libFLAC will crash: it cannot disable the use of SSE/SSE2
instructions that were generated by the compiler.

More information about the flac-dev mailing list