summaryrefslogtreecommitdiffstats
path: root/gcc/config/i960
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-27 22:23:12 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-27 22:23:12 +0000
commit4712c7d6025fc9dec8723012535d7a24f8aa8506 (patch)
tree2ce9927ec32f655ae24af08763c7f453ed92da21 /gcc/config/i960
parent0814fb519110120ae530ab3c5cad3f9db97d2bda (diff)
downloadppe42-gcc-4712c7d6025fc9dec8723012535d7a24f8aa8506.tar.gz
ppe42-gcc-4712c7d6025fc9dec8723012535d7a24f8aa8506.zip
* i960.md (ret): Set PC.
(nonlocal_goto): Fix expander. * builtins.c (epxand_builin_longjmp): Check that we've emitted some jump or call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51478 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i960')
-rw-r--r--gcc/config/i960/i960.md5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/config/i960/i960.md b/gcc/config/i960/i960.md
index 80e4efaed62..5755598345f 100644
--- a/gcc/config/i960/i960.md
+++ b/gcc/config/i960/i960.md
@@ -2365,8 +2365,7 @@
;; stack pointer, frame pointer, previous frame pointer and the return
;; instruction pointer.
(define_insn "ret"
- [(use (reg:SI 16))
- (unspec_volatile [(const_int 0)] 3)]
+ [(set (pc) (unspec_volatile [(reg:SI 16)] 3))]
""
"ret"
[(set_attr "type" "branch")
@@ -2424,7 +2423,7 @@
because we are very careful to ret from the exact save area in
use during the original call. */
- emit_insn (gen_ret ());
+ emit_jump_insn (gen_ret ());
emit_barrier ();
DONE;
}")
OpenPOWER on IntegriCloud