diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-11-20 16:38:20 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-11-20 16:38:20 -0500 |
commit | 25f514cb80063e4667de72ef39a7736213451d8f (patch) | |
tree | 8e64a30aaffe45ab5721d7f55a7bb3b13c262440 /gcc | |
parent | 7b073ca6c562001a81299b22243ca6809fba554a (diff) | |
download | gcc-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.h | 10 |
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; \ } |