Skip to content

x86: Add high bitdepth dc/h/v/paeth/smooth/pal_pred ipred SSSE3 asm

Henrik Gramner requested to merge gramner/dav1d:ipred16_ssse3 into master
intra_pred_dc_128_w4_16bpc_c: 25.1
intra_pred_dc_128_w4_16bpc_ssse3: 11.5
intra_pred_dc_128_w4_16bpc_avx2: 11.9
intra_pred_dc_128_w8_16bpc_c: 45.8
intra_pred_dc_128_w8_16bpc_ssse3: 16.1
intra_pred_dc_128_w8_16bpc_avx2: 16.4
intra_pred_dc_128_w16_16bpc_c: 155.5
intra_pred_dc_128_w16_16bpc_ssse3: 43.8
intra_pred_dc_128_w16_16bpc_avx2: 24.3
intra_pred_dc_128_w32_16bpc_c: 248.6
intra_pred_dc_128_w32_16bpc_ssse3: 98.1
intra_pred_dc_128_w32_16bpc_avx2: 52.5
intra_pred_dc_128_w64_16bpc_c: 764.1
intra_pred_dc_128_w64_16bpc_ssse3: 235.3
intra_pred_dc_128_w64_16bpc_avx2: 121.9

intra_pred_dc_left_w4_16bpc_c: 35.1
intra_pred_dc_left_w4_16bpc_ssse3: 16.0
intra_pred_dc_left_w4_16bpc_avx2: 17.2
intra_pred_dc_left_w8_16bpc_c: 57.8
intra_pred_dc_left_w8_16bpc_ssse3: 20.5
intra_pred_dc_left_w8_16bpc_avx2: 21.8
intra_pred_dc_left_w16_16bpc_c: 167.9
intra_pred_dc_left_w16_16bpc_ssse3: 50.5
intra_pred_dc_left_w16_16bpc_avx2: 32.2
intra_pred_dc_left_w32_16bpc_c: 261.3
intra_pred_dc_left_w32_16bpc_ssse3: 108.0
intra_pred_dc_left_w32_16bpc_avx2: 62.4
intra_pred_dc_left_w64_16bpc_c: 582.9
intra_pred_dc_left_w64_16bpc_ssse3: 247.2
intra_pred_dc_left_w64_16bpc_avx2: 137.0

intra_pred_dc_top_w4_16bpc_c: 31.9
intra_pred_dc_top_w4_16bpc_ssse3: 13.4
intra_pred_dc_top_w4_16bpc_avx2: 13.8
intra_pred_dc_top_w8_16bpc_c: 54.6
intra_pred_dc_top_w8_16bpc_ssse3: 17.7
intra_pred_dc_top_w8_16bpc_avx2: 18.2
intra_pred_dc_top_w16_16bpc_c: 165.7
intra_pred_dc_top_w16_16bpc_ssse3: 43.6
intra_pred_dc_top_w16_16bpc_avx2: 26.4
intra_pred_dc_top_w32_16bpc_c: 260.4
intra_pred_dc_top_w32_16bpc_ssse3: 99.1
intra_pred_dc_top_w32_16bpc_avx2: 53.9
intra_pred_dc_top_w64_16bpc_c: 588.9
intra_pred_dc_top_w64_16bpc_ssse3: 238.2
intra_pred_dc_top_w64_16bpc_avx2: 124.1

intra_pred_dc_w4_16bpc_c: 41.5
intra_pred_dc_w4_16bpc_ssse3: 16.4
intra_pred_dc_w4_16bpc_avx2: 17.2
intra_pred_dc_w8_16bpc_c: 65.6
intra_pred_dc_w8_16bpc_ssse3: 21.1
intra_pred_dc_w8_16bpc_avx2: 21.7
intra_pred_dc_w16_16bpc_c: 175.0
intra_pred_dc_w16_16bpc_ssse3: 50.6
intra_pred_dc_w16_16bpc_avx2: 32.5
intra_pred_dc_w32_16bpc_c: 277.5
intra_pred_dc_w32_16bpc_ssse3: 107.0
intra_pred_dc_w32_16bpc_avx2: 61.7
intra_pred_dc_w64_16bpc_c: 605.1
intra_pred_dc_w64_16bpc_ssse3: 246.4
intra_pred_dc_w64_16bpc_avx2: 135.0

