Commit aa2642ef by Chung-Ju Wu Committed by Chung-Ju Wu

[NDS32] Fix wrong data flow when building nds32 target with --enable-checking=yes.

gcc/
	* 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.

From-SVN: r219710
parent f959367e
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,
-mforbid-fp-as-gp, and -mex9 options.
......
......@@ -41,6 +41,7 @@
UNSPEC_VOLATILE_MTUSR
UNSPEC_VOLATILE_SETGIE_EN
UNSPEC_VOLATILE_SETGIE_DIS
UNSPEC_VOLATILE_POP25_RETURN
])
;; ------------------------------------------------------------------------
......@@ -3449,6 +3449,9 @@ nds32_expand_epilogue_v3pop (void)
nds32_emit_stack_v3pop (Rb, Re,
GEN_INT (14), GEN_INT (0));
}
/* Generate return instruction. */
emit_jump_insn (gen_pop25return ());
}
/* ------------------------------------------------------------------------ */
......
......@@ -2253,3 +2253,15 @@ create_template:
(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")]
)
;; ----------------------------------------------------------------------------
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment