aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-11-20 16:38:20 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1993-11-20 16:38:20 -0500
commit25f514cb80063e4667de72ef39a7736213451d8f (patch)
tree8e64a30aaffe45ab5721d7f55a7bb3b13c262440 /gcc
parent7b073ca6c562001a81299b22243ca6809fba554a (diff)
downloadgcc-25f514cb80063e4667de72ef39a7736213451d8f.zip
gcc-25f514cb80063e4667de72ef39a7736213451d8f.tar.gz
gcc-25f514cb80063e4667de72ef39a7736213451d8f.tar.bz2
(perform_divsi3, perform_modsi3): Add '&' in constraint for DX;
explicitly copy arg arg1 to cx. From-SVN: r6123
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/perform.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/config/i386/perform.h b/gcc/config/i386/perform.h
index e1103a7..4fdd7b3 100644
--- a/gcc/config/i386/perform.h
+++ b/gcc/config/i386/perform.h
@@ -1,5 +1,5 @@
/* Definitions for AT&T assembler syntax for the Intel 80386.
- Copyright (C) 1992 Free Software Foundation, Inc.
+ Copyright (C) 1993 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -41,9 +41,11 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
{ \
register int dx asm("dx"); \
register int ax asm("ax"); \
+ register int cx asm("cx"); \
\
ax = arg0; \
- asm ("cltd\n\tidivl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" (arg1)); \
+ cx = arg1; \
+ asm ("cltd\n\tidivl %3" : "=a" (ax), "=&d" (dx) : "a" (ax), "c" (cx)); \
return ax; \
}
@@ -62,9 +64,11 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
{ \
register int dx asm("dx"); \
register int ax asm("ax"); \
+ register int cx asm("cx"); \
\
ax = arg0; \
- asm ("cltd\n\tidivl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" (arg1)); \
+ cx = arg1; \
+ asm ("cltd\n\tidivl %3" : "=a" (ax), "=&d" (dx) : "a" (ax), "c" (cx)); \
return dx; \
}