From 25f514cb80063e4667de72ef39a7736213451d8f Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 20 Nov 1993 16:38:20 -0500 Subject: [PATCH] (perform_divsi3, perform_modsi3): Add '&' in constraint for DX; explicitly copy arg arg1 to cx. From-SVN: r6123 --- gcc/config/i386/perform.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gcc/config/i386/perform.h b/gcc/config/i386/perform.h index e1103a763ab..4fdd7b30674 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; \ } -- 2.30.2