This patch tries to simplify the code that tries to detect
whether OS supports SSE instructions.


a) Linux: "old" vs "new" sigaction

OBSOLETE_SIGCONTEXT_FLAVOR was disabled in Mar 2007 in commit
<http://git.xiph.org/?p=flac.git;a=commit;h=1ca3a445f832be5e8a99364fb38d9e2ea9a3a772>
According to <http://unixhelp.ed.ac.uk/CGI/man-cgi?sigaction>:
"Support for SA_SIGINFO was added in Linux 2.2" (released in Jan 1999).
If noone wants to use FLAC with Linux kernel 2.0 then it's safe to
delete this code.


b) MSVC: try/catch vs. sigill_handler

TRY_CATCH_FLAVOR was enabled in Jan 2009 in commit
<http://git.xiph.org/?p=flac.git;a=commit;h=a832ef32fb2a888674659097f40c1f8efb72c1a4>
According to the comment in cpu.c, "sigill_handler flavor resulted in
several crash reports on win32". Also this sigill_handler flavor is not 
thread-safe.


c) MinGW: fxsave/fxrestore vs. sigill_handler

The code was added Mar 2014 in commit
<http://git.xiph.org/?p=flac.git;a=commit;h=99d5154f436b389758d6a9020e448b8dbedb14bc>
It's better to use FXSR flavor instead of sigill_handler flavor. The reasons
are the same as for MSVC.

Attachment: cpu_sse_os.patch
Description: Binary data

_______________________________________________
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to