summaryrefslogtreecommitdiff
path: root/libavutil/x86/cpu.c
Commit message (Collapse)AuthorAge
* cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* x86: add AV_CPU_FLAG_AVXSLOW flagJames Almer2015-05-31
| | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* x86: add detection for Bit Manipulation Instruction setsJames Almer2014-02-23
| | | | | | Based on x264 code Signed-off-by: James Almer <jamrial@gmail.com>
* x86: add detection for FMA3 instruction setJames Almer2014-02-23
| | | | | | Based on x264 code Signed-off-by: James Almer <jamrial@gmail.com>
* libavutil: x86: Add AVX2 capable CPU detection.Kieran Kunhya2013-10-25
| | | | | | Patch based on x264's AVX2 detection Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avutil: Move internal CPU detection function declarations to private headerDiego Biurrun2013-08-28
|
* x86: cpu: Drop unused HAVE_RWEFLAGS conditionDiego Biurrun2012-11-28
| | | | The test for rweflags was dropped in a previous commit.
* x86: get_cpu_flags: add necessary ifdefs around function bodyDiego Biurrun2012-10-04
| | | | | | | ff_get_cpu_flags_x86() requires cpuid(), which is conditionally defined elsewhere in the file. Surrounding the function body with ifdefs allows building even when cpuid is not defined. An empty cpuflags mask is returned in this case.
* x86: Drop CPU detection intrinsicsDiego Biurrun2012-10-04
| | | | | | Now that there is CPU detection in YASM, there will always be one of inline or external assembly enabled, which obviates the need to fall back on CPU detection through compiler intrinsics.
* x86: Add YASM implementations of cpuid and xgetbv from x264Diego Biurrun2012-10-04
| | | | | This allows detecting CPU features with builds that have neither gcc inline assembly nor the right compiler intrinsics enabled.
* x86: cpu: Break out test for cpuid capabilities into separate functionDiego Biurrun2012-10-04
|
* x86: ff_get_cpu_flags_x86(): Avoid a pointless variable indirectionDiego Biurrun2012-10-04
|
* x86: cosmetics: Comment some #endifs for better readabilityDiego Biurrun2012-08-30
|
* x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.hMans Rullgard2012-08-09
| | | | | | | This puts x86-specific things in the x86/ subdirectory where they belong. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: build: replace mmx2 by mmxextDiego Biurrun2012-08-03
| | | | | | | Refactoring mmx2/mmxext YASM code with cpuflags will force renames. So switching to a consistent naming scheme beforehand is sensible. The name "mmxext" is more official and widespread and also the name of the CPU flag, as reported e.g. by the Linux kernel.
* x86/cpu: implement get/set_eflags using intrinsicsRonald S. Bultje2012-07-10
| | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* x86/cpu: implement support for cpuid through intrinsicsRonald S. Bultje2012-07-10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* x86/cpu: implement support for xgetbv through intrinsicsRonald S. Bultje2012-07-10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: cpu: clean up check for cpuid instruction supportMans Rullgard2012-07-01
| | | | | | | This adds macros for accessing the EFLAGS register and uses these instead of coding the entire check in inline asm. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: cpu: whitespace (mostly) cosmeticsMans Rullgard2012-06-25
| | | | | | | | | This adds whitespace around operators, aligns line continuation backslashes, and breaks long lines. Also fixes an ifdef halfway through a statement. The one line of duplication this saved is not worth the ugliness. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: Add CPU flag for the i686 cmov instructionDiego Biurrun2012-06-23
|
* x86 cpuid: set vendor union members separatelySean McGovern2011-12-08
| | | | | | | | | Solaris Studio (suncc) has difficulty with filling in members of a union. Instead, let's retrieve and store the cpuid() results separately. This is still a compiler bug, however this fix does not cause a regression on other platforms. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* x86: XOP/FMA4 CPU detection supportJason Garrett-Glaser2011-09-26
|
* cpu detection: avoid a signed overflowSean McGovern2011-09-03
| | | | | | 1<<31 overflows because 1 is signed, so force it to unsigned. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* cosmetics: indentationJustin Ruggles2011-03-22
|
* Add a CPU flag for the Atom processor.Justin Ruggles2011-03-22
| | | | | | | The Atom has SSSE3 support, which is useful in many cases, but sometimes the SSSE3 version is slower than the SSE2 equivalent on the Atom, but is generally faster on other processors supporting SSSE3. This flag allows for selectively disabling certain SSSE3 functions on the Atom.
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: use raw opcode for xgetbv instructionMans Rullgard2011-02-20
| | | | | | | | | | This allows the CPU detection to work with assemblers not supporting the xgetbv mnemonic. These include clang and some BSD versions. All AVX code will be written for yasm, where the main assembler is not involved. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: check for AVX supportMans Rullgard2011-02-20
| | | | | | This adds configure and runtime checks for AVX support on x86 CPUs. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Add check for Athlon64 and similar AMD processors with slow SSE2.Justin Ruggles2011-02-11
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Add missing #include <string.h> in x86/cpu.cMåns Rullgård2010-09-09
| | | | Originally committed as revision 25088 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Clean up av_get_cpu_flag()Måns Rullgård2010-09-09
Instead of defining functions in per-arch header files included by the main cpu.c, define them normally and call them from the generic one. Originally committed as revision 25084 to svn://svn.ffmpeg.org/ffmpeg/trunk