aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-04-09 09:22:42 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-04-09 09:22:42 -0400
commitdee6d39efa036005870509f732c3ed582359f86f (patch)
treec4530484472eb81cbb22923f1d04ec3c9ee464ee
parent79ff2c6c8b8d900abc22a2030c61d4f538b75d4f (diff)
downloadgcc-dee6d39efa036005870509f732c3ed582359f86f.zip
gcc-dee6d39efa036005870509f732c3ed582359f86f.tar.gz
gcc-dee6d39efa036005870509f732c3ed582359f86f.tar.bz2
(adddi3, subdi3): Need scratch reg whenever operand 0 in mem and operands 1 not '0'.
(adddi3, subdi3): Need scratch reg whenever operand 0 in mem and operands 1 not '0'. (subdi3): Don't treat two non-equal MEMs as non-aliasing. From-SVN: r9342
-rw-r--r--gcc/config/i386/i386.md6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 0f26b1c..e815346 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -2382,7 +2382,7 @@
[(set (match_operand:DI 0 "general_operand" "=&r,ro,o,&r,ro,o,&r,o,o,o")
(plus:DI (match_operand:DI 1 "general_operand" "%0,0,0,o,riF,o,or,riF,riF,o")
(match_operand:DI 2 "general_operand" "o,riF,o,0,0,0,oriF,riF,o,o")))
- (clobber (match_scratch:SI 3 "=X,X,&r,X,X,&r,X,X,&r,&r"))]
+ (clobber (match_scratch:SI 3 "=X,X,&r,X,&r,&r,X,&r,&r,&r"))]
""
"*
{
@@ -2633,7 +2633,7 @@
[(set (match_operand:DI 0 "general_operand" "=&r,ro,&r,o,o")
(minus:DI (match_operand:DI 1 "general_operand" "0,0,roiF,riF,o")
(match_operand:DI 2 "general_operand" "o,riF,roiF,riF,o")))
- (clobber (match_scratch:SI 3 "=X,X,X,X,&r"))]
+ (clobber (match_scratch:SI 3 "=X,X,X,&r,&r"))]
""
"*
{
@@ -2650,7 +2650,7 @@
xops[2] = high[1];
xops[3] = low[1];
- if (GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
+ if (GET_CODE (operands[0]) != MEM)
{
output_asm_insn (AS2 (mov%L1,%3,%1), xops);
output_asm_insn (AS2 (mov%L0,%2,%0), xops);