vslide1up
变量只能滑动一个元素,但也支持插入一个标量整型数字在空位。
vslide1up.vx vd, vs2, rs1, vm # vd[0] = x[rs1], vd[i+1] = vs2[i]
vslide1up指令把 x 寄存器的参数放在目标向量寄存器的0号位,需要保证0号元素是激活的,否则遵循当前的 mask agnostic/undisturbed 策略。
如果 XLEN < SEW,值会被符号扩展到 SEW 个 bits。
如果 XLEN > SEW,取低位,忽略高位。
剩下的活跃 vl - 1 个元素从下标为 i 的源向量寄存器组复制到下标为 i+1 的目标向量寄存器组。
vl 寄存器指定了目标向量寄存器会被源寄存器覆盖最多多少,剩下超过 vl 的部分会根据当前的 tail policy 处理。