What is the offset unit for c.fsw?
The encoded immediate is scaled by access width: 8 bytes for double-precision and 4 bytes for single-precision.
Store SP FP to memory. CS format, RV32FC.
c.fsw in RV32FC, stores the 32-bit single-precision value from fs2' to rs1' plus a zero-extended offset scaled by 4.
Shows only manual-defined 16-bit fields, operands, and ISA-visible results; it does not model a pipeline, cache, timing, or an implementation's memory-fault handling.
The store transfers 32 bits; with a wider FLEN, FSW transfers the low 32 bits and ignores upper bits, while FSD transfers the low 64 bits. Transfers do not modify NaN payloads.
Naturally aligned accesses do not raise an address-misaligned exception; whether a misaligned access completes or raises an address-misaligned/access-fault exception is EEI-defined. This control displays only the selected outcome branch.
c.fsw in RV32FC, stores the 32-bit single-precision value from fs2' to rs1' plus a zero-extended offset scaled by 4.
Understand this scenario with real code like «c.fsw f8, 0(x10)».
The encoded immediate is scaled by access width: 8 bytes for double-precision and 4 bytes for single-precision.
Yes. Double-precision forms require D, single-precision forms require F, and all require C.