aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-01-14 00:52:26 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-01-14 00:52:26 +0000
commit3f0063abae285ac9ded360063ab0e89aea375da9 (patch)
tree85903ae7f66a8328681a5948e37474401043e1bb
parentabf843c494411a0bec64aa83c462a1f77a704411 (diff)
downloadgcc-3f0063abae285ac9ded360063ab0e89aea375da9.zip
gcc-3f0063abae285ac9ded360063ab0e89aea375da9.tar.gz
gcc-3f0063abae285ac9ded360063ab0e89aea375da9.tar.bz2
h8300.md (movstrictqi): Add an alternative with the source being post_inc.
* config/h8300/h8300.md (movstrictqi): Add an alternative with the source being post_inc. Tighten the predicate for the destination to register_operand. (movstricthi): Likewise. From-SVN: r75833
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/h8300/h8300.md16
2 files changed, 17 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 70a97fc..d4a70f1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
+ * config/h8300/h8300.md (movstrictqi): Add an alternative with
+ the source being post_inc. Tighten the predicate for the
+ destination to register_operand.
+ (movstricthi): Likewise.
+
+2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
+
* system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
* varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
* doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index 80683d5..475f0e7 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -214,17 +214,19 @@
}")
(define_insn "movstrictqi"
- [(set (strict_low_part (match_operand:QI 0 "general_operand_dst" "+r,r,r,r"))
- (match_operand:QI 1 "general_operand_src" "I,r,n,m"))]
+ [(set (strict_low_part
+ (match_operand:QI 0 "register_operand" "+r,r,r,r,r"))
+ (match_operand:QI 1 "general_operand_src" " I,r,n,>,m"))]
""
"@
sub.b %X0,%X0
mov.b %X1,%X0
mov.b %R1,%X0
+ mov.b %X1,%X0
mov.b %R1,%X0"
[(set (attr "length")
(symbol_ref "compute_mov_length (operands)"))
- (set_attr "cc" "set_zn,set_znv,set_znv,set_znv")])
+ (set_attr "cc" "set_zn,set_znv,set_znv,set_znv,set_znv")])
;; movhi
@@ -325,17 +327,19 @@
}")
(define_insn "movstricthi"
- [(set (strict_low_part (match_operand:HI 0 "general_operand_dst" "+r,r,r,r"))
- (match_operand:HI 1 "general_operand_src" "I,r,i,m"))]
+ [(set (strict_low_part
+ (match_operand:HI 0 "register_operand" "+r,r,r,r,r"))
+ (match_operand:HI 1 "general_operand_src" " I,r,i,>,m"))]
""
"@
sub.w %T0,%T0
mov.w %T1,%T0
mov.w %T1,%T0
+ mov.w %T1,%T0
mov.w %T1,%T0"
[(set (attr "length")
(symbol_ref "compute_mov_length (operands)"))
- (set_attr "cc" "set_zn,set_znv,set_znv,set_znv")])
+ (set_attr "cc" "set_zn,set_znv,set_znv,set_znv,set_znv")])
;; movsi