RISC-V ISA Explorer · Single-Letter Extensions

D: Double-Precision Float (64-bit)

Ratified 2019-12 · version 2.2.0

Double-precision IEEE 754 arithmetic on 64-bit floating-point registers, building on the F extension.

Typical use: Numerical code that needs 64-bit precision

Specification

Open D in the explorer

Dependencies

Requires

Required by

Instructions (32)

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
FLDFloating-Point Load Double-Precision-----------------011-----00001110x30070x707f
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
FMV.D.XFloating-Point Move Double-Precision from Integer Register111100100000-----000-----10100110xf20000530xfff0707f
FMV.X.DFloating-Point Move Double-Precision to Integer Register111000100000-----000-----10100110xe20000530xfff0707f
FNMADD.DFloating-Point Negate-Multiply-Add Double-Precision-----01------------------10011110x200004f0x600007f
FNMSUB.DFloating-Point Negate-Multiply-Subtract Double-Precision-----01------------------10010110x200004b0x600007f
FSDFloating-Point Store Double-Precision-----------------011-----01001110x30270x707f
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