aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mmix
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@bitrange.com>2002-08-12 21:32:01 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2002-08-12 21:32:01 +0000
commit34116c2a895051529a5cf160d6cb8b82f42bd70b (patch)
tree2a51e0c2a0ece9f83d7b3df6e65258ec7258b9ff /gcc/config/mmix
parent9b32718c73846ba9437e6a9d789ecca475e62551 (diff)
downloadgcc-34116c2a895051529a5cf160d6cb8b82f42bd70b.zip
gcc-34116c2a895051529a5cf160d6cb8b82f42bd70b.tar.gz
gcc-34116c2a895051529a5cf160d6cb8b82f42bd70b.tar.bz2
mmix.md (define_constants): Add MMIX_rR_REGNUM.
* config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM. ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark MMIX_rR_REGNUM as clobbered. * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM. From-SVN: r56238
Diffstat (limited to 'gcc/config/mmix')
-rw-r--r--gcc/config/mmix/mmix.h2
-rw-r--r--gcc/config/mmix/mmix.md13
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index 31dff43..218bd06 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -47,7 +47,7 @@ Boston, MA 02111-1307, USA. */
#define MMIX_LAST_GENERAL_REGISTER 255
#define MMIX_INCOMING_RETURN_ADDRESS_REGNUM MMIX_rJ_REGNUM
#define MMIX_HIMULT_REGNUM 258
-#define MMIX_REMAINDER_REGNUM 260
+#define MMIX_REMAINDER_REGNUM MMIX_rR_REGNUM
#define MMIX_ARG_POINTER_REGNUM 261
#define MMIX_rO_REGNUM 262
#define MMIX_LAST_STACK_REGISTER_REGNUM 31
diff --git a/gcc/config/mmix/mmix.md b/gcc/config/mmix/mmix.md
index 88ae514..0f36872 100644
--- a/gcc/config/mmix/mmix.md
+++ b/gcc/config/mmix/mmix.md
@@ -36,6 +36,7 @@
(define_constants
[(MMIX_rJ_REGNUM 259)
+ (MMIX_rR_REGNUM 260)
(MMIX_fp_rO_OFFSET -24)]
)
@@ -271,7 +272,8 @@
(div:DI (match_operand:DI 1 "register_operand" "r")
(match_operand:DI 2 "register_operand" "r")))
(clobber (scratch:DI))
- (clobber (scratch:DI))])]
+ (clobber (scratch:DI))
+ (clobber (reg:DI MMIX_rR_REGNUM))])]
"! TARGET_KNUTH_DIVISION"
"")
@@ -282,7 +284,8 @@
(div:DI (match_operand:DI 1 "register_operand" "r,r")
(match_operand:DI 2 "register_operand" "1,r")))
(clobber (match_scratch:DI 3 "=1,1"))
- (clobber (match_scratch:DI 4 "=2,2"))]
+ (clobber (match_scratch:DI 4 "=2,2"))
+ (clobber (reg:DI MMIX_rR_REGNUM))]
"! TARGET_KNUTH_DIVISION"
"@
SETL %0,1
@@ -295,7 +298,8 @@ DIVU %0,%1,%2\;NEGU %1,0,%0\;CSN %0,$255,%1")
(mod:DI (match_operand:DI 1 "register_operand" "r")
(match_operand:DI 2 "register_operand" "r")))
(clobber (scratch:DI))
- (clobber (scratch:DI))])]
+ (clobber (scratch:DI))
+ (clobber (reg:DI MMIX_rR_REGNUM))])]
"! TARGET_KNUTH_DIVISION"
"")
@@ -306,7 +310,8 @@ DIVU %0,%1,%2\;NEGU %1,0,%0\;CSN %0,$255,%1")
(mod:DI (match_operand:DI 1 "register_operand" "r,r")
(match_operand:DI 2 "register_operand" "1,r")))
(clobber (match_scratch:DI 3 "=1,1"))
- (clobber (match_scratch:DI 4 "=2,2"))]
+ (clobber (match_scratch:DI 4 "=2,2"))
+ (clobber (reg:DI MMIX_rR_REGNUM))]
"! TARGET_KNUTH_DIVISION"
"@
SETL %0,0