diff options
author | Chris Smith <cks@gnu.org> | 1992-11-03 16:24:25 +0000 |
---|---|---|
committer | Chris Smith <cks@gnu.org> | 1992-11-03 16:24:25 +0000 |
commit | b76e0b7680d1e2a13af717e52475e5114208c33e (patch) | |
tree | efb6ba3421807fea85cea41e2a9d94279ee3e18d | |
parent | 151584408409a1a05cf1aaddcb073ef1687d2984 (diff) | |
download | gcc-b76e0b7680d1e2a13af717e52475e5114208c33e.zip gcc-b76e0b7680d1e2a13af717e52475e5114208c33e.tar.gz gcc-b76e0b7680d1e2a13af717e52475e5114208c33e.tar.bz2 |
don't use psh.w sp
From-SVN: r2683
-rw-r--r-- | gcc/config/convex/convex.h | 5 | ||||
-rw-r--r-- | gcc/config/convex/convex.md | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/config/convex/convex.h b/gcc/config/convex/convex.h index ba4bb55..2754fd1 100644 --- a/gcc/config/convex/convex.h +++ b/gcc/config/convex/convex.h @@ -315,7 +315,10 @@ enum reg_class { /* S regs use the letter 'd' because 's' is taken. */ #define REG_CLASS_FROM_LETTER(C) \ - ((C) == 'a' ? A_REGS : (C) == 'd' ? S_REGS : NO_REGS) + ((C) == 'a' ? A_REGS : \ + (C) == 'd' ? S_REGS : \ + (C) == 'A' ? INDEX_REGS : \ + NO_REGS) /* The letters I, J, K, L and M in a register constraint string can be used to stand for particular ranges of immediate operands. diff --git a/gcc/config/convex/convex.md b/gcc/config/convex/convex.md index 8f35309..7398e1b 100644 --- a/gcc/config/convex/convex.md +++ b/gcc/config/convex/convex.md @@ -250,6 +250,14 @@ "") (define_insn "" + [(set (match_operand:SI 0 "push_operand" "=<,<") + (match_operand:SI 1 "general_operand" "Ad,io"))] + "" + "@ + psh.w %1 + pshea %a1") + +(define_insn "" [(set (match_operand:SI 0 "general_operand" "=g,r,<") (match_operand:SI 1 "general_operand" "r,g,io"))] "TARGET_INDIRECTS" |