From 66e85f3856201cf1c88e09018f78b61f6e83d016 Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Tue, 16 May 2000 18:18:32 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 8 ++++++++ gcc/config/mn10200/mn10200.h | 4 ++-- gcc/config/mn10200/mn10200.md | 4 ++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4b7f8522a850..19174206f086 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +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 diff --git a/gcc/config/mn10200/mn10200.h b/gcc/config/mn10200/mn10200.h index bc11832e65f5..6df67ba0e991 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 e0b3e75f7561..241219813847 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)" -- 2.43.5