- Synopsis
-
Store indexed double-precision floating point value.
- Mnemonic
-
th.fsrd rd, rs1, rs2, imm2
- Encoding
{reg:[ { bits: 7, name: 0xb, attr: ['custom-0, 32 bit'] }, { bits: 5, name: 'rd' }, { bits: 3, name: 0x7, attr: ['FMem-Store'] }, { bits: 5, name: 'rs1' }, { bits: 5, name: 'rs2' }, { bits: 2, name: 'imm2' }, { bits: 5, name: 0x0c }, ]}
- Description
-
This instruction stores a double-precision floating point value from the FP register rd to the address rs1 + (rs2 << imm2).
- Operation
addr := rs1 + (rs2 << imm2)
fmem[addr+7:addr] := rd
- Permission
-
This instruction can be executed in all privilege levels.
- Exceptions
-
This instruction triggers the same exceptions that two corresponding
FSD
instructions would trigger. - Included in
Extension |
---|
XTheadFMemIdx ([xtheadfmemidx]) |