Commit 66e85f38 by Jeffrey A Law Committed by Jeff Law

mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS if X has VOIDmode either.

        * 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.

From-SVN: r33940
parent 88587310
Tue May 16 12:17:31 2000 Jeffrey A Law (law@cygnus.com)
* 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.
2000-05-16 Bruce Korb <bkorb@gnu.org> 2000-05-16 Bruce Korb <bkorb@gnu.org>
......
...@@ -298,11 +298,11 @@ enum reg_class { ...@@ -298,11 +298,11 @@ enum reg_class {
in some cases it is preferable to use a more restrictive class. */ in some cases it is preferable to use a more restrictive class. */
#define PREFERRED_RELOAD_CLASS(X,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. */ /* We want to use DATA_REGS for anything that is not PSImode. */
#define LIMIT_RELOAD_CLASS(MODE, CLASS) \ #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 /* We have/need secondary reloads on the mn10200. Mostly to deal
with problems using address registers. */ with problems using address registers. */
......
...@@ -902,13 +902,13 @@ ...@@ -902,13 +902,13 @@
[(set_attr "cc" "none")]) [(set_attr "cc" "none")])
(define_insn "indirect_jump" (define_insn "indirect_jump"
[(set (pc) (match_operand:PSI 0 "general_operand" "a"))] [(set (pc) (match_operand:PSI 0 "register_operand" "a"))]
"" ""
"jmp (%0)" "jmp (%0)"
[(set_attr "cc" "none")]) [(set_attr "cc" "none")])
(define_insn "tablejump" (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 "" "")))] (use (label_ref (match_operand 1 "" "")))]
"" ""
"jmp (%0)" "jmp (%0)"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment