Skip to content

x86: Add refmvs.save_tmvs AVX-512 (Ice Lake) asm

checkasm wrapper script, 100 checkasm runs:
c 25781.131
ssse3 8855.98
avx2 8167.997
avx512icl 7075.076
--------------------- FINAL ---------------------
Speed ups:
c..ssse3: 2.911x (o=0.0258)
c..avx2: 3.156x (o=0.0323)
c..avx512icl: 3.644x (o=0.0438)
Speed diffs:
c..ssse3: 34.35% (o=0.3)
c..avx2: 31.68% (o=0.32)
c..avx512icl: 27.45% (o=0.33)
save_tmvs_c:          26049.1 ( 1.00x)
save_tmvs_ssse3:       8729.9 ( 2.98x)
save_tmvs_avx2:        8194.2 ( 3.18x)
save_tmvs_avx512icl:   7149.3 ( 3.64x)

Overall speed up from adding SIMD for refmvs.save_tmvs: (values below are fps)

repeat 3 ./tools/dav1d -i ~/Videos/chimera-8bit-1080.ivf --muxer=null {options}

  • ST
ext save_tmvs_c save_tmvs_$ext speed up
ssse3 62.64 62.99 +0.55%
avx2 77.24 77.66 +0.54%
avx512icl 78.62 79.02 +0.5%
  • MT (--threads=8)
ext save_tmvs_c save_tmvs_$ext speed up
ssse3 426.38 429.06 +0.62%
avx2 489.46 491.9 +0.5%
avx512icl 494.56 495.42 +0.17%
Edited by Victorien Le Couviour--Tuffet

Merge request reports