+2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
+
+ * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
+ * config/nds32/nds32.md (pop25return): New.
+ * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
+ pop25return pattern.
+
2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
* doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
UNSPEC_VOLATILE_MTUSR
UNSPEC_VOLATILE_SETGIE_EN
UNSPEC_VOLATILE_SETGIE_DIS
+ UNSPEC_VOLATILE_POP25_RETURN
])
;; ------------------------------------------------------------------------
nds32_emit_stack_v3pop (Rb, Re,
GEN_INT (14), GEN_INT (0));
}
+
+ /* Generate return instruction. */
+ emit_jump_insn (gen_pop25return ());
}
/* ------------------------------------------------------------------------ */
(set_attr "length" "4")])
;; ----------------------------------------------------------------------------
+
+;; Pseudo NOPs
+
+(define_insn "pop25return"
+ [(return)
+ (unspec_volatile:SI [(reg:SI LP_REGNUM)] UNSPEC_VOLATILE_POP25_RETURN)]
+ ""
+ "! return for pop 25"
+ [(set_attr "length" "0")]
+)
+
+;; ----------------------------------------------------------------------------