summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2008-02-06 10:36:33 +0000
committerNick Clifton <nickc@gcc.gnu.org>2008-02-06 10:36:33 +0000
commit2ccd9cb254fb69a2bf428bfa487f682570e2f70f (patch)
tree91b33b5f93ecd8373cd217aded0fc3667cb66d21 /gcc
parent448b96d042977dccb54311627ef3467d797681c9 (diff)
downloadgcc-2ccd9cb254fb69a2bf428bfa487f682570e2f70f.tar.gz
stormy16.md (eqbranchsi): Replace a match_dup inside the clobber with a match_operand and duplicated...
* config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup inside the clobber with a match_operand and duplicated operand number in the constraint. (ineqbranchsi): Delete redundant comment. From-SVN: r132143
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/stormy16/stormy16.md12
2 files changed, 9 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 382d0da46a9..871e6ddd858 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-06 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
+ inside the clobber with a match_operand and duplicated operand
+ number in the constraint.
+ (ineqbranchsi): Delete redundant comment.
+
2008-02-06 Ralf Corsepius <ralf.corsepius@rtems.org>
* config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add
diff --git a/gcc/config/stormy16/stormy16.md b/gcc/config/stormy16/stormy16.md
index bd68243a7e8..1872085718c 100644
--- a/gcc/config/stormy16/stormy16.md
+++ b/gcc/config/stormy16/stormy16.md
@@ -1,5 +1,5 @@
;; XSTORMY16 Machine description template
-;; Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2007
+;; Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2007, 2008
;; Free Software Foundation, Inc.
;; Contributed by Red Hat, Inc.
@@ -880,11 +880,7 @@
(const_int 0)])
(label_ref (match_operand 0 "" ""))
(pc)))
-;; Although I would greatly like the 'match_dup' in the following line
-;; to actually be a register constraint, there is (at the time of writing) no
-;; way for reload to insert an output reload on the edges out of a branch.
-;; If reload is fixed to use insert_insn_on_edge, this can be changed.
- (clobber (match_dup 2))]
+ (clobber (match_operand:SI 3 "register_operand" "=2"))]
""
"*
{
@@ -902,10 +898,6 @@
"ri")])
(label_ref (match_operand 0 "" ""))
(pc)))
- ;; This clobber is problematic. Too many gcc optimizations will change
- ;; operand 2 without changing the clobber. At the time of writing there
- ;; is no way around this. :-( For an example try compiling:
- ;; gcc.c-torture/compile/20000403-1.c -O3 -fomit-frame-pointer -funroll-loops
(clobber (match_operand:SI 5 "register_operand" "=2"))
(clobber (match_operand:BI 4 "" "=&y"))]
""