• Rémi Denis-Courmont's avatar
    lavc/flacdsp: do not assume maximum R-V VL · f8837465
    Rémi Denis-Courmont authored
    This loop correctly assumes that VLMAX=16 (4x128-bit vectors
    with 32-bit elements) and 32 >= pred_order > 16. We need to alternate
    between VL=16 and VL=t2=pred_order-16 elements to add up to pred_order.
    
    The current code requests AVL=a2=pred_order elements. In QEMU and on
    thte K230 hardware, this sets VL=16 as we need. But the specification
    merely guarantees that we get: ceil(AVL / 2) <= VL <= VLMAX. For
    instance, if pred_order equals 27, we could end up with VL=14 or VL=15
    instead of VL=16. So instead, request literally VLMAX=16.
    f8837465
flacdsp_rvv.S 14.2 KB