Is rd a floating-point register for FLE.H?
No. rd is an integer register holding the Boolean result 0 or 1.
half-precision floating-point less-or-equal compare; writes x[rd]=1 when true, otherwise 0.
FLE.H compares the half-precision floating-point values in f[rs1] and f[rs2] and writes the Boolean result to integer register rd. The encoding uses the OP-FP opcode, funct5=10100, fmt=H(10), and funct3=000; it is a signaling comparison that sets NV for any NaN, and any NaN operand makes the result 0.
Shows the Zfh-extension half-precision OP-FP flow: decode fields, read FP operands, perform FLE semantics, then write rd.
The word is split as an R-type OP-FP instruction; half-precision OP-FP instructions use opcode 1010011.
The comparison result is written to integer register x[rd] and is only 0 or 1; compare instructions do not use rm.
The comparison result is written to integer register x[rd] and is only 0 or 1; compare instructions do not use rm.
This animation shows only Zfh-extension ISA-visible OP-FP encoding, example numeric results, and fflags relationship; it does not model FPU pipelines, latency, every IEEE 754 corner case, or microarchitecture.
FLE.H writes the half-precision FP comparison result to integer register x[rd]; the result is only 0 or 1.
Understand this scenario with real code like «fle.h x10, f0, f1 # x10 = (f0<=f1)».
Understand this scenario with real code like «fle.h x10, f0, f1 # x10 = (f0<=f1)».
No. rd is an integer register holding the Boolean result 0 or 1.
Any NaN operand makes the result 0 and sets NV.
No. The funct3 field selects the comparison type, and the result is an integer Boolean.