diff options
author | kazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-02 20:48:04 +0000 |
---|---|---|
committer | kazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-02 20:48:04 +0000 |
commit | c0438d5c27f91d81d09c969ffbdb3b459d8786f3 (patch) | |
tree | e7fb60ac901a9b7f428eb6c9b8c3a0344b18f7cd /gcc | |
parent | 4cf9eeb2038dd9efd797b67d2ad7f33dd199a577 (diff) | |
download | gcc-c0438d5c27f91d81d09c969ffbdb3b459d8786f3.tar.gz |
* config/h8300/h8300.c (compute_mov_length): Fix the length of
loading CONST0_RTX (SFmode).
* config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
'G' to CONST0_RTX (SFmode).
* config/h8300/h8300.md (movsf_h8300): Change the first
constraint to 'G'.
(movsf_h8300h): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68854 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/h8300/h8300.c | 2 | ||||
-rw-r--r-- | gcc/config/h8300/h8300.h | 2 | ||||
-rw-r--r-- | gcc/config/h8300/h8300.md | 4 |
4 files changed, 14 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d18086a825b..02d673110eb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2003-07-02 Kazu Hirata <kazu@cs.umass.edu> + + * config/h8300/h8300.c (compute_mov_length): Fix the length of + loading CONST0_RTX (SFmode). + * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change + 'G' to CONST0_RTX (SFmode). + * config/h8300/h8300.md (movsf_h8300): Change the first + constraint to 'G'. + (movsf_h8300h): Likewise. + 2003-07-02 Neil Booth <neil@daikokuya.co.uk> * c-common.h (c_common_init_options): New prototype. diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c index f1d3577ef91..da0cd3f5b5e 100644 --- a/gcc/config/h8300/h8300.c +++ b/gcc/config/h8300/h8300.c @@ -2010,7 +2010,7 @@ compute_mov_length (rtx *operands) if (REG_P (src)) return 2; - if (src == const0_rtx) + if (CONST_DOUBLE_OK_FOR_LETTER_P (src, 'G')) return 2; return 6; } diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h index c6918c2ebec..ba8dcffdeb1 100644 --- a/gcc/config/h8300/h8300.h +++ b/gcc/config/h8300/h8300.h @@ -484,7 +484,7 @@ enum reg_class { `G' is a floating-point zero. */ #define CONST_DOUBLE_OK_FOR_LETTER_P(VALUE, C) \ - ((C) == 'G' ? (VALUE) == CONST0_RTX (DFmode) \ + ((C) == 'G' ? (VALUE) == CONST0_RTX (SFmode) \ : 0) /* Given an rtx X being reloaded into a reg required to be diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md index ad1d348a761..9a579ec3e2b 100644 --- a/gcc/config/h8300/h8300.md +++ b/gcc/config/h8300/h8300.md @@ -420,7 +420,7 @@ (define_insn "*movsf_h8300" [(set (match_operand:SF 0 "general_operand_dst" "=r,r,r,o,<,r") - (match_operand:SF 1 "general_operand_src" "I,r,io,r,r,>"))] + (match_operand:SF 1 "general_operand_src" "G,r,io,r,r,>"))] "TARGET_H8300 && (register_operand (operands[0], SFmode) || register_operand (operands[1], SFmode))" @@ -553,7 +553,7 @@ (define_insn "*movsf_h8300h" [(set (match_operand:SF 0 "general_operand_dst" "=r,r,r,m,<,r") - (match_operand:SF 1 "general_operand_src" "I,r,im,r,r,>"))] + (match_operand:SF 1 "general_operand_src" "G,r,im,r,r,>"))] "(TARGET_H8300H || TARGET_H8300S) && (register_operand (operands[0], SFmode) || register_operand (operands[1], SFmode))" |