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

RISC-V VSLIDE1DOWN.VX 指令详解

指令手册R-type

向低索引方向滑动向量元素并插入标量。

指令语法

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

指令行为说明

VSLIDE1DOWN.VX 将 vs2 元素按偏移 1 向低索引方向移动到 vd。边界元素由标量 x[rs1] 填入。

快速理解与检索要点

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

vslide1down 把 vs2[i+1] 写入 vd[i],并把标量插入 vd[vl-1]。
该指令可带掩码;掩码元素 i 控制目的元素 i 是否写入。
vstart>=vl 或 vl=0 时不执行更新。

常见使用场景

数据移位

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

卷积

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

移位寄存器

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

使用前检查清单

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

容易混淆 / 常见误区

vstart>=vl 或 vl=0 时不更新目的寄存器。
标量 x[rs1] 插入到 vd[vl-1],不是 vd[0]。
XLEN 与 SEW 不同时,插入值按官方规则符号扩展或截取低位。

常见问题

VSLIDE1DOWN.VX 是内存移动吗?

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