1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
FFmpeg/tests/checkasm
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
..
aarch64 checkasm: aarch64: Check for stack overflows 2020-05-15 21:22:36 +03:00
arm checkasm: arm: Check for stack overflows 2020-05-15 21:22:34 +03:00
riscv checkasm: RISC-V 64-bit assembler test harness 2022-10-10 02:23:18 +02:00
x86 x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
.gitignore Split global .gitignore file into per-directory files 2016-05-13 14:55:56 +02:00
aacpsdsp.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
af_afir.c avfilter/af_afir: Only keep DSP stuff in header 2022-05-06 05:19:49 +02:00
alacdsp.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
audiodsp.c checkasm/audiodsp: Be strict about MMX 2022-10-11 14:18:54 +02:00
av_tx.c x86/tx_float: add 15xN PFA FFT AVX SIMD 2022-09-23 12:35:27 +02:00
blockdsp.c checkasm/blockdsp: Be strict about MMX 2022-10-11 14:18:54 +02:00
bswapdsp.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
checkasm.c libavfilter/x86/vf_convolution: add sobel filter optimization and unit test with intel AVX512 VNNI 2022-11-14 10:04:16 +08:00
checkasm.h libavfilter/x86/vf_convolution: add sobel filter optimization and unit test with intel AVX512 VNNI 2022-11-14 10:04:16 +08:00
exrdsp.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
fixed_dsp.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
flacdsp.c avcodec/flacdsp: Remove unused function parameter 2022-08-05 03:28:45 +02:00
float_dsp.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
fmtconvert.c avcodec/fmtconvert: Remove unused AVCodecContext parameter 2022-09-21 20:26:40 +02:00
g722dsp.c checkasm: add a g722dsp test 2017-07-13 17:00:19 -03:00
h264dsp.c lavc/h264: move some shared code from h264dec to h264_parse 2022-01-26 15:23:30 +01:00
h264pred.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
h264qpel.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
hevc_add_res.c checkasm/hevc_add_res: add 12bit test 2022-08-16 14:00:34 +02:00
hevc_idct.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
hevc_pel.c checkasm/hevc_pel: Fix stack buffer overreads 2021-09-29 04:35:31 +02:00
hevc_sao.c checkasm: improve hevc_sao test 2022-05-25 08:04:58 +02:00
huffyuvdsp.c checkasm/huffyuvdsp: Use declare_func_emms only when needed 2022-10-11 14:18:54 +02:00
idctdsp.c checkasm/idctdsp: Use declare_func_emms only when needed 2022-10-11 14:18:54 +02:00
jpeg2000dsp.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
llviddsp.c checkasm/llviddsp: Be strict about MMX 2022-10-11 14:18:54 +02:00
llviddspenc.c checkasm/llviddspenc: Use declare_func_emms only when needed 2022-10-11 14:18:54 +02:00
lpc.c tests/checkasm/lpc: correct arithmetic when randomizing buffers 2022-09-23 01:50:59 +02:00
Makefile libavfilter/x86/vf_convolution: add sobel filter optimization and unit test with intel AVX512 VNNI 2022-11-14 10:04:16 +08:00
motion.c checkasm: motion: Test different h parameters 2022-08-17 00:00:50 +03:00
opusdsp.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
pixblockdsp.c checkasm/pixblockdsp: Be strict about MMX 2022-10-11 14:18:54 +02:00
sbrdsp.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
sw_gbrp.c swscale/x86/input.asm: add x86-optimized planer rgb2yuv functions 2022-01-11 16:34:33 -03:00
sw_rgb.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
sw_scale.c checkasm: sw_scale: Produce more realistic test filter coefficients for yuv2yuvX 2022-08-19 22:54:51 +03:00
synth_filter.c dca_core: convert to lavu/tx 2022-11-06 14:39:36 +01:00
utvideodsp.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
v210dec.c checkasm/v210dec: add extra space to the destination arrays 2022-12-21 00:36:49 +01:00
v210enc.c checkasm/v210enc: test the entire width of 10-bit planar input arrays 2022-12-01 18:19:03 +01:00
vc1dsp.c checkasm/vc1dsp: Use declare_func_emms only when needed 2022-10-11 14:18:54 +02:00
vf_blend.c avfilter/vf_blend: Move ff_blend_init into a header 2022-05-06 05:19:49 +02:00
vf_colorspace.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
vf_convolution.c libavfilter/x86/vf_convolution: add sobel filter optimization and unit test with intel AVX512 VNNI 2022-11-14 10:04:16 +08:00
vf_eq.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
vf_gblur.c avfilter/vf_gblur: Move ff_gblur_init into a header 2022-05-06 05:19:49 +02:00
vf_hflip.c avfilter/vf_hflip: Move ff_hflip_init into a header 2022-05-06 05:19:50 +02:00
vf_nlmeans.c avfilter/vf_nlmeans: Move ff_nlmeans_init into a header 2022-05-06 05:19:50 +02:00
vf_threshold.c avfilter/vf_threshold: Move ff_threshold_init into a header 2022-05-06 05:19:50 +02:00
videodsp.c lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h 2021-01-01 14:11:01 +01:00
vorbisdsp.c tests/checkasm: add a test for VorbisDSPContext 2022-09-19 21:28:23 -03:00
vp8dsp.c checkasm/vp8dsp: Use declare_func_emms only when needed 2022-10-08 09:33:36 +02:00
vp9dsp.c checkasm/vp9dsp: rename the iszero function to is_zero 2021-06-08 13:11:22 -03:00