[flac-dev] PATCH for cpu.c
lvqcl
lvqcl.mail at gmail.com
Wed Aug 21 10:58:00 PDT 2013
1) Some time ago all project files for MSVC 6 were removed; it makes sense to remove the code that is necessary only for MSVC 6 and older compilers.
--- a\src\libFLAC\cpu.c 2013-08-13 13:30:24.000000000 +0400
+++ b\src\libFLAC\cpu.c 2013-08-16 21:46:42.177485300 +0400
@@ -285,14 +285,7 @@
# ifdef USE_TRY_CATCH_FLAVOR
_try {
__asm {
-# if _MSC_VER <= 1200
- /* VC6 assembler doesn't know SSE, have to emit bytecode instead */
- _emit 0x0F
- _emit 0x57
- _emit 0xC0
-# else
xorps xmm0,xmm0
-# endif
}
}
_except(EXCEPTION_EXECUTE_HANDLER) {
@@ -307,14 +300,7 @@
/* http://www.codeproject.com/cpp/gccasm.asp */
/* http://www.hick.org/~mmiller/msvc_inline_asm.html */
__asm {
-# if _MSC_VER <= 1200
- /* VC6 assembler doesn't know SSE, have to emit bytecode instead */
- _emit 0x0F
- _emit 0x57
- _emit 0xC0
-# else
xorps xmm0,xmm0
-# endif
inc sse
nop
nop
2) MSVC produces warnings if FLAC__USE_3DNOW is not defined : "variable "FLAC__CPUINFO_IA32_CPUID_EXTENDED_AMD_xxxxxxx" of static storage duration was declared but never referenced"
--- a\src\libFLAC\cpu.c 2013-08-16 21:46:42.177485300 +0400
+++ b\src\libFLAC\cpu.c 2013-08-16 22:18:34.549866800 +0400
@@ -96,10 +96,12 @@
/* these are flags in ECX of CPUID AX=00000001 */
static const unsigned FLAC__CPUINFO_IA32_CPUID_SSE3 = 0x00000001;
static const unsigned FLAC__CPUINFO_IA32_CPUID_SSSE3 = 0x00000200;
+#ifdef FLAC__USE_3DNOW
/* these are flags in EDX of CPUID AX=80000001 */
static const unsigned FLAC__CPUINFO_IA32_CPUID_EXTENDED_AMD_3DNOW = 0x80000000;
static const unsigned FLAC__CPUINFO_IA32_CPUID_EXTENDED_AMD_EXT3DNOW = 0x40000000;
static const unsigned FLAC__CPUINFO_IA32_CPUID_EXTENDED_AMD_EXTMMX = 0x00400000;
+#endif
/*
More information about the flac-dev
mailing list