From cb23ff1f5761e5a8db34ebabd185357f07af37ec Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 20 Mar 1997 19:33:28 +0000 Subject: [PATCH] Initialize `quotient' and `mask'. --- sysdeps/alpha/div.S | 21 ++++++++++----------- sysdeps/alpha/ldiv.S | 19 +++++++++---------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/sysdeps/alpha/div.S b/sysdeps/alpha/div.S index 6c461c40d4..6a5c4429e8 100644 --- a/sysdeps/alpha/div.S +++ b/sysdeps/alpha/div.S @@ -1,7 +1,6 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. - Contributed by Richard Henderson (rth@tamu.edu) - +/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. + Contributed by Richard Henderson . The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -14,10 +13,9 @@ Library General Public License for more details. You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, write to the Free Software Foundation, Inc., 675 Mass Ave, - Cambridge, MA 02139, USA. */ - + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include @@ -44,7 +42,6 @@ div: .prologue 0 #endif -#define dividend t0 #define divisor t1 #define mask t2 #define quotient t3 @@ -54,11 +51,13 @@ div: #define compare t7 /* find correct sign for input to unsigned divide loop. */ + negl a1, modulus # e0 : + negl a2, divisor # .. e1 : sextl a1, a1 # e0 : sextl a2, a2 # .. e1 : - negl a1, dividend # e0 : - negl a2, divisor # .. e1 : - cmovge a1, a1, dividend # e0 : + mov zero, quotient # e0 : + mov 1, mask # .. e1 : + cmovge a1, a1, modulus # e0 : cmovge a2, a2, divisor # .. e1 : beq a2, $divbyzero # e1 : unop # : diff --git a/sysdeps/alpha/ldiv.S b/sysdeps/alpha/ldiv.S index ebbe055870..08bf8eb08d 100644 --- a/sysdeps/alpha/ldiv.S +++ b/sysdeps/alpha/ldiv.S @@ -1,7 +1,6 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. - Contributed by Richard Henderson (rth@tamu.edu) - +/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. + Contributed by Richard Henderson . The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -14,10 +13,9 @@ Library General Public License for more details. You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, write to the Free Software Foundation, Inc., 675 Mass Ave, - Cambridge, MA 02139, USA. */ - + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include @@ -44,7 +42,6 @@ ldiv: .prologue 0 #endif -#define dividend t0 #define divisor t1 #define mask t2 #define quotient t3 @@ -54,11 +51,13 @@ ldiv: #define compare t7 /* find correct sign for input to unsigned divide loop. */ - mov a1, dividend # e0 : + mov a1, modulus # e0 : mov a2, divisor # .. e1 : negq a1, tmp1 # e0 : negq a2, tmp2 # .. e1 : - cmovlt a1, tmp1, dividend # e0 : + mov zero, quotient # e0 : + mov 1, mask # .. e1 : + cmovlt a1, tmp1, modulus # e0 : cmovlt a2, tmp2, divisor # .. e1 : beq a2, $divbyzero # e1 : unop # :