Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/bouyer-xenpvh]: src/common/lib/libc/arch/m68k/gen Sync with HEAD



details:   https://anonhg.NetBSD.org/src/rev/86c6c1b3854f
branches:  bouyer-xenpvh
changeset: 1025004:86c6c1b3854f
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Sat Apr 25 11:02:22 2020 +0000

description:
Sync with HEAD

diffstat:

 common/lib/libc/arch/m68k/gen/divsi3.S  |   70 -----------------
 common/lib/libc/arch/m68k/gen/modsi3.S  |   76 ------------------
 common/lib/libc/arch/m68k/gen/udivsi3.S |  129 --------------------------------
 common/lib/libc/arch/m68k/gen/umodsi3.S |   67 ----------------
 4 files changed, 0 insertions(+), 342 deletions(-)

diffs (truncated from 358 to 300 lines):

diff -r 12626c6666c2 -r 86c6c1b3854f common/lib/libc/arch/m68k/gen/divsi3.S
--- a/common/lib/libc/arch/m68k/gen/divsi3.S    Sat Apr 25 10:52:26 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*     $NetBSD: divsi3.S,v 1.5 2013/09/07 19:06:29 chs Exp $   */
-
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * the Systems Programming Group of the University of Utah Computer
- * Science Department.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-
-#if defined(LIBC_SCCS) && !defined(lint)
-#if 0
-       RCSID("from: @(#)divsi3.s       5.1 (Berkeley) 6/7/90")
-#else
-       RCSID("$NetBSD: divsi3.S,v 1.5 2013/09/07 19:06:29 chs Exp $")
-#endif
-#endif /* LIBC_SCCS and not lint */
-
-/* int / int */
-#ifndef __mc68010__
-ENTRY(__divsi3)
-       movel   4(%sp),%d0
-       divsl   8(%sp),%d0
-       rts
-END(__divsi3)
-#else
-ENTRY(__divsi3)
-| NB: this requires that __udivsi3 preserve %a0:
-       movel   4(%sp), %d1     | load the dividend
-       bpl     1f
-       negl    4(%sp)          | store abs(dividend)
-1:     movel   8(%sp), %d0     | load the divisor
-       bpl     2f
-       negl    8(%sp)          | store abs(divisor)
-2:     eorl    %d1, %d0
-       bpl     3f              | branch if sgn(divisor) == sgn(dividend)
-       movel   (%sp)+, %a0     | pop return address
-       pea     (.Lret,%pc)     | push our return address
-3:     jmp     _C_LABEL(__udivsi3)
-.Lret: negl    %d0             | negate quotient
-       jmp     (%a0)
-END(__divsi3)
-#endif /* __mc68010__ */
diff -r 12626c6666c2 -r 86c6c1b3854f common/lib/libc/arch/m68k/gen/modsi3.S
--- a/common/lib/libc/arch/m68k/gen/modsi3.S    Sat Apr 25 10:52:26 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*     $NetBSD: modsi3.S,v 1.7 2014/03/04 04:03:49 matt Exp $  */
-
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * the Systems Programming Group of the University of Utah Computer
- * Science Department.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-
-#if defined(LIBC_SCCS) && !defined(lint)
-#if 0
-       RCSID("from: @(#)modsi3.s       5.1 (Berkeley) 6/7/90")
-#else
-       RCSID("$NetBSD: modsi3.S,v 1.7 2014/03/04 04:03:49 matt Exp $")
-#endif
-#endif /* LIBC_SCCS and not lint */
-
-/* int % int */
-#ifndef __mc68010__
-ENTRY(__modsi3)
-       movel   4(%sp),%d1
-#ifdef __mcoldfire__
-       remsl   8(%sp),%d0:%d1
-       divsl   8(%sp),%d1
-#else
-       divsll  8(%sp),%d0:%d1
-#endif
-       rts
-END(__modsi3)
-#else
-ENTRY(__modsi3)
-| NB: this requires that __udivsi3 preserve %a0 and return
-| the modulus in %d1:
-       movel   (%sp)+, %a0     | pop return address
-       movel   4(%sp), %d1     | load the divisor
-       bpl     1f
-       negl    4(%sp)          | store abs(divisor)
-1:     movel   (%sp), %d0      | load the dividend
-       pea     (.Lret,%pc)     | push our return address
-       bpl     2f
-       negl    4(%sp)          | store abs(dividend)
-       subql   #2, (%sp)       | adjust return address
-2:     jmp     _C_LABEL(__udivsi3)
-       negl    %d1             | negate modulus
-.Lret: movl    %d1, %d0        | move modulus into %d0
-       jmp     (%a0)
-END(__modsi3)
-#endif /* __mc68010__ */
diff -r 12626c6666c2 -r 86c6c1b3854f common/lib/libc/arch/m68k/gen/udivsi3.S
--- a/common/lib/libc/arch/m68k/gen/udivsi3.S   Sat Apr 25 10:52:26 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*     $NetBSD: udivsi3.S,v 1.4 2013/07/16 23:24:18 matt Exp $ */
-
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * the Systems Programming Group of the University of Utah Computer
- * Science Department.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-
-#if defined(LIBC_SCCS) && !defined(lint)
-#if 0
-       RCSID("from: @(#)udivsi3.s      5.1 (Berkeley) 6/7/90")
-#else
-       RCSID("$NetBSD: udivsi3.S,v 1.4 2013/07/16 23:24:18 matt Exp $")
-#endif
-#endif /* LIBC_SCCS and not lint */
-
-/* unsigned / unsigned */
-#ifndef __mc68010__
-ENTRY(__udivsi3)
-       movel   4(%sp),%d0
-       divul   8(%sp),%d0
-       rts
-END(__udivsi3)
-#else
-ENTRY(__udivsi3)
-       movel   %d2, -(%sp)     | save %d2
-       movel   12(%sp), %d0    | load divisor
-       movel   8(%sp), %d1     | load dividend
-
-| first, we divide the divisor and dividend by two until 
-| the divisor fits into 16 bits:
-1:     cmpil   #0x10000, %d0
-       bcs     2f
-       lsrl    #1, %d0
-       lsrl    #1, %d1
-       bra     1b
-2:
-
-| now we can do the divide.  to avoid overflow, we have to 
-| do the divide in two parts, high and low, and add the 
-| results together:
-       movew   %d1, %d2        | save low(dividend)
-       clrw    %d1
-       swap    %d1             | %d1 = dividend >> 16
-       divuw   %d0, %d1        | do the high divide
-       moveal  %d1, %a1        | save high divide result
-       movew   %d2, %d1        | concat(remainder, low(dividend))
-       divuw   %d0, %d1        | do the low divide
-       movel   %a1, %d0        | recover high divide result
-       swap    %d0
-       clrw    %d0             | %d0 = finished high divide result
-       andil   #0xffff, %d1    | %d1 = finished low divide result
-       addl    %d1, %d0        | %d0 = quotient guess
-
-| the quotient we have so far is only a guess.  the divide we 
-| did above was really the divide of some dividendB by some 
-| divisorB, where the following hold:
-|
-| (dividend - divisor) <= dividendB <= dividend
-| (divisor / 2) < divisorB <= divisor
-|
-| so our guess quotient cannot be less than our real desired
-| quotient.  however, it might be one too big.
-|
-| to adjust this quotient, we multiply it by the original 
-| divisor and subtract the result from the original dividend.  
-| if the result is nonnegative, our guessed quotient was 
-| correct, and the subtraction result is our remainder.  
-| if the result is negative, our guessed quotient was one 
-| too big, and the subtraction result plus the original 
-| divisor is our remainder.
-|
-| as in mulsi3, we have to do the multiply in stages to avoid 
-| overflow:
-
-       movel   12(%sp), %d2    | load divisor
-       swap    %d2
-       movel   %d0, %d1
-       muluw   %d2, %d1        | high(divisor) * low(guess)
-       moveal  %d1, %a1        | save high(divisor) * low(guess)
-       swap    %d2
-       movel   %d0, %d1
-       swap    %d1
-       muluw   %d2, %d1        | low(divisor) * high(guess)
-       addl    %a1, %d1
-       swap    %d1
-       clrw    %d1             | %d1 = finished high multiply result
-       moveal  %d2, %a1        | save original divisor
-       muluw   %d0, %d2        | low(guess) * low(divisor)
-       addl    %d1, %d2        | %d2 = guess * divisor
-       
-       movel   8(%sp), %d1     | load original dividend
-       subl    %d2, %d1        | subtract
-       bcc     3f
-       subql   #1, %d0         | adjust quotient
-       addl    %a1, %d1        | adjust remainder
-3:     movel   (%sp)+, %d2     | restore %d2
-       rts
-END(__udivsi3)
-#endif /* __mc68010__ */
diff -r 12626c6666c2 -r 86c6c1b3854f common/lib/libc/arch/m68k/gen/umodsi3.S
--- a/common/lib/libc/arch/m68k/gen/umodsi3.S   Sat Apr 25 10:52:26 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*     $NetBSD: umodsi3.S,v 1.5 2014/03/04 06:15:33 matt Exp $ */
-
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * the Systems Programming Group of the University of Utah Computer
- * Science Department.



Home | Main Index | Thread Index | Old Index