Home/Instructions/VSLIDE1DOWN-VX
VSLIDE1DOWN.VX

RISC-V VSLIDE1DOWN.VX Instruction Details

Instruction ManualR-type

Slide vector elements toward lower indexes and insert a scalar.

Instruction Syntax

vslide1down.vx vd, vs2, rs1, vm
Operand Breakdown
Destination rd: register receiving the operation result.
Source rs1: register holding the first operand.
Source rs2: register holding the second operand.
VVector PermutationSlide

Instruction Behavior

VSLIDE1DOWN.VX moves vs2 elements by offset 1 toward lower indexes into vd. The boundary element is filled from scalar x[rs1].

Quick Understanding & Search Notes

VSLIDE1DOWN.VX moves element positions within a vector register, useful for windows, shift-register patterns, and boundary insertion.

VSLIDE1DOWN writes vs2[i+1] to vd[i] and inserts the scalar into vd[vl-1].
The instruction may be masked; mask element i controls whether destination element i is written.
If vstart>=vl or vl=0, no destination update is performed.

Common Usage Scenarios

Data Shift

Understand this scenario with real code like «vslide1down.vx v8, v12, x5, v0.t».

Convolution

Understand this scenario with real code like «vslide1down.vx v8, v12, x5, v0.t».

Shift Register

Understand this scenario with real code like «vslide1down.vx v8, v12, x5, v0.t».

Pre-Use Checklist

Syntax Check
  • Confirm the current instruction format is R-type.
  • Confirm the operand order matches the example.
Semantic Check
  • Ensure the destination register usage is compatible with the calling convention.
  • Confirm this is not the lower-level form of a pseudo-instruction expansion.

Pitfalls / Common Confusions

If vstart>=vl or vl=0, the destination is not updated.
The scalar x[rs1] is inserted at vd[vl-1], not vd[0].
When XLEN and SEW differ, the inserted scalar is sign-extended or low-bit truncated by the official rule.

FAQ

Is VSLIDE1DOWN.VX a memory move?

No. It moves data among vector-register elements and does not access memory.