aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m32r
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-10-14 23:38:02 -0700
committerRichard Henderson <rth@gcc.gnu.org>1999-10-14 23:38:02 -0700
commit997718c768cbd55f7e2d6a6e8c37ab382dd59c7f (patch)
tree6961d842b244b73c4676dcdd51ab81f9796bfce8 /gcc/config/m32r
parentffccc6bee2b00018fd09b26a5ce5d0bbc6900e94 (diff)
downloadgcc-997718c768cbd55f7e2d6a6e8c37ab382dd59c7f.zip
gcc-997718c768cbd55f7e2d6a6e8c37ab382dd59c7f.tar.gz
gcc-997718c768cbd55f7e2d6a6e8c37ab382dd59c7f.tar.bz2
1750a.md (movstrqi): Add missing output reload constraint.
* 1750a.md (movstrqi): Add missing output reload constraint. (call_value): Likewise. * a29k.md (cpxxx patterns): Add missing match_operator mode. (jmpfdec): Add missing inout reload constraint. * elxsi.md (addsi patterns): Add missing output reload constraint. (move from sp): Use @ alternates. (call_value): No constraint on output. * fr30.md (movsi_pop): Add missing output reload constraint. (movsf_constant_store): Likewise. (splits): Remove constraints. (subsi3): Add missing mode. * i370.md (cmpstrsi+1): Add missing output reload constraint. (call_value): Likewise. * i960.md (cmpinc/cmpdec patterns): Add inout reload constraints. * m32r.h (PREDICATE_CODES): Add seth_add3_operand. * m32r.md (movsicc_internal): Add output reload constraint. (movstrsi_internal): Add inout reload constraints. * m88k.h (reg_names): Don't declare. (SPECIAL_MODE_PREDICATES): New. * m88k.md (*): Use register_operand not reg_or_0_operand on destinations. * mn10200.h (PREDICATE_CODES): New. * ns32k.md (ffs pattern): Add output reload constraint. * pdp11.md (sob pattern): Add inout reload constraint. * sh.md (splits): Remove constraints. (indirect_jump_scratch, fpu_switch): Add output reload constraint. * v850.md (pattern_is_ok_for_epilogue): Likewise. * vax.md (jgequ pattern): Add inout reload constraint. From-SVN: r30008
Diffstat (limited to 'gcc/config/m32r')
-rw-r--r--gcc/config/m32r/m32r.h3
-rw-r--r--gcc/config/m32r/m32r.md6
2 files changed, 5 insertions, 4 deletions
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index 4e11838..032e089 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -1981,7 +1981,8 @@ enum m32r_function_type
{ "call_address_operand", { SYMBOL_REF, LABEL_REF, CONST }}, \
{ "small_insn_p", { INSN, CALL_INSN, JUMP_INSN }}, \
{ "m32r_block_immediate_operand",{ CONST_INT }}, \
-{ "large_insn_p", { INSN, CALL_INSN, JUMP_INSN }},
+{ "large_insn_p", { INSN, CALL_INSN, JUMP_INSN }}, \
+{ "seth_add3_operand", { SYMBOL_REF, LABEL_REF, CONST }},
/* Functions declared in m32r.c */
#define XPROTO(ARGS) ()
diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md
index bc01b2a..0ad11f0 100644
--- a/gcc/config/m32r/m32r.md
+++ b/gcc/config/m32r/m32r.md
@@ -1675,7 +1675,7 @@
;; Generate the conditional instructions based on how the carry flag is examined.
(define_insn "*movsicc_internal"
- [(set (match_operand:SI 0 "register_operand" "r")
+ [(set (match_operand:SI 0 "register_operand" "=r")
(if_then_else:SI (match_operand 1 "carry_compare_operand" "")
(match_operand:SI 2 "conditional_move_operand" "O")
(match_operand:SI 3 "conditional_move_operand" "O")
@@ -1781,8 +1781,8 @@
;; Insn generated by block moves
(define_insn "movstrsi_internal"
- [(set (mem:BLK (match_operand:SI 0 "register_operand" "r")) ;; destination
- (mem:BLK (match_operand:SI 1 "register_operand" "r"))) ;; source
+ [(set (mem:BLK (match_operand:SI 0 "register_operand" "+r")) ;; destination
+ (mem:BLK (match_operand:SI 1 "register_operand" "+r"))) ;; source
(use (match_operand:SI 2 "m32r_block_immediate_operand" "J"));; # bytes to move
(set (match_dup 0) (plus:SI (match_dup 0) (minus:SI (match_dup 2) (const_int 4))))
(set (match_dup 1) (plus:SI (match_dup 1) (match_dup 2)))