riscv64/mc: Add emu_edge function
I'm still working on VLEN>=256bits
K230:
checkasm: VLEN=128 bits, using random seed 42
RVV:
- mc_8bpc.emu_edge [OK]
checkasm: all 6 tests passed
emu_edge_w4_8bpc_c: 638.8 ( 1.00x)
emu_edge_w4_8bpc_rvv: 211.9 ( 3.01x)
emu_edge_w8_8bpc_c: 944.4 ( 1.00x)
emu_edge_w8_8bpc_rvv: 230.0 ( 4.11x)
emu_edge_w16_8bpc_c: 1447.9 ( 1.00x)
emu_edge_w16_8bpc_rvv: 287.6 ( 5.03x)
emu_edge_w32_8bpc_c: 3047.0 ( 1.00x)
emu_edge_w32_8bpc_rvv: 775.8 ( 3.93x)
emu_edge_w64_8bpc_c: 5440.1 ( 1.00x)
emu_edge_w64_8bpc_rvv: 1504.2 ( 3.62x)
emu_edge_w128_8bpc_c: 12943.4 ( 1.00x)
emu_edge_w128_8bpc_rvv: 4782.5 ( 2.71x)
Spacemit K1:
checkasm: VLEN=256 bits, using random seed 42
RVV:
- mc_8bpc.emu_edge [OK]
checkasm: all 6 tests passed
emu_edge_w4_8bpc_c: 562.4 ( 1.00x)
emu_edge_w4_8bpc_rvv: 202.6 ( 2.78x)
emu_edge_w8_8bpc_c: 695.0 ( 1.00x)
emu_edge_w8_8bpc_rvv: 220.1 ( 3.16x)
emu_edge_w16_8bpc_c: 1271.2 ( 1.00x)
emu_edge_w16_8bpc_rvv: 251.3 ( 5.06x)
emu_edge_w32_8bpc_c: 2772.4 ( 1.00x)
emu_edge_w32_8bpc_rvv: 587.8 ( 4.72x)
emu_edge_w64_8bpc_c: 4917.2 ( 1.00x)
emu_edge_w64_8bpc_rvv: 1115.0 ( 4.41x)
emu_edge_w128_8bpc_c: 12634.6 ( 1.00x)
emu_edge_w128_8bpc_rvv: 3232.6 ( 3.91x)
Edited by Sungjoon Moon