+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.
}")
(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
}")
(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