aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-03-07 10:50:26 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-03-07 10:50:26 -0800
commit6e4874924886d039c2b6a0195ae68494770f0a5a (patch)
tree4e3d0e4b020118177b661be736ba4ca0c0d3d8ea /gcc
parent232f749bbc7017ae00943a6ba87ef151276dff3e (diff)
downloadgcc-6e4874924886d039c2b6a0195ae68494770f0a5a.zip
gcc-6e4874924886d039c2b6a0195ae68494770f0a5a.tar.gz
gcc-6e4874924886d039c2b6a0195ae68494770f0a5a.tar.bz2
* config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
From-SVN: r40297
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/alpha/alpha.md14
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d2e1460..4e55b27 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2001-03-07 Richard Henderson <rth@redhat.com>
+ * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
+
+2001-03-07 Richard Henderson <rth@redhat.com>
+
* emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
of block notes and exception handling notes.
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index 475e9d6..01462c9 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -4276,6 +4276,20 @@
}
}")
+(define_insn "*call_osf_1_noreturn"
+ [(call (mem:DI (match_operand:DI 0 "call_operand" "c,R,i"))
+ (match_operand 1 "" ""))
+ (clobber (reg:DI 27))
+ (clobber (reg:DI 26))]
+ "! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS
+ && find_reg_note (insn, REG_NORETURN, NULL_RTX)"
+ "@
+ jsr $26,($27),0
+ bsr $26,$%0..ng
+ jsr $26,%0"
+ [(set_attr "type" "jsr")
+ (set_attr "length" "*,*,8")])
+
(define_insn "*call_osf_1"
[(call (mem:DI (match_operand:DI 0 "call_operand" "c,R,i"))
(match_operand 1 "" ""))