Commit 498cf3d0 by Matthew Hiller Committed by Matthew Hiller

mn10300.md (cmpsi): Fix first alternative's output template.

2001-03-28  Matthew Hiller  <hiller@redhat.com>

	* config/mn10300/mn10300.md (cmpsi): Fix first alternative's
	output template.

	* MAINTAINERS: Added self.

From-SVN: r40956
parent 3b905056
...@@ -124,6 +124,7 @@ Anthony Green green@redhat.com ...@@ -124,6 +124,7 @@ Anthony Green green@redhat.com
Stu Grossman grossman@redhat.com Stu Grossman grossman@redhat.com
Andrew Haley aph@redhat.com Andrew Haley aph@redhat.com
Aldy Hernandez aldyh@redhat.com Aldy Hernandez aldyh@redhat.com
Matthew Hiller hiller@redhat.com
Kazu Hirata kazu@hxi.com Kazu Hirata kazu@hxi.com
Manfred Hollstein mhollstein@redhat.com Manfred Hollstein mhollstein@redhat.com
Jan Hubicka hubicka@freesoft.cz Jan Hubicka hubicka@freesoft.cz
......
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> 2001-03-28 Richard Henderson <rth@redhat.com>
* Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H. * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
......
...@@ -709,15 +709,23 @@ ...@@ -709,15 +709,23 @@
"* return output_tst (operands[0], insn);" "* return output_tst (operands[0], insn);"
[(set_attr "cc" "set_znv")]) [(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" (define_insn "cmpsi"
[(set (cc0) [(set (cc0)
(compare (match_operand:SI 0 "register_operand" "!*d*a*x,dax") (compare (match_operand:SI 0 "register_operand" "*d*a*x,dax")
(match_operand:SI 1 "nonmemory_operand" "!*0,daxi")))] (match_operand:SI 1 "nonmemory_operand" "*0,daxi")))]
"" ""
"@ "@
add 0,%0 btst 0,d0
cmp %1,%0" cmp %1,%0"
[(set_attr "cc" "invert,compare")]) [(set_attr "cc" "compare,compare")])
;; ---------------------------------------------------------------------- ;; ----------------------------------------------------------------------
;; ADD INSTRUCTIONS ;; ADD INSTRUCTIONS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment