ffmpeg/libavfilter/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
..
af_afir.asm
af_afir_init.c avfilter/af_afir: Only keep DSP stuff in header 2022-05-06 05:19:49 +02:00
af_anlmdn.asm
af_anlmdn_init.c
af_volume.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
af_volume_init.c
avf_showcqt.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
avf_showcqt_init.c
colorspacedsp.asm
colorspacedsp_init.c
Makefile avfilter/vf_nlmeans: add x86 SIMD 2021-11-11 21:54:46 +01:00
scene_sad.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
scene_sad_init.c
vf_atadenoise.asm
vf_atadenoise_init.c
vf_blend.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
vf_blend_init.c avfilter/x86/vf_blend: unify indentation format 2021-10-03 09:15:55 +02:00
vf_bwdif.asm avfilter/x86/vf_bwdif: Remove obsolete MMXEXT functions 2022-06-22 13:38:14 +02:00
vf_bwdif_init.c avfilter/x86/vf_bwdif: Remove obsolete MMXEXT functions 2022-06-22 13:38:14 +02:00
vf_convolution.asm libavfilter/x86/vf_convolution: fix sobel swap issue on WIN64 2022-11-21 12:28:25 +08:00
vf_convolution_init.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.asm avfilter/x86/vf_eq_init: Remove obsolete MMXEXT function 2022-06-22 13:36:31 +02:00
vf_eq_init.c avfilter/x86/vf_eq_init: Remove obsolete MMXEXT function 2022-06-22 13:36:31 +02:00
vf_framerate.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
vf_framerate_init.c
vf_fspp.asm
vf_fspp_init.c
vf_gblur.asm libavfilter/x86/vf_gblur: correct the order of loop step 2021-09-18 12:38:01 +02:00
vf_gblur_init.c libavfilter/x86/vf_gblur: add localbuf and ff_horiz_slice_avx2/512() 2021-08-29 19:58:33 +02:00
vf_gradfun.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
vf_gradfun_init.c
vf_hflip.asm
vf_hflip_init.c
vf_hqdn3d.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
vf_hqdn3d_init.c
vf_idet.asm avfilter/x86/vf_idet: Remove obsolete MMX(EXT) functions 2022-06-22 13:38:01 +02:00
vf_idet_init.c avfilter/x86/vf_idet: Remove obsolete MMX(EXT) functions 2022-06-22 13:38:01 +02:00
vf_interlace.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
vf_limiter.asm avfilter/x86/vf_limiter: use movu, dst may not be always aligned 2022-03-24 09:44:09 +01:00
vf_limiter_init.c
vf_lut3d.asm x86/vf_lut3d: use three operand form for some instructions 2021-10-14 18:09:38 -03:00
vf_lut3d_init.c avfilter/vf_lut3d: fix building with --disable-optimizations 2021-10-13 18:01:21 +02:00
vf_maskedclamp.asm
vf_maskedclamp_init.c
vf_maskedmerge.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
vf_maskedmerge_init.c
vf_nlmeans.asm avfilter/vf_nlmeans: add x86 SIMD 2021-11-11 21:54:46 +01:00
vf_nlmeans_init.c avfilter/vf_nlmeans: add x86 SIMD 2021-11-11 21:54:46 +01:00
vf_noise.c avfilter/x86/vf_noise: Remove obsolete MMX function 2022-06-22 13:32:08 +02:00
vf_overlay.asm
vf_overlay_init.c
vf_pp7.asm
vf_pp7_init.c
vf_psnr.asm
vf_psnr_init.c
vf_pullup.asm
vf_pullup_init.c
vf_removegrain.asm
vf_removegrain_init.c
vf_spp.c
vf_ssim.asm
vf_ssim_init.c
vf_stereo3d.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
vf_stereo3d_init.c
vf_threshold.asm avfilter/vf_threshold: fix handling of zero threshold 2022-10-27 10:23:24 +02:00
vf_threshold_init.c
vf_tinterlace_init.c
vf_transpose.asm
vf_transpose_init.c
vf_v360.asm
vf_v360_init.c
vf_w3fdif.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
vf_w3fdif_init.c
vf_yadif.asm avfilter/x86/vf_yadif: Remove obsolete MMXEXT functions 2022-06-22 13:37:48 +02:00
vf_yadif_init.c avfilter/x86/vf_yadif: Remove obsolete MMXEXT functions 2022-06-22 13:37:48 +02:00
yadif-10.asm avfilter/x86/vf_yadif: Remove obsolete MMXEXT functions 2022-06-22 13:37:48 +02:00
yadif-16.asm avfilter/x86/vf_yadif: Remove obsolete MMXEXT functions 2022-06-22 13:37:48 +02:00