[flac-dev] FLAC__SSE_OS change

Dave Yeo dave.r.yeo at gmail.com
Sun Jun 26 07:34:36 UTC 2016


On 06/25/16 10:43 PM, Erik de Castro Lopo wrote:
> First off, this code is horrible to read and work on. The recent commits
> are the first of what I hope is a massive clean up of this code.
>
> lvqcl wrote:
>
>> >So if I understand things correctly, the current meaning of --(en|dis)able-sse is:
>> >
>> >on Linux:
>> >      --enable-sse:
>> >          add -msse2 to the compiler switches
>> >          do not test SSE OS support (assume that SSE is supported)
>> >      --disable-sse:
>> >          do NOT add -msse2
>> >          test SSE OS support
>> >
>> >on other OSes:
>> >      --enable-sse:
>> >          add -msse2 to the compiler switches
>> >          test SSE OS support  (why?)
>> >      --disable-sse:
>> >          do NOT add -msse2
>> >          test SSE OS support
>> >
>> >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? 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.
I have a '96 install of an OS, it has been upgraded until end of life, 
and it handles SSE4+ instructions fine even though the instruction set 
was released more recently then the last kernel.
Dave


More information about the flac-dev mailing list