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 %>.
fence.tso
Type: