aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/m32c/muldiv.md12
2 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b8cd042..7880d15 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-06-21 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/muldiv.md (mulhisi3_i): Only use registers for dest
+ (TN-16C-A156A/E).
+ (mulhisi3_r): Likewise.
+
2006-06-21 Richard Sandiford <richard@codesourcery.com>
PR middle-end/28034
diff --git a/gcc/config/m32c/muldiv.md b/gcc/config/m32c/muldiv.md
index 1719a79..9313088 100644
--- a/gcc/config/m32c/muldiv.md
+++ b/gcc/config/m32c/muldiv.md
@@ -80,18 +80,18 @@
)
(define_insn "mulhisi3_c"
- [(set (match_operand:SI 0 "mra_operand" "=RsiSd,??Rmm")
- (mult:SI (sign_extend:SI (match_operand:HI 1 "mra_operand" "%0,0"))
- (match_operand 2 "immediate_operand" "i,i")))]
+ [(set (match_operand:SI 0 "ra_operand" "=Rsi")
+ (mult:SI (sign_extend:SI (match_operand:HI 1 "mra_operand" "%0"))
+ (match_operand 2 "immediate_operand" "i")))]
""
"mul.w\t%2,%1"
[(set_attr "flags" "o")]
)
(define_insn "mulhisi3_r"
- [(set (match_operand:SI 0 "mra_operand" "=RsiSd,RsiSd,??Rmm,??Rmm")
- (mult:SI (sign_extend:SI (match_operand:HI 1 "mra_operand" "%0,0,0,0"))
- (sign_extend:SI (match_operand:HI 2 "mra_operand" "RhiSd,?Rmm,RhiSd,?Rmm"))))]
+ [(set (match_operand:SI 0 "mra_operand" "=Rsi,Rsi")
+ (mult:SI (sign_extend:SI (match_operand:HI 1 "mra_operand" "%0,0"))
+ (sign_extend:SI (match_operand:HI 2 "mra_operand" "RhiSd,?Rmm"))))]
""
"mul.w\t%2,%1"
[(set_attr "flags" "o")]