RISC-V ISA Explorer · Float & Numerics (Zf*)

Zdinx: FP in Integer Regs (D)

Ratified 2021-11 · version 1.0.0

Double-precision arithmetic carried out in integer register pairs, so no separate FP register file is needed.

Typical use: Double precision with no separate FP register file

Specification

Open Zdinx in the explorer

Dependencies

Requires

Instructions (28)

MnemonicNameEncodingMatchMask
FADD.DFloating-Point Add Double-Precision0000001------------------10100110x20000530xfe00007f
FCLASS.DFloating-Point Classify Double-Precision111000100000-----001-----10100110xe20010530xfff0707f
FCVT.D.LFloating-Point Convert Long to Double-Precision110100100010-------------10100110xd22000530xfff0007f
FCVT.D.LUFloating-Point Convert Unsigned Long to Double-Precision110100100011-------------10100110xd23000530xfff0007f
FCVT.D.SFloating-Point Convert Single-Precision to Double-Precision010000100000-------------10100110x420000530xfff0007f
FCVT.D.WFloating-Point Convert Word to Double-Precision110100100000-------------10100110xd20000530xfff0007f
FCVT.D.WUFloating-Point Convert Unsigned Word to Double-Precision110100100001-------------10100110xd21000530xfff0007f
FCVT.L.DFloating-Point Convert Double-Precision to Long110000100010-------------10100110xc22000530xfff0007f
FCVT.LU.DFloating-Point Convert Double-Precision to Unsigned Long110000100011-------------10100110xc23000530xfff0007f
FCVT.S.DFloating-Point Convert Double-Precision to Single-Precision010000000001-------------10100110x401000530xfff0007f
FCVT.W.DFloating-Point Convert Double-Precision to Word110000100000-------------10100110xc20000530xfff0007f
FCVT.WU.DFloating-Point Convert Double-Precision to Unsigned Word110000100001-------------10100110xc21000530xfff0007f
FDIV.DFloating-Point Divide Double-Precision0001101------------------10100110x1a0000530xfe00007f
FEQ.DFloating-Point Equal Double-Precision1010001----------010-----10100110xa20020530xfe00707f
FLE.DFloating-Point Less Than or Equal Double-Precision1010001----------000-----10100110xa20000530xfe00707f
FLT.DFloating-Point Less Than Double-Precision1010001----------001-----10100110xa20010530xfe00707f
FMADD.DFloating-Point Multiply-Add Double-Precision-----01------------------10000110x20000430x600007f
FMAX.DFloating-Point Maximum-Number Double-Precision0010101----------001-----10100110x2a0010530xfe00707f
FMIN.DFloating-Point Minimum-Number Double-Precision0010101----------000-----10100110x2a0000530xfe00707f
FMSUB.DFloating-Point Multiply-Subtract Double-Precision-----01------------------10001110x20000470x600007f
FMUL.DFloating-Point Multiply Double-Precision0001001------------------10100110x120000530xfe00007f
FNMADD.DFloating-Point Negate-Multiply-Add Double-Precision-----01------------------10011110x200004f0x600007f
FNMSUB.DFloating-Point Negate-Multiply-Subtract Double-Precision-----01------------------10010110x200004b0x600007f
FSGNJ.DFloating-Point Sign-Inject Double-Precision0010001----------000-----10100110x220000530xfe00707f
FSGNJN.DFloating-Point Sign-Inject Negate Double-Precision0010001----------001-----10100110x220010530xfe00707f
FSGNJX.DFloating-Point Sign-Inject XOR Double-Precision0010001----------010-----10100110x220020530xfe00707f
FSQRT.DFloating-Point Square Root Double-Precision010110100000-------------10100110x5a0000530xfff0007f
FSUB.DFloating-Point Subtract Double-Precision0000101------------------10100110xa0000530xfe00007f