It's not possible to use ia32/*.nasm code in 64-bit compiles. There's still no 64-bit asm code in FLAC. I'm not familiar with asm too, so I wrote SSE-accelerated code using intrinsics.
This code uses two new preprocessor macros: FLAC__CPU_X86_64 (analogous to FLAC__CPU_IA32) and FLAC__HAS_X86INTRIN (analogous to FLAC__HAS_NASM) Patch for cpu.c/cpu.h adds CPU features (sse3, ssse3) detection code for x86-64 architecture. Another patch adds SSE-accelerated functions: FLAC__lpc_compute_autocorrelation_intrin_sse_lag_4() FLAC__lpc_compute_autocorrelation_intrin_sse_lag_8() FLAC__lpc_compute_autocorrelation_intrin_sse_lag_12() FLAC__lpc_compute_autocorrelation_intrin_sse_lag_16() FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_sse2() Note that the new code works only if both FLAC__CPU_X86_64 and FLAC__HAS_X86INTRIN macros are defined somewhere in config files. Appropriate changes in *.vcproj, makefiles, configure.ac files are necessary. Unfortunately MSVS 2005 Express Edition doesn't support creation of 64-bit programs.
cpu.patch
Description: Binary data
intrin.patch
Description: Binary data
_______________________________________________ flac-dev mailing list flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev