这些浮点指令使用 vxrm 吗?
不使用。普通 RVV 浮点运算和浮点转换使用浮点舍入模式 frm 或指令指定的固定舍入;vxrm 用于定点舍入指令。
将vs2活动元素的浮点值有序归约求和到vd[0],vs1[0]为初始值。
VFREDOSUM.VS 执行向量浮点归约,只把归约结果写入 vd[0],vs1[0] 提供初始值。有序求和按元素顺序归约,适合需要确定舍入路径的场景。 向量 FP32/FP64 操作需要实现相应标量 F/D 支持;FP16 由相应的向量半精度扩展控制;不要假定基础 V 扩展自动包含半精度算术。
VFREDOSUM.VS 是归约指令:多个活动元素合成为一个标量样结果,目标是向量寄存器的元素 0。
结合 «vsetvli t0, a0, e32, m1, ta, ma vfmv.s.f v1, ft0 # init with 0.0 vfredosum.vs v1, v2, v1 # v1[0] = sum(v2), vm» 等实际代码理解该场景。
结合 «vsetvli t0, a0, e32, m1, ta, ma vfmv.s.f v1, ft0 # init with 0.0 vfredosum.vs v1, v2, v1 # v1[0] = sum(v2), vm» 等实际代码理解该场景。
不使用。普通 RVV 浮点运算和浮点转换使用浮点舍入模式 frm 或指令指定的固定舍入;vxrm 用于定点舍入指令。