Sep 27, 2022, 22:04 by r...@remlab.net:

> Hello,
>
> As a general rule, scalable vector instruction sets should be used with the
> largest possible vector length. There are however a number of operations that
> just happen with a fixed size, and this patchset exhibits the simplest one I
> could find. The proper RISC-V Vector extension guarantees a minimum vector
> length of 128 bits. In theory though the underlying specification also allows
> for (embedded designs with) only 32 or 64 bits per vector.
>
> The RFC is how should this be dealt with? The simplest possibibility is to
> simply assume 128 bits. Indeed, I am not aware of any actual or proposed
> processor IP with shorter-than-128-bit vectors, even less so, one upon which
> FFmpeg would be used. For what it is worth, ARM SVE guarantees a minimum of
> 128 bits per vector too. In that case, we can drop the first patch, and
> simplify the following ones.
>
> Another option is to expose the vector length via the CPU flags as proposed
> earlier by Lynne. Though this is unorthodox the vector length is not a proper
> flag. The vector length can readily be retrieved from a read-only unprivileged
> CSR, and this patchset instead introduces a simple inline wrapper therefore.
> The downside of this approach is that this is nominally undefined behaviour,
> and typically will raise a SIGILL, if the processor does not support the
> vector extension.
>

Where's the undefined behavior? If it's guarded by an if, the
function will return the maximum length. I don't mind that it's not
a cpuflag.

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to