aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/mmix/mmix.h2
-rw-r--r--gcc/config/mmix/mmix.md13
3 files changed, 17 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f5c7467..53b0806 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * 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.
+
2002-08-12 Gabriel Dos Reis <gdr@nerim.net>
* diagnostic.h (output_formatted_scalar): Rename from
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