From 3f0063abae285ac9ded360063ab0e89aea375da9 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Wed, 14 Jan 2004 00:52:26 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/config/h8300/h8300.md | 16 ++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 70a97fc40e9..d4a70f13446 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-01-13 Kazu Hirata + + * 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 * system.h (SHARED_BSS_SECTION_ASM_OP): Poison. diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md index 80683d56876..475f0e74b37 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 -- 2.30.2