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.
Multiply corresponding float elements of vs2 and vs1, writing to vd.
VFMUL.VV performs vector floating-point multiply. Results follow IEEE 754/RVV floating-point rules; source and destination elements use the current SEW. 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.
The key property of VFMUL.VV is fused semantics: the product is not rounded before the add/subtract, so it is not equivalent to a separately rounded MUL followed by ADD.
Understand this scenario with real code like «vsetvli t0, a0, e32, m1, ta, ma vfmul.vv v1, v2, v3 # v1[i] = v2[i] * v3[i]».
Understand this scenario with real code like «vsetvli t0, a0, e32, m1, ta, ma vfmul.vv v1, v2, v3 # v1[i] = v2[i] * v3[i]».
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.