diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-16 18:18:32 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-16 18:18:32 +0000 |
commit | d20ef28ca99af19ace8b9134850cc8371327f7db (patch) | |
tree | fa1118c67a7d22173718da975c80f376010d2d15 /gcc/config/mn10200 | |
parent | b717224d5189784651cfc8159c12872f82fdd1b1 (diff) | |
download | gcc-d20ef28ca99af19ace8b9134850cc8371327f7db.tar.gz |
* mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS
if X has VOIDmode either.
(LIMIT_RELOAD_CLASS): Similarly.
* mn10200.md (indirect_jump, tablejump): Use "register_operand",
not "general_operand" to match the processor's capabilities.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33940 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mn10200')
-rw-r--r-- | gcc/config/mn10200/mn10200.h | 4 | ||||
-rw-r--r-- | gcc/config/mn10200/mn10200.md | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/gcc/config/mn10200/mn10200.h b/gcc/config/mn10200/mn10200.h index bc11832e65f..6df67ba0e99 100644 --- a/gcc/config/mn10200/mn10200.h +++ b/gcc/config/mn10200/mn10200.h @@ -298,11 +298,11 @@ enum reg_class { in some cases it is preferable to use a more restrictive class. */ #define PREFERRED_RELOAD_CLASS(X,CLASS) \ - ((GET_MODE (X) != PSImode) ? DATA_REGS : CLASS) + ((GET_MODE (X) != PSImode && GET_MODE (X) != VOIDmode) ? DATA_REGS : CLASS) /* We want to use DATA_REGS for anything that is not PSImode. */ #define LIMIT_RELOAD_CLASS(MODE, CLASS) \ - ((MODE != PSImode) ? DATA_REGS : CLASS) + ((MODE != PSImode && MODE != VOIDmode) ? DATA_REGS : CLASS) /* We have/need secondary reloads on the mn10200. Mostly to deal with problems using address registers. */ diff --git a/gcc/config/mn10200/mn10200.md b/gcc/config/mn10200/mn10200.md index e0b3e75f756..24121981384 100644 --- a/gcc/config/mn10200/mn10200.md +++ b/gcc/config/mn10200/mn10200.md @@ -902,13 +902,13 @@ [(set_attr "cc" "none")]) (define_insn "indirect_jump" - [(set (pc) (match_operand:PSI 0 "general_operand" "a"))] + [(set (pc) (match_operand:PSI 0 "register_operand" "a"))] "" "jmp (%0)" [(set_attr "cc" "none")]) (define_insn "tablejump" - [(set (pc) (match_operand:PSI 0 "general_operand" "a")) + [(set (pc) (match_operand:PSI 0 "register_operand" "a")) (use (label_ref (match_operand 1 "" "")))] "" "jmp (%0)" |