Skip to content

riscv64/mc16: Keep blend and blend_v operations in 16-bits

Kendryte K230                Before             After         Delta

blend_w4_16bpc_c:         210.5 ( 1.00x)    209.7 ( 1.00x)   -0.38%
blend_w4_16bpc_rvv:        67.2 ( 3.13x)     69.4 ( 3.02x)    3.27%
blend_w8_16bpc_c:         615.0 ( 1.00x)    614.2 ( 1.00x)   -0.13%
blend_w8_16bpc_rvv:       127.9 ( 4.81x)    111.1 ( 5.53x)  -13.14%
blend_w16_16bpc_c:       2372.7 ( 1.00x)   2373.9 ( 1.00x)    0.05%
blend_w16_16bpc_rvv:      415.2 ( 5.71x)    324.2 ( 7.32x)  -21.92%
blend_w32_16bpc_c:       6001.5 ( 1.00x)   6006.5 ( 1.00x)    0.08%
blend_w32_16bpc_rvv:     1032.5 ( 5.81x)    785.4 ( 7.65x)  -23.93%

blend_v_w2_16bpc_c:       226.2 ( 1.00x)    226.9 ( 1.00x)    0.31%
blend_v_w2_16bpc_rvv:     149.7 ( 1.51x)    154.0 ( 1.47x)    2.87%
blend_v_w4_16bpc_c:      1008.5 ( 1.00x)   1011.3 ( 1.00x)    0.28%
blend_v_w4_16bpc_rvv:     307.2 ( 3.28x)    305.1 ( 3.31x)   -0.68%
blend_v_w8_16bpc_c:      1874.2 ( 1.00x)   1879.5 ( 1.00x)    0.28%
blend_v_w8_16bpc_rvv:     440.4 ( 4.26x)    382.7 ( 4.91x)  -13.10%
blend_v_w16_16bpc_c:     3604.3 ( 1.00x)   3608.6 ( 1.00x)    0.12%
blend_v_w16_16bpc_rvv:    772.1 ( 4.67x)    564.6 ( 6.39x)  -26.87%
blend_v_w32_16bpc_c:     7041.9 ( 1.00x)   7008.2 ( 1.00x)   -0.48%
blend_v_w32_16bpc_rvv:   1463.3 ( 4.81x)   1038.3 ( 6.75x)  -29.04%

SpacemiT K1                  Before             After         Delta

blend_w4_16bpc_c:         206.1 ( 1.00x)    207.0 ( 1.00x)    0.44%
blend_w4_16bpc_rvv:        64.4 ( 3.20x)     69.5 ( 2.98x)    7.92%
blend_w8_16bpc_c:         600.2 ( 1.00x)    600.9 ( 1.00x)    0.12%
blend_w8_16bpc_rvv:       101.6 ( 5.91x)    106.9 ( 5.62x)    5.22%
blend_w16_16bpc_c:       2316.0 ( 1.00x)   2316.4 ( 1.00x)    0.02%
blend_w16_16bpc_rvv:      261.8 ( 8.85x)    229.1 (10.11x)  -12.49%
blend_w32_16bpc_c:       5861.1 ( 1.00x)   5860.4 ( 1.00x)   -0.01%
blend_w32_16bpc_rvv:      602.9 ( 9.72x)    475.3 (12.33x)  -21.16%

blend_v_w2_16bpc_c:       220.1 ( 1.00x)    222.0 ( 1.00x)    0.86%
blend_v_w2_16bpc_rvv:     146.6 ( 1.50x)    151.1 ( 1.47x)    3.07%
blend_v_w4_16bpc_c:       968.3 ( 1.00x)    969.6 ( 1.00x)    0.13%
blend_v_w4_16bpc_rvv:     281.2 ( 3.44x)    290.2 ( 3.34x)    3.20%
blend_v_w8_16bpc_c:      1809.5 ( 1.00x)   1812.1 ( 1.00x)    0.14%
blend_v_w8_16bpc_rvv:     374.2 ( 4.84x)    375.3 ( 4.83x)    0.29%
blend_v_w16_16bpc_c:     3479.7 ( 1.00x)   3480.9 ( 1.00x)    0.03%
blend_v_w16_16bpc_rvv:    521.5 ( 6.67x)    465.9 ( 7.47x)  -10.66%
blend_v_w32_16bpc_c:     6767.9 ( 1.00x)   6773.7 ( 1.00x)    0.09%
blend_v_w32_16bpc_rvv:    852.1 ( 7.94x)    727.4 ( 9.31x)  -14.63%

Blackhole p100a              Before             After         Delta

blend_w4_16bpc_c:       193.3 ( 1.00x)      191.3 ( 1.00x)   -1.03%
blend_w4_16bpc_rvv:      66.3 ( 2.91x)       65.4 ( 2.92x)   -1.36%
blend_w8_16bpc_c:       552.0 ( 1.00x)      549.8 ( 1.00x)   -0.40%
blend_w8_16bpc_rvv:     100.5 ( 5.49x)       96.2 ( 5.71x)   -4.28%
blend_w16_16bpc_c:     2112.5 ( 1.00x)     2111.8 ( 1.00x)   -0.03%
blend_w16_16bpc_rvv:    190.3 (11.10x)      185.9 (11.36x)   -2.31%
blend_w32_16bpc_c:     5417.5 ( 1.00x)     5416.2 ( 1.00x)   -0.02%
blend_w32_16bpc_rvv:    290.3 (18.66x)      304.0 (17.82x)    4.72%

blend_v_w2_16bpc_c:       205.6 ( 1.00x)    206.0 ( 1.00x)    0.19%
blend_v_w2_16bpc_rvv:     176.5 ( 1.16x)    143.6 ( 1.44x)  -18.64%
blend_v_w4_16bpc_c:       901.0 ( 1.00x)    891.8 ( 1.00x)   -1.02%
blend_v_w4_16bpc_rvv:     298.8 ( 3.02x)    235.2 ( 3.79x)  -21.29%
blend_v_w8_16bpc_c:      1663.3 ( 1.00x)   1656.5 ( 1.00x)   -0.41%
blend_v_w8_16bpc_rvv:     300.1 ( 5.54x)    236.4 ( 7.01x)  -21.23%
blend_v_w16_16bpc_c:     3192.1 ( 1.00x)   3182.3 ( 1.00x)   -0.31%
blend_v_w16_16bpc_rvv:    349.2 ( 9.14x)    311.4 (10.22x)  -10.82%
blend_v_w32_16bpc_c:     6259.2 ( 1.00x)   6257.8 ( 1.00x)   -0.02%
blend_v_w32_16bpc_rvv:    350.2 (17.88x)    321.8 (19.44x)   -8.11%
Edited by Nathan E. Egge

Merge request reports

Loading