* config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
authorRichard Henderson <rth@redhat.com>
Wed, 7 Mar 2001 18:50:26 +0000 (10:50 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 7 Mar 2001 18:50:26 +0000 (10:50 -0800)
From-SVN: r40297

gcc/ChangeLog
gcc/config/alpha/alpha.md

index d2e146079c1f9dd7397a038d5df1dbea2b21a093..4e55b2768f286a48b94c750cef0685547c81fc81 100644 (file)
@@ -1,3 +1,7 @@
+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
index 475e9d66eefce4d9086708d04e3d3f20fafc80f2..01462c9d306a09f533308c8b49d9f594437d73ff 100644 (file)
     }
 }")
 
+(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 "" ""))