aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-02-10 12:37:42 +0000
committerJeff Law <law@gcc.gnu.org>1999-02-10 05:37:42 -0700
commit21375863a04f7b758c1b9fa21df985c4333e453e (patch)
tree5559b57f093c3a2ba038f61f48c4eaf439e7c26f /gcc
parent05a596505cfa4642b7d5df8c071eef0ce4fdfafc (diff)
downloadgcc-21375863a04f7b758c1b9fa21df985c4333e453e.zip
gcc-21375863a04f7b758c1b9fa21df985c4333e453e.tar.gz
gcc-21375863a04f7b758c1b9fa21df985c4333e453e.tar.bz2
* mn10200.md (bset, bclr): Operand 0 is a read/write operand.
From-SVN: r25134
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/config/mn10200/mn10200.md12
2 files changed, 8 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f345707..3fdabcf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -17,6 +17,8 @@ Wed Feb 10 09:57:08 1999 Mark Mitchell <mark@markmitchell.com>
Wed Feb 10 10:09:41 1999 Jeffrey A Law (law@cygnus.com)
+ * mn10200.md (bset, bclr): Operand 0 is a read/write operand.
+
* reload1.c (reload_combine_note_store): Second argument is no
longer unused/ignored. Handle multi-register hard regs.
(move2add_note_store): Simplify.
diff --git a/gcc/config/mn10200/mn10200.md b/gcc/config/mn10200/mn10200.md
index 6ba1514..61b1a23 100644
--- a/gcc/config/mn10200/mn10200.md
+++ b/gcc/config/mn10200/mn10200.md
@@ -656,7 +656,7 @@
;; These clears a constant set of bits in memory or in a register.
;; We must support register destinations to make reload happy.
(define_insn ""
- [(set (match_operand:QI 0 "general_operand" "R,d")
+ [(set (match_operand:QI 0 "general_operand" "+R,d")
(subreg:QI
(and:HI (subreg:HI (match_dup 0) 0)
(match_operand 1 "const_int_operand" "")) 0))
@@ -669,7 +669,7 @@
;; This clears a variable set of bits in memory or in a register.
(define_insn ""
- [(set (match_operand:QI 0 "general_operand" "R,d")
+ [(set (match_operand:QI 0 "general_operand" "+R,d")
(subreg:QI
(and:HI (subreg:HI (match_dup 0) 0)
(not:HI (match_operand:HI 1 "general_operand" "d,d"))) 0))
@@ -681,7 +681,7 @@
[(set_attr "cc" "clobber")])
(define_insn ""
- [(set (match_operand:QI 0 "general_operand" "R,d")
+ [(set (match_operand:QI 0 "general_operand" "+R,d")
(subreg:QI
(and:HI (not:HI (match_operand:HI 1 "general_operand" "d,d"))
(subreg:HI (match_dup 0) 0)) 0))
@@ -694,7 +694,7 @@
;; These set bits in memory.
(define_insn ""
- [(set (match_operand:QI 0 "general_operand" "R,d")
+ [(set (match_operand:QI 0 "general_operand" "+R,d")
(subreg:QI
(ior:HI (subreg:HI (match_dup 0) 0)
(match_operand:HI 1 "general_operand" "d,d")) 0))]
@@ -705,11 +705,11 @@
[(set_attr "cc" "clobber")])
(define_insn ""
- [(set (match_operand:QI 0 "general_operand" "R,d")
+ [(set (match_operand:QI 0 "general_operand" "+R,d")
(subreg:QI
(ior:HI (match_operand:HI 1 "general_operand" "d,d")
(subreg:HI (match_dup 0) 0)) 0))]
- ""
+ "0"
"@
bset %1,%0
or %1,%0"