SSAMOSWAP.W is not a Zimop/Zcmop MOP-compatible no-op; failure of the manual's listed SSE or S-mode conditions raises an illegal-instruction or virtual-instruction exception, while an M-mode memory access raises a store/AMO access-fault.
Zicfiss depends on the Zicsr, Zimop, and Zaamo extensions.
Activating Zicfiss in M-mode is not supported, and U-mode use requires S-mode to be implemented.
SSAMOSWAP.W's rs1 address must be naturally aligned to the word's four-byte width; if it is not naturally aligned, the same exception options as A-extension AMOs apply.
It is an AMO-like operation with aq/rl release-consistency semantics; do not treat it as an ordinary load/store.
The accessed memory must be idempotent; non-idempotent memory or insufficient PMP read/write permission raises a store/AMO access-fault. SSAMOSWAP.W additionally requires AMOSwap-level PMA support.
On RV64, SSAMOSWAP.W sign-extends the loaded 32-bit old value to rd; .D is RV64-only.