aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>2000-05-16 18:18:32 +0000
committerJeff Law <law@gcc.gnu.org>2000-05-16 12:18:32 -0600
commit66e85f3856201cf1c88e09018f78b61f6e83d016 (patch)
treefa1118c67a7d22173718da975c80f376010d2d15 /gcc
parent88587310983b27e22f11a61cc4effe64da8dd207 (diff)
downloadgcc-66e85f3856201cf1c88e09018f78b61f6e83d016.zip
gcc-66e85f3856201cf1c88e09018f78b61f6e83d016.tar.gz
gcc-66e85f3856201cf1c88e09018f78b61f6e83d016.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/mn10200/mn10200.h4
-rw-r--r--gcc/config/mn10200/mn10200.md4
3 files changed, 12 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4b7f852..1917420 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 <bkorb@gnu.org>
diff --git a/gcc/config/mn10200/mn10200.h b/gcc/config/mn10200/mn10200.h
index bc11832..6df67ba 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 e0b3e75..2412198 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)"