udivmodsi4.c (__udivmodsi4): Rename to conform to coding standard.
* udivmodsi4.c (__udivmodsi4): Rename to conform to coding standard. * divmod.c: Update references to __udivmodsi4. * udivmod.c: Ditto. * udivhi3.c: New file. * udivmodhi4.c: New file. * config/pdp11/t-pdp11 (LIB2ADD): Add the new files. From-SVN: r265277
This commit is contained in:
parent
616e0db936
commit
a9a2fddbf2
|
@ -1,3 +1,13 @@
|
|||
2018-10-18 Paul Koning <ni1d@arrl.net>
|
||||
|
||||
* udivmodsi4.c (__udivmodsi4): Rename to conform to coding
|
||||
standard.
|
||||
* divmod.c: Update references to __udivmodsi4.
|
||||
* udivmod.c: Ditto.
|
||||
* udivhi3.c: New file.
|
||||
* udivmodhi4.c: New file.
|
||||
* config/pdp11/t-pdp11 (LIB2ADD): Add the new files.
|
||||
|
||||
2018-10-17 Rasmus Villemoes <rv@rasmusvillemoes.dk>
|
||||
|
||||
* Makefile.in (LIB2FUNCS_ST): Filter out LIB2FUNCS_EXCLUDE.
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
LIB2ADD = $(srcdir)/udivmod.c \
|
||||
$(srcdir)/udivmodsi4.c \
|
||||
$(srcdir)/udivhi3.c \
|
||||
$(srcdir)/udivmodhi4.c \
|
||||
$(srcdir)/memcmp.c \
|
||||
$(srcdir)/memcpy.c \
|
||||
$(srcdir)/memmove.c \
|
||||
|
|
|
@ -21,7 +21,8 @@ a copy of the GCC Runtime Library Exception along with this program;
|
|||
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
long udivmodsi4 ();
|
||||
extern unsigned long __udivmodsi4(unsigned long num, unsigned long den,
|
||||
int modwanted);
|
||||
|
||||
long
|
||||
__divsi3 (long a, long b)
|
||||
|
@ -41,7 +42,7 @@ __divsi3 (long a, long b)
|
|||
neg = !neg;
|
||||
}
|
||||
|
||||
res = udivmodsi4 (a, b, 0);
|
||||
res = __udivmodsi4 (a, b, 0);
|
||||
|
||||
if (neg)
|
||||
res = -res;
|
||||
|
@ -64,7 +65,7 @@ __modsi3 (long a, long b)
|
|||
if (b < 0)
|
||||
b = -b;
|
||||
|
||||
res = udivmodsi4 (a, b, 1);
|
||||
res = __udivmodsi4 (a, b, 1);
|
||||
|
||||
if (neg)
|
||||
res = -res;
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
/* Copyright (C) 2000-2018 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
GCC is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 3, or (at your option) any later
|
||||
version.
|
||||
|
||||
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
Under Section 7 of GPL version 3, you are granted additional
|
||||
permissions described in the GCC Runtime Library Exception, version
|
||||
3.1, as published by the Free Software Foundation.
|
||||
|
||||
You should have received a copy of the GNU General Public License and
|
||||
a copy of the GCC Runtime Library Exception along with this program;
|
||||
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
extern unsigned short __udivmodhi4(unsigned short num, unsigned short den,
|
||||
int modwanted);
|
||||
|
||||
unsigned short
|
||||
__udivhi3 (unsigned short a, unsigned short b)
|
||||
{
|
||||
return __udivmodhi4 (a, b, 0);
|
||||
}
|
||||
|
||||
unsigned short
|
||||
__umodhi3 (unsigned short a, unsigned short b)
|
||||
{
|
||||
return __udivmodhi4 (a, b, 1);
|
||||
}
|
||||
|
|
@ -21,17 +21,18 @@ a copy of the GCC Runtime Library Exception along with this program;
|
|||
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
long udivmodsi4 ();
|
||||
extern unsigned long __udivmodsi4(unsigned long num, unsigned long den,
|
||||
int modwanted);
|
||||
|
||||
long
|
||||
__udivsi3 (long a, long b)
|
||||
{
|
||||
return udivmodsi4 (a, b, 0);
|
||||
return __udivmodsi4 (a, b, 0);
|
||||
}
|
||||
|
||||
long
|
||||
__umodsi3 (long a, long b)
|
||||
{
|
||||
return udivmodsi4 (a, b, 1);
|
||||
return __udivmodsi4 (a, b, 1);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
/* Copyright (C) 2000-2018 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
GCC is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 3, or (at your option) any later
|
||||
version.
|
||||
|
||||
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
Under Section 7 of GPL version 3, you are granted additional
|
||||
permissions described in the GCC Runtime Library Exception, version
|
||||
3.1, as published by the Free Software Foundation.
|
||||
|
||||
You should have received a copy of the GNU General Public License and
|
||||
a copy of the GCC Runtime Library Exception along with this program;
|
||||
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
unsigned short
|
||||
__udivmodhi4(unsigned short num, unsigned short den, int modwanted)
|
||||
{
|
||||
unsigned short bit = 1;
|
||||
unsigned short res = 0;
|
||||
|
||||
while (den < num && bit && !(den & (1L<<31)))
|
||||
{
|
||||
den <<=1;
|
||||
bit <<=1;
|
||||
}
|
||||
while (bit)
|
||||
{
|
||||
if (num >= den)
|
||||
{
|
||||
num -= den;
|
||||
res |= bit;
|
||||
}
|
||||
bit >>=1;
|
||||
den >>=1;
|
||||
}
|
||||
if (modwanted) return num;
|
||||
return res;
|
||||
}
|
|
@ -22,7 +22,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
unsigned long
|
||||
udivmodsi4(unsigned long num, unsigned long den, int modwanted)
|
||||
__udivmodsi4(unsigned long num, unsigned long den, int modwanted)
|
||||
{
|
||||
unsigned long bit = 1;
|
||||
unsigned long res = 0;
|
||||
|
|
Loading…
Reference in New Issue