intra_pred_h_w4_16bpc_c: 91.3
intra_pred_h_w4_16bpc_ssse3: 12.1
intra_pred_h_w4_16bpc_avx2: 11.3
intra_pred_h_w8_16bpc_c: 173.2
intra_pred_h_w8_16bpc_ssse3: 17.0
intra_pred_h_w8_16bpc_avx2: 15.5
intra_pred_h_w16_16bpc_c: 152.5
intra_pred_h_w16_16bpc_ssse3: 42.7
intra_pred_h_w16_16bpc_avx2: 24.2
intra_pred_h_w32_16bpc_c: 209.4
intra_pred_h_w32_16bpc_ssse3: 96.4
intra_pred_h_w32_16bpc_avx2: 50.4
intra_pred_h_w64_16bpc_c: 347.5
intra_pred_h_w64_16bpc_ssse3: 235.5
intra_pred_h_w64_16bpc_avx2: 121.3

intra_pred_paeth_w4_16bpc_c: 334.8
intra_pred_paeth_w4_16bpc_ssse3: 30.6
intra_pred_paeth_w4_16bpc_avx2: 19.2
intra_pred_paeth_w8_16bpc_c: 319.8
intra_pred_paeth_w8_16bpc_ssse3: 78.9
intra_pred_paeth_w8_16bpc_avx2: 42.0
intra_pred_paeth_w16_16bpc_c: 890.0
intra_pred_paeth_w16_16bpc_ssse3: 237.9
intra_pred_paeth_w16_16bpc_avx2: 138.8
intra_pred_paeth_w32_16bpc_c: 1775.1
intra_pred_paeth_w32_16bpc_ssse3: 564.9
intra_pred_paeth_w32_16bpc_avx2: 230.0
intra_pred_paeth_w64_16bpc_c: 4079.4
intra_pred_paeth_w64_16bpc_ssse3: 1386.9
intra_pred_paeth_w64_16bpc_avx2: 545.0

intra_pred_smooth_h_w4_16bpc_c: 168.0
intra_pred_smooth_h_w4_16bpc_ssse3: 14.0
intra_pred_smooth_h_w4_16bpc_avx2: 14.4 (old: 21.2)
intra_pred_smooth_h_w8_16bpc_c: 444.9
intra_pred_smooth_h_w8_16bpc_ssse3: 25.3
intra_pred_smooth_h_w8_16bpc_avx2: 19.6 (old: 39.6)
intra_pred_smooth_h_w16_16bpc_c: 923.6
intra_pred_smooth_h_w16_16bpc_ssse3: 69.7
intra_pred_smooth_h_w16_16bpc_avx2: 39.2 (old: 91.9)
intra_pred_smooth_h_w32_16bpc_c: 2091.4
intra_pred_smooth_h_w32_16bpc_ssse3: 163.6
intra_pred_smooth_h_w32_16bpc_avx2: 77.6 (old: 192.0)
intra_pred_smooth_h_w64_16bpc_c: 5036.0
intra_pred_smooth_h_w64_16bpc_ssse3: 404.1
intra_pred_smooth_h_w64_16bpc_avx2: 183.8 (old: 422.4)

