Does C.MOP.5 write a register by default?
No. The official Zcmop rule says C.MOP.n writes no register by default.
A nullary 16-bit Zcmop MOP with no base register write; active Zicfiss uses this encoding for C.SSPOPCHK x5.
The recommended syntax c.mop.5 has no explicit operands; its 16-bit encoding is fixed to 0110001010000001, with no variable register or immediate field.
Zcmop 1.0 depends on Zca; base behavior writes no register, and a redefinition may use implicit x5.
When Zicfiss is implemented and active for the current privilege mode, this encoding is C.SSPOPCHK x5; otherwise base Zcmop behavior applies.
C.MOP.5 has fixed 16-bit encoding 0110001010000001; its assembly syntax has no explicit operands.
C.MOP.5 is a compressed may-be-operation in Zcmop 1.0, which depends on Zca. The recommended syntax c.mop.5 has no explicit operands, and base behavior writes no register. A redefinition may use implicit x5: when Zicfiss is implemented and active for the current privilege mode, this encoding is C.SSPOPCHK x5; otherwise it reverts to base Zcmop behavior.
c.mop.5 has no explicit operands. Distinguish base Zcmop behavior, which writes no register, from the C.SSPOPCHK x5 redefinition under active Zicfiss.
Understand this scenario with real code like «c.mop.5».
Understand this scenario with real code like «c.mop.5».
No. The official Zcmop rule says C.MOP.n writes no register by default.
x5, which a redefinition may read. Implemented and active Zicfiss uses this encoding for C.SSPOPCHK x5; otherwise base Zcmop behavior applies.