[FFmpeg-cvslog] x86/tx_float: mark AVX2 functions as AVXSLOW
Lynne
git at videolan.org
Sat Jan 29 04:13:41 EET 2022
ffmpeg | branch: master | Lynne <dev at lynne.ee> | Sat Jan 29 03:08:16 2022 +0100| [35080149ef5044694109037f6c6ee176382f357a] | committer: Lynne
x86/tx_float: mark AVX2 functions as AVXSLOW
Makes Bulldozer prefer AVX functions rather than AVX2,
which are 64% slower:
AVX: 117653 decicycles in av_tx (fft), 1048535 runs, 41 skips
AVX2: 193385 decicycles in av_tx (fft), 1048561 runs, 15 skips
The only difference between both is that vgatherdpd is used in
the former. We don't want to mark them with the new SLOW_GATHER
flag however, since gathers are still faster on Haswell/Zen 2/3
than plain loads.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=35080149ef5044694109037f6c6ee176382f357a
---
libavutil/x86/tx_float_init.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavutil/x86/tx_float_init.c b/libavutil/x86/tx_float_init.c
index 2bc0f4c52c..3a87711def 100644
--- a/libavutil/x86/tx_float_init.c
+++ b/libavutil/x86/tx_float_init.c
@@ -100,11 +100,11 @@ DECL_CD_DEF(fft_sr_ns_float_avx, FFT, 64, 131072, 2, 0, fft_sr_codelet_init_b8_i
#if HAVE_AVX2_EXTERNAL
DECL_CD_DEF(fft_sr_float_avx2, FFT, 64, 131072, 2, 0, fft_sr_codelet_init_b8_i2,
- 288, AV_CPU_FLAG_AVX2,
+ 288, AV_CPU_FLAG_AVX2 | AV_CPU_FLAG_AVXSLOW,
FF_TX_OUT_OF_PLACE)
DECL_CD_DEF(fft_sr_ns_float_avx2, FFT, 64, 131072, 2, 0, fft_sr_codelet_init_b8_i2,
- 352, AV_CPU_FLAG_AVX2,
+ 352, AV_CPU_FLAG_AVX2 | AV_CPU_FLAG_AVXSLOW,
FF_TX_OUT_OF_PLACE | AV_TX_INPLACE | FF_TX_PRESHUFFLE)
#endif
#endif
More information about the ffmpeg-cvslog
mailing list