Is the FLQ offset encoded in multiples of 16 bytes?
No. offset is a signed 12-bit byte offset; natural alignment is an address property, not the encoding unit.
Load a 128-bit quad-precision floating-point bit pattern from memory into an FP register.
FLQ uses the I-type LOAD-FP encoding to load a 128-bit quad-precision floating-point bit pattern from the effective address x[rs1] plus a signed 12-bit byte offset into floating-point register f[rd]. The transfer performs no FP rounding, format conversion, or NaN payload canonicalization. The official Q extension guarantees FLQ access atomicity only when the effective address is naturally aligned and XLEN=128; misaligned access is constrained by the execution environment.
Shows the Q-extension FP load flow: decode the I-type encoding, form the address from an integer base plus a 12-bit offset, and transfer a 128-bit FP bit pattern.
The word is split as a I-type instruction; FP memory access is not an OP-FP arithmetic encoding.
FLQ transfers a 128-bit quad-precision bit pattern; the official Q extension guarantees access atomicity only for naturally aligned effective addresses when XLEN=128.
This animation shows only Q-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.
FLQ is the Q-extension quad-precision floating-point load. It forms the address from integer register rs1 plus a signed 12-bit byte offset, then loads a 128-bit quad-precision bit pattern into FP register rd; this is not FP arithmetic and does not use rm rounding.
Understand this scenario with real code like «flq f0, 0(x10) # load quad from [x10+0]».
Understand this scenario with real code like «flq f0, 0(x10) # load quad from [x10+0]».
No. offset is a signed 12-bit byte offset; natural alignment is an address property, not the encoding unit.
No. FLQ is a bit-pattern load, and the transfer does not canonicalize NaN payloads.