summaryrefslogtreecommitdiff
path: root/libavutil/x86
Commit message (Collapse)AuthorAge
...
* x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflagsDiego Biurrun2013-01-15
|
* x86: ABSB2: port to cpuflagsDiego Biurrun2013-01-15
|
* x86: ABSB: port to cpuflagsDiego Biurrun2013-01-15
|
* x86: ABS2: port to cpuflagsDiego Biurrun2013-01-14
|
* x86: ABS1: port to cpuflagsDiego Biurrun2013-01-06
|
* lavc: merge latest x86inc.asm fixes with x264Ronald S. Bultje2012-12-19
| | | | | | Unbreak NASM support. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* x86inc: fully concatenate tokens to fix macro expansion for nasmJanne Grunau2012-12-13
| | | | | Fixes build errors with nasm introduced in 6f40e9f070f7 for stack memory alignment. Noticed by BugMaster.
* x86inc: fix stack alignment on win64Ronald S. Bultje2012-12-12
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* x86inc: support stack mem allocation and re-alignment in PROLOGUERonald S. Bultje2012-12-12
| | | | | | | Use this in VP8/H264-8bit loopfilter functions so they can be used if there is no aligned stack (e.g. MSVC 32bit or ICC 10.x). Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* x86: float_dsp: fix loading of the len parameter on x86-32Justin Ruggles2012-12-07
|
* x86: float_dsp: fix compilation of ff_vector_dmul_scalar_avx() on x86-32Justin Ruggles2012-12-06
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* x86: af_volume: add SSE2/SSSE3/AVX-optimized s32 volume scalingJustin Ruggles2012-12-05
|
* float_dsp: add vector_dmul_scalar() to multiply a vector of doublesJustin Ruggles2012-12-05
| | | | Include x86-optimized versions for SSE2 and AVX.
* x86: cpu: Drop unused HAVE_RWEFLAGS conditionDiego Biurrun2012-11-28
| | | | The test for rweflags was dropped in a previous commit.
* x86: float_dsp: add SSE version of vector_fmul_scalar()Justin Ruggles2012-11-26
|
* x86: SPLATD: port to cpuflagsDiego Biurrun2012-11-18
|
* x86: mmx2 ---> mmxext in asm constructsDiego Biurrun2012-11-14
|
* build: Drop AVX assembly ifdefsDiego Biurrun2012-11-11
| | | | An assembler able to cope with AVX instructions is now required.
* x86inc: Set program_name outside of x86inc.asmDiego Biurrun2012-11-11
| | | | This reduces the local difference to the x264 upstream version.
* x86: PALIGNR: port to cpuflagsDiego Biurrun2012-11-09
|
* x86: PABSW: port to cpuflagsDiego Biurrun2012-11-05
|
* x86: Refactor PSWAPD fallback implementations and port to cpuflagsDiego Biurrun2012-11-02
|
* x86: PMINUB: port to cpuflagsDiego Biurrun2012-11-02
|
* x86util: Add cpuflags_mmxext alias for cpuflags_mmx2Diego Biurrun2012-11-02
| | | | "mmxext" is a more sensible name and more common in outside projects.
* x86inc: Only define program_name if the macro is unsetDiego Biurrun2012-11-02
| | | | This allows overriding the value from outside of the file.
* x86: Fix assembly with NASMDave Yeo2012-10-31
| | | | | | | Unlike YASM, NASM only looks for include files in the current directory, not in the directory that included files reside in. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* x86: MMX2 ---> MMXEXT in macro namesDiego Biurrun2012-10-31
|
* x86: include x86inc.asm in x86util.asmDiego Biurrun2012-10-31
| | | | This is necessary to allow refactoring some x86util macros with cpuflags.
* Remove INIT_AVX from x86inc.asm.Ronald S. Bultje2012-10-29
|
* 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: Replace checks for CPU extensions and flags by convenience macrosDiego Biurrun2012-09-08
| | | | | This separates code relying on inline from that relying on external assembly and fixes instances where the coalesced check was incorrect.
* x86: float_dsp: fix ff_vector_fmac_scalar_avx() on Win64Justin Ruggles2012-09-07
| | | | | The SWAP macro does not work for explicit xmm/ymm usage, so instead just move the scalar value from xmm2 to xmm0.
* x86: Add convenience macros to check for CPU extensions and flagsDiego Biurrun2012-09-04
|
* x86: Split inline and external assembly #ifdefsDiego Biurrun2012-08-31
|
* x86: cosmetics: Comment some #endifs for better readabilityDiego Biurrun2012-08-30
|
* vf_hqdn3d: x86 asmLoren Merritt2012-08-26
| | | | | 13% faster on penryn, 16% on sandybridge, 15% on bulldozer Not simd; a compiler should have generated this, but gcc didn't.
* lavr: x86: optimized 6-channel s16 to fltp conversionJustin Ruggles2012-08-23
|
* x86: remove FASTDIV inline asmMans Rullgard2012-08-22
| | | | | | | | | | | | | | | | | | | GCC 4.3 and later do the right thing with the plain C code. Earlier versions in 32-bit mode generate one extra instruction, needlessly zeroing what would be the high half of the shifted value. At least two gcc configurations miscompile the inline asm in some situations. In 64-bit mode, all gcc versions generate imul r64, r64 followed by shr. On Intel i7 and later, this imul is faster 32-bit mul. On older Intel and all AMD, it is slightly slower. On Atom it is much slower. Considering where the FASTDIV macro is used, any overall negative performance impact of this change should be negligible. If anyone cares, they should file a bug against gcc and get the instruction selection fixed. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Add more missing includes after removing the implicit common.hMartin Storsjö2012-08-16
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Add some more missing includes after removing the implicit common.hMartin Storsjö2012-08-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: move MANGLE() and related macros to libavutil/x86/asm.hMans Rullgard2012-08-09
| | | | | | These x86-specific macros do not belong in generic code. Signed-off-by: Mans Rullgard <mans@mansr.com>
* 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: fix build with nasm 2.08Mans Rullgard2012-08-07
| | | | | | | | It appears that something goes wrong in old nasm versions when the %+ operator is used in the last argument of a macro invocation and this argument is tested with %ifdef within the macro. This patch rearranges the macro arguments such that the %+ operator is never used in the last argument.
* x86: use nop cpu directives only if supportedMans Rullgard2012-08-07
| | | | | | | nasm does not support 'CPU foonop' directives. This adds a configure test for the directive and uses it only if supported. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: fix rNmp macros with nasmMans Rullgard2012-08-07
| | | | | | For some reason, nasm requires this. No harm done to yasm. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: add colons after labelsMans Rullgard2012-08-07
| | | | | | nasm prints a warning if the colon is missing. Signed-off-by: Mans Rullgard <mans@mansr.com>