aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS1
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/mn10300/mn10300.md16
3 files changed, 20 insertions, 4 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 27cb3a6..49b1cfc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -124,6 +124,7 @@ Anthony Green green@redhat.com
Stu Grossman grossman@redhat.com
Andrew Haley aph@redhat.com
Aldy Hernandez aldyh@redhat.com
+Matthew Hiller hiller@redhat.com
Kazu Hirata kazu@hxi.com
Manfred Hollstein mhollstein@redhat.com
Jan Hubicka hubicka@freesoft.cz
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f9edd3d..cc07a8b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2001-03-28 Matthew Hiller <hiller@redhat.com>
+
+ * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
+ output template.
+
+ * MAINTAINERS: Added self.
+
2001-03-28 Richard Henderson <rth@redhat.com>
* Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
diff --git a/gcc/config/mn10300/mn10300.md b/gcc/config/mn10300/mn10300.md
index 564a4c9..bf913b2 100644
--- a/gcc/config/mn10300/mn10300.md
+++ b/gcc/config/mn10300/mn10300.md
@@ -709,15 +709,23 @@
"* return output_tst (operands[0], insn);"
[(set_attr "cc" "set_znv")])
+;; Ordinarily, the cmp instruction will set the Z bit of cc0 to 1 if
+;; its operands hold equal values, but the operands of a cmp
+;; instruction must be distinct registers. In the case where we'd
+;; like to compare a register to itself, we can achieve this effect
+;; with a btst 0,d0 instead. (This will not alter the contents of d0
+;; but will have the proper effect on cc0. Using d0 is arbitrary; any
+;; data register would work.)
+
(define_insn "cmpsi"
[(set (cc0)
- (compare (match_operand:SI 0 "register_operand" "!*d*a*x,dax")
- (match_operand:SI 1 "nonmemory_operand" "!*0,daxi")))]
+ (compare (match_operand:SI 0 "register_operand" "*d*a*x,dax")
+ (match_operand:SI 1 "nonmemory_operand" "*0,daxi")))]
""
"@
- add 0,%0
+ btst 0,d0
cmp %1,%0"
- [(set_attr "cc" "invert,compare")])
+ [(set_attr "cc" "compare,compare")])
;; ----------------------------------------------------------------------
;; ADD INSTRUCTIONS