aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Green <green@cygnus.com>2000-01-04 06:17:29 +0000
committerAnthony Green <green@gcc.gnu.org>2000-01-04 06:17:29 +0000
commitfb75402575c709ece86dd9fd7883f5518375ceb8 (patch)
tree6a2a9394ce39d2778894d5b6d4434a3d802d8f74
parente316d1077947d7ad4b694eb7bf7a1308056745aa (diff)
downloadgcc-fb75402575c709ece86dd9fd7883f5518375ceb8.zip
gcc-fb75402575c709ece86dd9fd7883f5518375ceb8.tar.gz
gcc-fb75402575c709ece86dd9fd7883f5518375ceb8.tar.bz2
i386.md (builtin_setjmp_receiver): New pattern.
* config/i386/i386.md (builtin_setjmp_receiver): New pattern. Restore the pic register if required. From-SVN: r31190
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.md11
2 files changed, 15 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4d90dfe..8307e52 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-01-03 Anthony Green <green@cygnus.com>
+
+ * config/i386/i386.md (builtin_setjmp_receiver): New pattern.
+ Restore the pic register if required.
+
2000-01-03 Ulrich Drepper <drepper@cygnus.com>
* c-common.c (format_char_info): Update comment.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index bd2304f..4fc2bff 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -1,5 +1,5 @@
;; GCC machine description for IA-32.
-;; Copyright (C) 1988, 94-98, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 94-99, 2000 Free Software Foundation, Inc.
;; Mostly by William Schelter.
;;
;; This file is part of GNU CC.
@@ -8335,6 +8335,15 @@
load_pic_register ();
DONE;
}")
+
+(define_expand "builtin_setjmp_receiver"
+ [(label_ref (match_operand 0 "" ""))]
+ "flag_pic"
+ "
+{
+ load_pic_register ();
+ DONE;
+}")
;; Avoid redundant prefixes by splitting HImode arithmetic to SImode.