• Rémi Denis-Courmont's avatar
    lavc/audiodsp: RISC-V F vector_clipf · 04d092e7
    Rémi Denis-Courmont authored
    RV64G supports MIN & MAX instructions natively only on floating point
    registers, not general purpose ones. The later would require the Zbb
    extension. Due to that, it is actually faster to perform the clipping
    "properly" in FPU.
    
    Benchmarks on SiFive U74-MC (courtesy of Shanghai StarFive Tech):
    audiodsp.vector_clipf_c: 29551.5
    audiodsp.vector_clipf_rvf: 17871.0
    
    Also tried unrolling with 2 or 8 elements but it gets worse either way.
    04d092e7
audiodsp_rvf.S 1.48 KB