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:
Paul Koning 2018-10-18 14:01:15 -04:00 committed by Paul Koning
parent 616e0db936
commit a9a2fddbf2
7 changed files with 106 additions and 7 deletions

View File

@ -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.

View File

@ -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 \

View File

@ -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;

38
libgcc/udivhi3.c Normal file
View File

@ -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);
}

View File

@ -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);
}

47
libgcc/udivmodhi4.c Normal file
View File

@ -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;
}

View File

@ -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;