intra_pred_smooth_v_w4_16bpc_c: 182.8
intra_pred_smooth_v_w4_16bpc_ssse3: 13.5
intra_pred_smooth_v_w4_16bpc_avx2: 13.6 (old: 19.2)
intra_pred_smooth_v_w8_16bpc_c: 465.9
intra_pred_smooth_v_w8_16bpc_ssse3: 24.3
intra_pred_smooth_v_w8_16bpc_avx2: 19.1 (old: 30.7)
intra_pred_smooth_v_w16_16bpc_c: 1015.4
intra_pred_smooth_v_w16_16bpc_ssse3: 67.5
intra_pred_smooth_v_w16_16bpc_avx2: 35.5 (old: 70.6)
intra_pred_smooth_v_w32_16bpc_c: 1820.0
intra_pred_smooth_v_w32_16bpc_ssse3: 149.7
intra_pred_smooth_v_w32_16bpc_avx2: 72.3 (old: 162.4)
intra_pred_smooth_v_w64_16bpc_c: 3718.0
intra_pred_smooth_v_w64_16bpc_ssse3: 368.4
intra_pred_smooth_v_w64_16bpc_avx2: 162.0 (old: 361.0)

intra_pred_smooth_w4_16bpc_c: 247.9
intra_pred_smooth_w4_16bpc_ssse3: 30.4
intra_pred_smooth_w4_16bpc_avx2: 24.6 (old: 24.7)
intra_pred_smooth_w8_16bpc_c: 655.7
intra_pred_smooth_w8_16bpc_ssse3: 83.6
intra_pred_smooth_w8_16bpc_avx2: 48.0 (old: 49.9)
intra_pred_smooth_w16_16bpc_c: 1611.0
intra_pred_smooth_w16_16bpc_ssse3: 247.1
intra_pred_smooth_w16_16bpc_avx2: 111.7 (old: 121.6)
intra_pred_smooth_w32_16bpc_c: 3196.6
intra_pred_smooth_w32_16bpc_ssse3: 589.1
intra_pred_smooth_w32_16bpc_avx2: 242.3 (old: 268.7)
intra_pred_smooth_w64_16bpc_c: 7123.3
intra_pred_smooth_w64_16bpc_ssse3: 1474.1
intra_pred_smooth_w64_16bpc_avx2: 562.0 (old: 632.7)

intra_pred_v_w4_16bpc_c: 58.3
intra_pred_v_w4_16bpc_ssse3: 10.9
intra_pred_v_w4_16bpc_avx2: 11.3
intra_pred_v_w8_16bpc_c: 85.7
intra_pred_v_w8_16bpc_ssse3: 15.2
intra_pred_v_w8_16bpc_avx2: 15.4
intra_pred_v_w16_16bpc_c: 143.6
intra_pred_v_w16_16bpc_ssse3: 41.0
intra_pred_v_w16_16bpc_avx2: 23.2
intra_pred_v_w32_16bpc_c: 415.7
intra_pred_v_w32_16bpc_ssse3: 94.8
intra_pred_v_w32_16bpc_avx2: 49.6
intra_pred_v_w64_16bpc_c: 573.4
intra_pred_v_w64_16bpc_ssse3: 233.1
intra_pred_v_w64_16bpc_avx2: 117.9

pal_pred_w4_16bpc_c: 63.8
pal_pred_w4_16bpc_ssse3: 15.3
pal_pred_w4_16bpc_avx2: 15.0
pal_pred_w8_16bpc_c: 160.2
pal_pred_w8_16bpc_ssse3: 27.0
pal_pred_w8_16bpc_avx2: 21.2
pal_pred_w16_16bpc_c: 494.6
pal_pred_w16_16bpc_ssse3: 79.7
pal_pred_w16_16bpc_avx2: 50.2
pal_pred_w32_16bpc_c: 1166.2
pal_pred_w32_16bpc_ssse3: 186.8
pal_pred_w32_16bpc_avx2: 117.4
pal_pred_w64_16bpc_c: 2942.6
pal_pred_w64_16bpc_ssse3: 459.4
pal_pred_w64_16bpc_avx2: 289.1
Edited by Henrik Gramner

Merge request reports