Is rs2 a source register in fcvt.q.h?
No. The assembly syntax has rd, rs1 only; the encoded rs2 field selects the source H FP format.
Convert half-precision FP to quad-precision FP; the widening conversion is exact, the assembly syntax has no rm operand, and software should encode rm as RNE (000).
Extension condition: Requires Q and half-precision support from either Zfh or Zfhmin; Q depends on D, and D depends on F. Extension filters find related instructions and do not by themselves describe a complete executable configuration.
fcvt.q.h reads a half-precision source value from FP register rs1, converts it to a quad-precision FP result, and writes FP register rd. In the OP-FP encoding, fmt=Q (11) denotes the destination format and rs2=H (10) denotes the source format; this widening conversion is exact and has no rm assembly operand.
Shows the Q + (Zfh or Zfhmin)-extension FCVT flow: decode OP-FP fields, fmt/rs2 conversion selection, an rm=000 encoding example, read the floating-point source, then write the floating-point destination.
The word is split as an R-type OP-FP instruction; FCVT uses opcode 1010011.
H-to-Q is a floating-point widening conversion; the current finite example is exact, does not need rm rounding, and leaves example fflags at 0.
H-to-Q is a floating-point widening conversion; the current finite example is exact, does not need rm rounding, and leaves example fflags at 0.
This animation shows only Q + (Zfh or Zfhmin)-extension FCVT ISA-visible encoding, source/destination register direction, rounding field, and example fflags; it does not model FPU pipelines, exception handling, NaN payloads, or microarchitecture.
fcvt.q.h is an FP-to-FP format conversion: rd and rs1 are FP registers, fmt encodes destination Q, and rs2 encodes source H. The widening conversion is exact, the assembly syntax has no rm operand, and software should encode rm as RNE (000).
Understand this scenario with real code like «fcvt.q.h f0, f1 # f0 = (quad-precision)(f1 as half-precision)».
Understand this scenario with real code like «fcvt.q.h f0, f1 # f0 = (quad-precision)(f1 as half-precision)».
No. The assembly syntax has rd, rs1 only; the encoded rs2 field selects the source H FP format.
It requires Q and half-precision support supplied by either Zfh or Zfhmin. Q depends on D, and D depends on F.
The assembly syntax has no rm operand and the exact widening result is unaffected by rounding mode; software should set the machine encoding's rm to RNE (000), while implementations still treat reserved values as reserved encodings.
In this form, both rd and rs1 are FP registers; W/WU/L/LU forms convert between integer and FP registers.