Does FSD convert the floating-point data?
No. FSD writes the 64-bit bit pattern from the source FP register to memory without rounding or format conversion.
Store 64-bit double-precision FP from f register to memory.
FSD uses the S-type STORE-FP encoding to store the 64-bit double-precision floating-point bit pattern from f[rs2] to the effective address x[rs1] plus a signed 12-bit byte offset. The transfer performs no FP rounding and does not modify or canonicalize NaN payloads. FSD access atomicity is guaranteed by the official D-extension rule only when the effective address is naturally aligned and XLEN is at least 64; misaligned access is constrained by the execution environment.
Shows the D-extension FP store flow: decode the S-type encoding, form the address from an integer base plus a 12-bit offset, and transfer a 64-bit FP bit pattern.
The word is split as a S-type instruction; FP memory access is not an OP-FP arithmetic encoding.
FSD transfers a 64-bit double-precision bit pattern; atomicity of naturally aligned access and misaligned handling follow the official spec and execution environment.
This animation shows only D-extension FP load/store ISA-visible address calculation and bit-pattern transfer; it does not model caches, buses, trap handlers, FPU pipelines, or microarchitectural timing.
FSD is the D-extension double-precision floating-point store. It computes the address from an integer base and a 12-bit byte offset, then writes the 64-bit double-precision bit pattern from f[rs2] to memory; it is not FP arithmetic and has no rm rounding step.
Understand this scenario with real code like «fsd f0, 0(x10)».
No. FSD writes the 64-bit bit pattern from the source FP register to memory without rounding or format conversion.
No. rs1 is an integer register; rs2 is the FP register that supplies the data.