search for: flac__has_x86intrin

Displaying 20 results from an estimated 23 matches for "flac__has_x86intrin".

2016 Dec 03
2
Q: test for CPUID instruction presence
..."Remove `FLAC__cpu_have_cpuid_x86` altogether as it wasn't actually being used but that was difficult to tell because of all the #ifdef nonsense." But FLAC__cpu_have_cpuid_x86() actually WAS used in the code #if !defined FLAC__NO_ASM && (defined FLAC__HAS_NASM || FLAC__HAS_X86INTRIN) info->use_asm = true; /* we assume a minimum of 80386 with FLAC__CPU_IA32 */ #if FLAC__HAS_X86INTRIN if(!FLAC__cpu_have_cpuid_x86()) return; #else if(!FLAC__cpu_have_cpuid_asm_ia32()) return; #endi...
2014 Oct 02
3
problems with configure.ac
1) in config.h FLAC__HAS_X86INTRIN macro is always defined and empty, even if x86intrin.h is not available. 2) sse_os is defined as 'yes' or 'no', but AM_CONDITIONAL tests it for 'true': AM_CONDITIONAL(FLaC__SSE_OS, test "x$sse_os" = xtrue) It seems that it should be changed to AM_CONDITIONAL(...
2017 Jan 09
2
1.3.2: FLAC__CPUINFO_IA32_CPUID_SSE3 undeclared
..._CPUINFO_IA32_CPUID_AVX2' undeclared (first use in this function) This is a result on inconsistent #if guards in src/libFLAC/cpu.c, combined with an old compiler (GCC 4.2.1) that doesn't have x86intrin.h. Specifically, the definition of FLAC__CPUINFO_IA32_CPUID_SSE3 etc. is guarded by #if FLAC__HAS_X86INTRIN || FLAC__AVX_SUPPORTED However, the later use in ia32_cpu_info is guarded by #if !defined FLAC__NO_ASM && (defined FLAC__HAS_NASM || FLAC__HAS_X86INTRIN) In our case, we have FLAC__HAS_NASM 1 FLAC__HAS_X86INTRIN 0 FLAC__AVX_SUPPORTED 0 -- Christian "naddy" Weisgerber...
2015 Nov 06
1
[PATCH] for FLAC__cpu_info() in cpu.c
Function FLAC__cpu_xgetbv_x86() is declared and defined only if FLAC__HAS_X86INTRIN is defined. But now FLAC__cpu_info() tries to call it even if FLAC__HAS_X86INTRIN is undefined, which results in link error. This patch fixes the bug. -------------- next part -------------- A non-text attachment was scrubbed... Name: cpu_xgetbv.patch Type: application/octet-stream Size: 653 bytes...
2017 Feb 14
2
Flac build issue in debug win x32
Hi Guys, The following code in CPU.c (line 155) won't link if you don't have NASM code built even if FLAC__HAS_X86INTRIN is true as FLAC__cpu_info_asm_ia32 don't exists and the else is compiled if there is no dead code stripping if (FLAC__HAS_X86INTRIN) { FLAC__cpu_info_x86(0, &flags_eax, &flags_ebx, &flags_ecx, &flags_edx); info->ia32.intel = (flags_ebx == 0x756E6547 &amp...
2014 Mar 23
2
PATCH for cpu.c
> Oliver St?neberg wrote: > > > This is simply fixed by putting those unused constants into the > > proper defines. I attached a patch against git 70b078c. > > 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
2013 Sep 08
7
PATCH: x86-64 support and SSE intrinscis code
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_...
2013 Sep 14
3
PATCH: x86-64 support and SSE intrinscis code
Erik de Castro Lopo wrote: > When should FLAC__HAS_X86INTRIN be defined? What header file should I be > checking for? Ah, should be checking for <x86intrin.h>. The rest seems to be coming together. Testing this now. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
2014 Nov 12
2
[PATCH] for configure.ac
> lvqcl wrote: > >> 1) in config.h FLAC__HAS_X86INTRIN macro is always defined and empty, >> even if x86intrin.h is not available. >> >> 2) sse_os is defined as 'yes' or 'no', but AM_CONDITIONAL tests it for 'true': > > The patch is attached. Please check it. Ping. Is the fix of FLAC__HAS_X86INTRIN defin...
2016 Dec 05
1
Q: test for CPUID instruction presence
Erik de Castro Lopo wrote: > lvqcl.mail wrote: > >> Currently libFLAC doesn't check the existence of CPUID instruction if >> FLAC__HAS_X86INTRIN is set to 1. >> It's not a real problem because x86 CPUs without CPUID are probably >> extinct, but if libFLAC performs this check then it should do it >> in all cases (when NASM is available or intrinsics are available). > > This code in cpu.c has been a mess for over a...
2013 Sep 14
0
PATCH: x86-64 support and SSE intrinscis code
...39;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) Ok, I have defined FLAC__CPU_X86_64 in configure.ac. > and FLAC__HAS_X86INTRIN (analogous to FLAC__HAS_NASM) When should FLAC__HAS_X86INTRIN be defined? What header file should I be checking for? Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
2014 Feb 28
1
PATCH: CPU feature detection when NASM n/a
...NASM is not available" ( http://git.xiph.org/?p=flac.git;a=commit;h=d163ef456797ef4807138b0ecb5da9ff05e147e2 ) But CPU detection code for IA-32 uses ASM code, and cpuinfo.use_asm == false when NASM isn't available. The attached patch fixes it. Now CPU features are also detected when only FLAC__HAS_X86INTRIN is defined. -------------- next part -------------- A non-text attachment was scrubbed... Name: cpuid_no_nasm.patch Type: application/octet-stream Size: 3994 bytes Desc: not available Url : http://lists.xiph.org/pipermail/flac-dev/attachments/20140228/07b76edf/attachment.obj
2014 Mar 23
0
PATCH for cpu.c
...n'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...
2015 Feb 23
1
[PATCH] about configure.ac
configure.ac still has two places that aren't fully correct: 1) it creates incorrect definition of FLAC__HAS_X86INTRIN in config.h file. 2)AM_CONDITIONAL(FLaC__SSE_OS...) compares sse_os with 'true' instead of 'yes'. -------------- next part -------------- A non-text attachment was scrubbed... Name: conf_ac.patch Type: application/octet-stream Size: 1074 bytes Desc: not available Url : http://lists...
2017 Feb 20
0
Flac build issue in debug win x32
Here is a patch that fixes the issue. There are multiple way to fix it though. Le 14/02/2017 à 15:08, Olivier Tristan a écrit : > Hi Guys, > > The following code in CPU.c (line 155) won't link if you don't have > NASM code built even if FLAC__HAS_X86INTRIN is true as > FLAC__cpu_info_asm_ia32 don't exists and the else is compiled if there > is no dead code stripping > > if (FLAC__HAS_X86INTRIN) { > FLAC__cpu_info_x86(0, &flags_eax, &flags_ebx, &flags_ecx, > &flags_edx); > info->ia32.intel...
2014 Jun 19
7
[PATCH] stream_encoder : Improve selection of residual accumulator width
...#include <config.h> #endif +/* + * This is used to avoid overflow with unusual signals in 32-bit + * accumulator in the *precompute_partition_info_sums_* functions. + */ +#define FLAC__MAX_EXTRA_RESIDUAL_BPS 4 + #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN #include "private/cpu.h" #include "FLAC/format.h" diff --git a/src/libFLAC/stream_encoder.c b/src/libFLAC/stream_encoder.c index e64ece2..8928a39 100644 --- a/src/libFLAC/stream_encoder.c +++ b/src/libFLAC/stream_encoder.c @@ -3872,10 +3872,9 @@ void precompute_partition_info_...
2013 Sep 15
0
PATCH: x86-64 support and SSE intrinscis code
Erik de Castro Lopo wrote: > Erik de Castro Lopo wrote: > > > When should FLAC__HAS_X86INTRIN be defined? What header file should I be > > checking for? > > Ah, should be checking for <x86intrin.h>. > > The rest seems to be coming together. Testing this now. There is a segfault happening in the new code when compiling with -DDEBUG. Trying to track it down. Erik -...
2014 Jan 31
2
IA32 and NASM
...quire NASM presence, and FLAC__lpc_compute_autocorrelation_intrin_sse_lag_NN() functions that require x86 intrinsics support. FLAC makes use of the former (if NASM is available) but doesn't try to use the latter when NASM is not found. Or does it make sence to add the following code: #ifdef FLAC__HAS_X86INTRIN #if defined FLAC__SSE_SUPPORTED && !defined FLAC__HAS_NASM if(encoder->private_->cpuinfo.ia32.sse) { encoder->private_->local_lpc_compute_autocorrelation = FLAC__lpc_compute_autocorrelation_intrin_sse_lag_NN; ... ... } #endif #endif
2014 Oct 13
0
[PATCH] for configure.ac
lvqcl wrote: > 1) in config.h FLAC__HAS_X86INTRIN macro is always defined and empty, > even if x86intrin.h is not available. > > 2) sse_os is defined as 'yes' or 'no', but AM_CONDITIONAL tests it for 'true': The patch is attached. Please check it. > 3) configure --disable-sse prints: > " SSE opti...
2014 Oct 13
2
[PATCH] for configure.ac
lvqcl wrote: > lvqcl wrote: > > > 1) in config.h FLAC__HAS_X86INTRIN macro is always defined and empty, > > even if x86intrin.h is not available. > > > > 2) sse_os is defined as 'yes' or 'no', but AM_CONDITIONAL tests it for 'true': > > The patch is attached. Please check it. Looks good. I need to do a little testing...