1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
FFmpeg/libavutil/x86
Lynne bbe95f7353
x86: replace explicit REP_RETs with RETs
From x86inc:
> On AMD cpus <=K10, an ordinary ret is slow if it immediately follows either
> a branch or a branch target. So switch to a 2-byte form of ret in that case.
> We can automatically detect "follows a branch", but not a branch target.
> (SSSE3 is a sufficient condition to know that your cpu doesn't have this problem.)

x86inc can automatically determine whether to use REP_RET rather than
REP in most of these cases, so impact is minimal. Additionally, a few
REP_RETs were used unnecessary, despite the return being nowhere near a
branch.

The only CPUs affected were AMD K10s, made between 2007 and 2011, 16
years ago and 12 years ago, respectively.

In the future, everyone involved with x86inc should consider dropping
REP_RETs altogether.
2023-02-01 04:23:55 +01:00
..
asm.h
bswap.h libavutil: x86: Include stdlib.h before using _byteswap_ulong 2020-01-23 18:30:26 +02:00
cpu.c avutil/cpu: add AVX512 Icelake flag 2022-03-10 16:45:48 -03:00
cpu.h avutil/cpu: add AVX512 Icelake flag 2022-03-10 16:45:48 -03:00
cpuid.asm libavutil: include assembly with full path from source root 2022-02-08 10:42:26 +01:00
emms.asm libavutil: include assembly with full path from source root 2022-02-08 10:42:26 +01:00
emms.h avutil/x86/emms: Don't unnecessarily include lavu/cpu.h 2022-02-21 12:37:51 +01:00
fixed_dsp_init.c lavu/fixed_dsp: add missing av_restrict qualifiers 2022-10-04 10:56:12 +02:00
fixed_dsp.asm libavutil: include assembly with full path from source root 2022-02-08 10:42:26 +01:00
float_dsp_init.c avutil/x86/float_dsp: add fma3 for scalarproduct 2022-09-13 17:43:15 +02:00
float_dsp.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
imgutils_init.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
imgutils.asm
intmath.h x86/intmath: add VEX encoded versions of av_clipf() and av_clipd() 2021-11-19 11:21:03 -03:00
intreadwrite.h avutil/x86/intreadwrite: Add ability to detect whether MMX code is used 2022-09-11 21:08:04 +02:00
lls_init.c Include attributes.h directly 2021-04-19 14:34:10 +02:00
lls.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
Makefile x86/tx_float: do not build tx_float_init.c if x86 assembly is disabled 2022-01-27 02:17:46 +01:00
pixelutils_init.c avutil/x86/pixelutils: Remove obsolete MMX(EXT) functions 2022-06-22 13:36:44 +02:00
pixelutils.asm avutil/x86/pixelutils: Remove obsolete MMX(EXT) functions 2022-06-22 13:36:44 +02:00
pixelutils.h
timer.h
tx_float_init.c lavu/tx: refactor to explicitly track and convert lookup table order 2022-11-24 15:58:34 +01:00
tx_float.asm x86/tx_float: fix stray change in 15xM FFT and replace imul->lea 2022-11-28 16:58:12 +01:00
w64xmmtest.h
x86inc.asm avutil/cpu: add AVX512 Icelake flag 2022-03-10 16:45:48 -03:00
x86util.asm avutil/x86util : add macro for loading a 128 bits constants in an xmm or in each part of an ymm in order to simplify avx2 asm func 2017-12-02 18:25:15 +01:00