Commit 8dcb5295 by Richard Henderson Committed by Richard Henderson

sparc.md (jump): Don't use the annul bit around an empty loop.

* sparc.md (jump): Don't use the annul bit around an empty loop.
Patch from Kevin.Kelly@East.Sun.COM.

From-SVN: r17124
parent a99503b1
Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
* sparc.md (jump): Don't use the annul bit around an empty loop.
Patch from Kevin.Kelly@East.Sun.COM.
Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
* jump.c: (optimize_jump): Don't use the return register as a
......
......@@ -5014,7 +5014,21 @@
(define_insn "jump"
[(set (pc) (label_ref (match_operand 0 "" "")))]
""
"b%* %l0%("
"*
{
/* Some implementations are reported to have problems with
foo: b,a foo
i.e. an empty loop with the annul bit set. The workaround is to use
foo: b foo; nop
instead. */
if (flag_delayed_branch
&& (insn_addresses[INSN_UID (operands[0])]
== insn_addresses[INSN_UID (insn)]))
return \"b %l0%#\";
else
return \"b%* %l0%(\";
}"
[(set_attr "type" "uncond_branch")])
(define_expand "tablejump"
......
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