@@ -62,6 +62,21 @@ defm SSAMOSWAP_W : AMO_rr_aq_rl<0b01001, 0b010, "ssamoswap.w">;
6262let Predicates = [HasStdExtZicfiss, IsRV64] in
6363defm SSAMOSWAP_D : AMO_rr_aq_rl<0b01001, 0b011, "ssamoswap.d">;
6464
65+ let Predicates = [HasStdExtZimop] in {
66+ let hasSideEffects = 1, mayLoad = 0, mayStore = 1 in
67+ def PseudoMOP_SSPUSH : Pseudo<(outs), (ins GPRX1X5:$rs2), []>,
68+ PseudoInstExpansion<(MOP_RR_7 X0, X0, GPR:$rs2)>;
69+ let hasSideEffects = 1, mayLoad = 1, mayStore = 0 in
70+ def PseudoMOP_SSPOPCHK : Pseudo<(outs), (ins GPRX1X5:$rs1), []>,
71+ PseudoInstExpansion<(MOP_R_28 X0, GPR:$rs1)>;
72+ } // Predicates = [HasStdExtZimop]
73+
74+ let Predicates = [HasStdExtZcmop] in {
75+ let Uses = [X1], hasSideEffects = 1, mayLoad = 0, mayStore = 1 in
76+ def PseudoMOP_C_SSPUSH : Pseudo<(outs), (ins), []>,
77+ PseudoInstExpansion<(C_MOP_1)>;
78+ } // Predicates = [HasStdExtZcmop]
79+
6580//===----------------------------------------------------------------------===/
6681// Compress Instruction tablegen backend.
6782//===----------------------------------------------------------------------===//
0 commit comments