• Rémi Denis-Courmont's avatar
    lavc/opusdsp: simplify R-V V postfilter · db32f75c
    Rémi Denis-Courmont authored
    This skips the round-trip to scalar register for the sliding 'x'
    coefficients, improving performance by about 5%. The trick here is that
    the vector slide-up instruction preserves elements in destination vector
    until the slide offset.
    
    The switch from vfslide1up.vf to vslideup.vi also allows the elimination
    of data dependencies on consecutive slides. Since the specifications
    recommend sticking to power of two offsets, we could slide as follows:
    
            vslideup.vi v8, v0, 2
            vslideup.vi v4, v0, 1
            vslideup.vi v12, v8, 1
            vslideup.vi v16, v8, 2
    
    However in the device under test, this seems to make performance slightly
    worse, so this is left for (in)validation with future better hardware.
    db32f75c
opusdsp_rvv.S 1.98 KB