先看 vl
当前 vl 决定 body 元素数量。典型代码会先执行 vsetvli、vsetivli 或 vsetvl,再执行本页指令。
以 x[rs1] 为基址,使用 vs2 中 32 位无符号字节偏移把 vs3 活动元素执行无序 indexed store。
VSUXEI32.V 是 RISC-V V 扩展的无序索引向量存储指令。每个活动元素使用 x[rs1] + zero_extend(vs2[i]) 形成地址,并把 vs3[i] 的当前 SEW 位数据写入该地址;ei32 只规定索引 EEW=32。无序形式不保证 store 按元素编号顺序被观察。vm=0 时 v0.t 关闭的元素不写内存。
从编码字段解析 32 位索引存储,再逐元素计算 x[rs1] + zero_extend(vs2[i])。
动画从 32 位向量内存指令编码开始,按官方位段显示 nf、mew、mop、vm、rs2/vs2 或 lumop/sumop、width、寄存器字段和 opcode。
VSUXEI32.V 是无序索引 RVV 存储指令,内存写入只发生在活动且未被掩码关闭的元素上。
阅读 VSUXEI32.V 时,不要只看助记符。官方 V 扩展语义还依赖当前 vl、vtype 和掩码状态。后缀和操作数形式决定源操作数来自向量、标量还是立即数。
当前 vl 决定 body 元素数量。典型代码会先执行 vsetvli、vsetivli 或 vsetvl,再执行本页指令。
当前 vtype 提供 SEW、LMUL、tail policy 和 mask policy;这些规则影响元素宽度、寄存器组大小以及非活动/尾部目标元素。
带 vm 的普通向量指令在 vm=0 时用 v0 作为执行掩码,vm=1 表示未掩码。VMERGE 等少数形式会把 v0 当作数据选择输入。
结合 «vsuxei32.v v8, (a0), v4, v0.t» 等实际代码理解该场景。
结合 «vsuxei32.v v8, (a0), v4, v0.t» 等实际代码理解该场景。
结合 «vsuxei32.v v8, (a0), v4, v0.t» 等实际代码理解该场景。
索引值是无符号字节偏移,不是元素序号。