首页/指令库/VSLIDEDOWN-VX
VSLIDEDOWN.VX

RISC-V VSLIDEDOWN.VX 指令详解

指令手册R-type

向低索引方向滑动向量元素。

指令语法

vslidedown.vx vd, vs2, rs1, vm
操作数说明
目标寄存器 rd:存放运算结果的通用寄存器。
源寄存器 rs1:第一个操作数寄存器。
源寄存器 rs2:第二个操作数寄存器。
V向量重排/索引排列操作

指令行为说明

VSLIDEDOWN.VX 将 vs2 元素按偏移 x[rs1] 向低索引方向移动到 vd。源索引超出 VLMAX 时目标元素写零。

快速理解与检索要点

VSLIDEDOWN.VX 用于在一个向量寄存器内移动元素位置,常见于窗口、移位寄存器和边界拼接。

vslidedown 从更高编号源元素读取:vd[i] = vs2[i+OFFSET]。
源索引越过 VLMAX 时写入 0。
该指令可带掩码;非活动和尾部元素遵循当前策略。

常见使用场景

数据移位

结合 «vslidedown.vx v8, v12, x5, v0.t» 等实际代码理解该场景。

卷积

结合 «vslidedown.vx v8, v12, x5, v0.t» 等实际代码理解该场景。

移位寄存器

结合 «vslidedown.vx v8, v12, x5, v0.t» 等实际代码理解该场景。

使用前检查清单

语法检查
  • 确认当前指令格式为 R-type。
  • 确认操作数排列顺序与示例一致。
语义检查
  • 确认目标寄存器用途和调用约定兼容。
  • 确认该指令不是伪指令展开后的底层形式。

容易混淆 / 常见误区

OFFSET 来自 x[rs1];XLEN>SEW 时不会截断到 SEW。
当 i+OFFSET >= VLMAX 时,结果元素取 0。
与 vslideup 不同,vslidedown 没有目的/源不重叠限制。

常见问题

VSLIDEDOWN.VX 是内存移动吗?

不是。它在向量寄存器元素之间移动数据,不访问内存。