转载自:【《RISC-V “V“ Vector Extension Version 1.0》阅读笔记】_risc v的rvv-CSDN博客
?上述指令的作用:快速配置 vl 和 vtype 中的值以匹配应用程序需求;
?vset{i}vl{i} 指令根据参数设置 vtype 和 vl CSR,并将 vl 的新值写入 rd。
VLMAX的计算
VL的约束
vset{i}vl{i} 指令首先根据它们的 vtype 参数设置 VLMAX,然后设置 vl 遵守以下约束:
如果 AVL ≤ VLMAX,则 vl = AVL
ceil(AVL / 2) ≤ vl ≤ VLMAX 如果 AVL < (2 * VLMAX)
如果 AVL ≥ (2 * VLMAX),则 vl = VLMAX
对相同输入 AVL 和 VLMAX 值的任何给定实现具有确定性
这些特定属性遵循先前的规则:
? ????????a. 如果 AVL = 0,则 vl = 0
? ????????b. vl > 0 如果 AVL > 0
? ????????c. vl ≤ VLMAX
? ????????d. vl ≤ AVL
? ????????e. 从 vl 读取的值用作 vset{i}vl{i} 的 AVL 参数时会在 vl 中产生相同的值,前提是结果 VLMAX 等于读取 vl 时的 VLMAX 值。