首页/指令库/VREDXOR-VS
VREDXOR.VS

RISC-V VREDXOR.VS 指令详解

指令手册R-type

把活动元素和标量初值归约为按位异或结果。

指令语法

vredxor.vs vd, vs2, vs1, vm
操作数说明
目标寄存器 rd:存放运算结果的通用寄存器。
源寄存器 rs1:第一个操作数寄存器。
源寄存器 rs2:第二个操作数寄存器。
V向量归约操作

指令行为说明

VREDXOR.VS 使用 vs1[0] 作为标量初值,对 vs2 中活动元素执行按位异或归约,并把结果写入 vd[0]。

快速理解与检索要点

VREDXOR.VS 是单宽整数归约指令,结果集中到目标向量寄存器的第 0 个元素。

vs1[0] 提供归约初值,不是逐元素第二向量源。
只有活动元素参与归约;掩码关闭的元素不参与运算。
归约结果写入 vd[0],其他目标元素按尾部策略处理。

常见使用场景

全局聚合

结合 «vredxor.vs v8, v12, v4, v0.t» 等实际代码理解该场景。

数据归一化

结合 «vredxor.vs v8, v12, v4, v0.t» 等实际代码理解该场景。

条件判断

结合 «vredxor.vs v8, v12, v4, v0.t» 等实际代码理解该场景。

使用前检查清单

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

容易混淆 / 常见误区

标量vs1[0]始终参与(无论掩码)
结果仅在元素0
vstart必须为0

常见问题

VREDXOR.VS 会把每个元素都写成归约结果吗?

不会。整数归约的有效结果写在 vd[0],不是逐元素广播。