fence.tso

Orders memory operations. `fence.tso` orders all load operations in its predecessor set before all memory operations in its successor set, and all store operations in its predecessor set before all store operations in its successor set. This leaves non-AMO store operations in the 'fence.tso's predecessor set unordered with non-AMO loads in its successor set. The `xs1` and `xd` fields are unused and ignored. In modes other than M-mode, `fence.tso` is further affected by `menvcfg.FIOM`, `senvcfg.FIOM`<% if ext?(:H) %>, and/or `henvcfg.FIOM`<% end %>.

Synopsis

fence.tso

Encoding

Type:

067111214151920310001111xd000xs1100000110011
funct7: 1000001
funct3: 000
opcode: 0001111

RISC-V Instruction Encoder/Decoder

open fence.tso in rvcodecjs

Availability