Do these floating-point instructions use vxrm?
No. Ordinary RVV floating-point operations and FP conversions use floating-point frm or an instruction-specified fixed rounding mode; vxrm is for fixed-point rounding instructions.
Widen vs2 narrow float elements and ordered-sum reduce to wide vd[0]; vs1[0] initial.
VFWREDOSUM.VS performs widening vector floating-point reduction, writing the reduction result to vd[0] with vs1[0] as the initial value. Ordered sum reduces in element order for a defined rounding path. Vector FP32/FP64 operation requires the corresponding scalar F/D support; FP16 is controlled by the relevant vector half-precision extensions; do not assume the base V extension includes half-precision arithmetic.
VFWREDOSUM.VS is a reduction instruction: multiple active elements are combined into a scalar-like result in element 0 of a vector register.
Understand this scenario with real code like «vsetvli t0, a0, e16, m1, ta, ma vfmv.s.f v2, ft0 vfwredosum.vs v2, v4, v2, vm».
Understand this scenario with real code like «vsetvli t0, a0, e16, m1, ta, ma vfmv.s.f v2, ft0 vfwredosum.vs v2, v4, v2, vm».
No. Ordinary RVV floating-point operations and FP conversions use floating-point frm or an instruction-specified fixed rounding mode; vxrm is for fixed-point rounding instructions.