Oliver Stöneberg wrote: >> Unfortunately it breaks x86_64 build (where FLAC__CPU_X86_64 is defined, and >> FLAC__CPU_IA32 isn't). Maybe it's simpler to turn them into #defines such as >> >> #define FLAC__CPUINFO_IA32_CPUID_CMOV 0x00008000U >> #define FLAC__CPUINFO_IA32_CPUID_EXTENDED_AMD_3DNOW 0x80000000U >> >> and so on? > > Maybe - I usually don't try to change the basics of code, but try to > fix the errors properly. > I overlooked that code since it didn't exist in 1.2.1 and 1.3.0 and > we never set the CPU defines before for MAME/MESS (will look into > that).
Another possible solution is to dumplicate the definitions like this: #if defined FLAC__CPU_IA32 && !defined FLAC__NO_ASM && (defined FLAC__HAS_NASM || defined FLAC__HAS_X86INTRIN) /* these are flags in EDX of CPUID AX=00000001 */ static const unsigned FLAC__CPUINFO_IA32_CPUID_CMOV = 0x00008000; static const unsigned FLAC__CPUINFO_IA32_CPUID_MMX = 0x00800000; static const unsigned FLAC__CPUINFO_IA32_CPUID_FXSR = 0x01000000; static const unsigned FLAC__CPUINFO_IA32_CPUID_SSE = 0x02000000; static const unsigned FLAC__CPUINFO_IA32_CPUID_SSE2 = 0x04000000; /* 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; static const unsigned FLAC__CPUINFO_IA32_CPUID_SSE41 = 0x00080000; static const unsigned FLAC__CPUINFO_IA32_CPUID_SSE42 = 0x00100000; #if defined FLAC__HAS_NASM && defined 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 #endif #if defined FLAC__CPU_X86_64 && !defined FLAC__NO_ASM && defined FLAC__HAS_X86INTRIN /* 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; static const unsigned FLAC__CPUINFO_IA32_CPUID_SSE41 = 0x00080000; static const unsigned FLAC__CPUINFO_IA32_CPUID_SSE42 = 0x00100000; #endif _______________________________________________ flac-dev mailing list flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev