head 1.2; access; symbols perseant-exfatfs-base-20250801:1.2 perseant-exfatfs-base-20240630:1.2 perseant-exfatfs:1.2.0.8 perseant-exfatfs-base:1.2 netbsd-8-3-RELEASE:1.1.1.1 cjep_sun2x:1.2.0.6 cjep_sun2x-base:1.2 cjep_staticlib_x-base1:1.2 cjep_staticlib_x:1.2.0.4 cjep_staticlib_x-base:1.2 phil-wifi-20200421:1.2 phil-wifi-20200411:1.2 phil-wifi-20200406:1.2 netbsd-8-2-RELEASE:1.1.1.1 netbsd-8-1-RELEASE:1.1.1.1 netbsd-8-1-RC1:1.1.1.1 pgoyette-compat-merge-20190127:1.2 pgoyette-compat-20190127:1.2 pgoyette-compat-20190118:1.2 pgoyette-compat-1226:1.2 pgoyette-compat-1126:1.2 pgoyette-compat-1020:1.2 pgoyette-compat-0930:1.2 pgoyette-compat-0906:1.2 netbsd-7-2-RELEASE:1.1.1.1 pgoyette-compat-0728:1.2 netbsd-8-0-RELEASE:1.1.1.1 pgoyette-compat-0625:1.2 netbsd-8-0-RC2:1.1.1.1 pgoyette-compat-0521:1.2 pgoyette-compat-0502:1.2 pgoyette-compat-0422:1.2 netbsd-8-0-RC1:1.1.1.1 pgoyette-compat-0415:1.2 pgoyette-compat-0407:1.2 pgoyette-compat-0330:1.2 pgoyette-compat-0322:1.2 pgoyette-compat-0315:1.2 netbsd-7-1-2-RELEASE:1.1.1.1 pgoyette-compat:1.2.0.2 pgoyette-compat-base:1.2 netbsd-7-1-1-RELEASE:1.1.1.1 matt-nb8-mediatek:1.1.1.1.0.26 matt-nb8-mediatek-base:1.1.1.1 perseant-stdc-iso10646:1.1.1.1.0.24 perseant-stdc-iso10646-base:1.1.1.1 netbsd-8:1.1.1.1.0.22 netbsd-8-base:1.1.1.1 prg-localcount2-base3:1.1.1.1 prg-localcount2-base2:1.1.1.1 prg-localcount2-base1:1.1.1.1 prg-localcount2:1.1.1.1.0.20 prg-localcount2-base:1.1.1.1 pgoyette-localcount-20170426:1.1.1.1 bouyer-socketcan-base1:1.1.1.1 pgoyette-localcount-20170320:1.1.1.1 netbsd-7-1:1.1.1.1.0.18 netbsd-7-1-RELEASE:1.1.1.1 netbsd-7-1-RC2:1.1.1.1 netbsd-7-nhusb-base-20170116:1.1.1.1 bouyer-socketcan:1.1.1.1.0.16 bouyer-socketcan-base:1.1.1.1 pgoyette-localcount-20170107:1.1.1.1 netbsd-7-1-RC1:1.1.1.1 pgoyette-localcount-20161104:1.1.1.1 netbsd-7-0-2-RELEASE:1.1.1.1 localcount-20160914:1.1.1.1 netbsd-7-nhusb:1.1.1.1.0.14 netbsd-7-nhusb-base:1.1.1.1 pgoyette-localcount-20160806:1.1.1.1 pgoyette-localcount-20160726:1.1.1.1 pgoyette-localcount:1.1.1.1.0.12 pgoyette-localcount-base:1.1.1.1 netbsd-7-0-1-RELEASE:1.1.1.1 netbsd-7-0:1.1.1.1.0.10 netbsd-7-0-RELEASE:1.1.1.1 netbsd-7-0-RC3:1.1.1.1 netbsd-7-0-RC2:1.1.1.1 netbsd-7-0-RC1:1.1.1.1 tls-maxphys-base:1.1.1.1 tls-maxphys:1.1.1.1.0.8 netbsd-7:1.1.1.1.0.6 netbsd-7-base:1.1.1.1 yamt-pagecache:1.1.1.1.0.4 yamt-pagecache-base9:1.1.1.1 tls-earlyentropy:1.1.1.1.0.2 tls-earlyentropy-base:1.1.1.1 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.1 riastradh-drm2-base3:1.1.1.1 gmp-5-1-3:1.1.1.1 gmp:1.1.1; locks; strict; comment @;; @; 1.2 date 2017.08.22.09.55.46; author mrg; state dead; branches; next 1.1; commitid DVNRZh45aSIRZb4A; 1.1 date 2013.11.29.07.49.49; author mrg; state Exp; branches 1.1.1.1; next ; commitid L2Av4PuGmdoL39fx; 1.1.1.1 date 2013.11.29.07.49.49; author mrg; state Exp; branches 1.1.1.1.4.1 1.1.1.1.8.1; next ; commitid L2Av4PuGmdoL39fx; 1.1.1.1.4.1 date 2013.11.29.07.49.49; author yamt; state dead; branches; next 1.1.1.1.4.2; commitid nx2BSsHy0NPeAxBx; 1.1.1.1.4.2 date 2014.05.22.14.09.04; author yamt; state Exp; branches; next ; commitid nx2BSsHy0NPeAxBx; 1.1.1.1.8.1 date 2013.11.29.07.49.49; author tls; state dead; branches; next 1.1.1.1.8.2; commitid jTnpym9Qu0o4R1Nx; 1.1.1.1.8.2 date 2014.08.19.23.59.53; author tls; state Exp; branches; next ; commitid jTnpym9Qu0o4R1Nx; desc @@ 1.2 log @merge GMP 6.1.2. @ text @dnl SPARC v9 mpn_rshift for T1/T2. dnl Copyright 2010 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. dnl The GNU MP Library is free software; you can redistribute it and/or modify dnl it under the terms of the GNU Lesser General Public License as published dnl by the Free Software Foundation; either version 3 of the License, or (at dnl your option) any later version. dnl The GNU MP Library is distributed in the hope that it will be useful, but dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public dnl License for more details. dnl You should have received a copy of the GNU Lesser General Public License dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. include(`../config.m4') C cycles/limb C UltraSPARC T1: 17 C UltraSPARC T2: ? C INPUT PARAMETERS define(`rp', `%o0') define(`up', `%o1') define(`vp', `%o2') define(`n', `%o3') define(`cy', `%o4') ASM_START() REGISTER(%g2,#scratch) REGISTER(%g3,#scratch) PROLOGUE(mpn_rshift) add %o1, 0, %o1 add %o0, -16, %g1 sllx %o2, 3, %g5 add %o1, %g5, %o1 add %g1, %g5, %g1 neg %g5 sub %g0, %o3, %o4 ldx [%o1+%g5], %g2 add %g5, 8, %g5 brz,pn %g5, L(end) srlx %g2, %o3, %g4 L(top): ldx [%o1+%g5], %o5 add %g5, 8, %g5 sllx %o5, %o4, %g3 or %g4, %g3, %g3 srlx %o5, %o3, %g4 stx %g3, [%g1+%g5] brnz %g5, L(top) nop L(end): stx %g4, [%g1+8] retl sllx %g2, %o4, %o0 EPILOGUE() @ 1.1 log @Initial revision @ text @@ 1.1.1.1 log @initial import GMP 5.1.3 sources. changes include: fixes for: - mpn_sbpi1_div_qr_sec and mpn_sbpi1_div_r_sec - mpz_powm_ui - AMD family 11h - mpz_powm_sec and mpn_powm_sec - ASSERT() fixes - gcd, gcdext, and invert function fixes - some PPC division operations @ text @@ 1.1.1.1.8.1 log @file rshift.asm was added on branch tls-maxphys on 2014-08-19 23:59:53 +0000 @ text @d1 61 @ 1.1.1.1.8.2 log @Rebase to HEAD as of a few days ago. @ text @a0 61 dnl SPARC v9 mpn_rshift for T1/T2. dnl Copyright 2010 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. dnl The GNU MP Library is free software; you can redistribute it and/or modify dnl it under the terms of the GNU Lesser General Public License as published dnl by the Free Software Foundation; either version 3 of the License, or (at dnl your option) any later version. dnl The GNU MP Library is distributed in the hope that it will be useful, but dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public dnl License for more details. dnl You should have received a copy of the GNU Lesser General Public License dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. include(`../config.m4') C cycles/limb C UltraSPARC T1: 17 C UltraSPARC T2: ? C INPUT PARAMETERS define(`rp', `%o0') define(`up', `%o1') define(`vp', `%o2') define(`n', `%o3') define(`cy', `%o4') ASM_START() REGISTER(%g2,#scratch) REGISTER(%g3,#scratch) PROLOGUE(mpn_rshift) add %o1, 0, %o1 add %o0, -16, %g1 sllx %o2, 3, %g5 add %o1, %g5, %o1 add %g1, %g5, %g1 neg %g5 sub %g0, %o3, %o4 ldx [%o1+%g5], %g2 add %g5, 8, %g5 brz,pn %g5, L(end) srlx %g2, %o3, %g4 L(top): ldx [%o1+%g5], %o5 add %g5, 8, %g5 sllx %o5, %o4, %g3 or %g4, %g3, %g3 srlx %o5, %o3, %g4 stx %g3, [%g1+%g5] brnz %g5, L(top) nop L(end): stx %g4, [%g1+8] retl sllx %g2, %o4, %o0 EPILOGUE() @ 1.1.1.1.4.1 log @file rshift.asm was added on branch yamt-pagecache on 2014-05-22 14:09:04 +0000 @ text @d1 61 @ 1.1.1.1.4.2 log @sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments") @ text @a0 61 dnl SPARC v9 mpn_rshift for T1/T2. dnl Copyright 2010 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. dnl The GNU MP Library is free software; you can redistribute it and/or modify dnl it under the terms of the GNU Lesser General Public License as published dnl by the Free Software Foundation; either version 3 of the License, or (at dnl your option) any later version. dnl The GNU MP Library is distributed in the hope that it will be useful, but dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public dnl License for more details. dnl You should have received a copy of the GNU Lesser General Public License dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. include(`../config.m4') C cycles/limb C UltraSPARC T1: 17 C UltraSPARC T2: ? C INPUT PARAMETERS define(`rp', `%o0') define(`up', `%o1') define(`vp', `%o2') define(`n', `%o3') define(`cy', `%o4') ASM_START() REGISTER(%g2,#scratch) REGISTER(%g3,#scratch) PROLOGUE(mpn_rshift) add %o1, 0, %o1 add %o0, -16, %g1 sllx %o2, 3, %g5 add %o1, %g5, %o1 add %g1, %g5, %g1 neg %g5 sub %g0, %o3, %o4 ldx [%o1+%g5], %g2 add %g5, 8, %g5 brz,pn %g5, L(end) srlx %g2, %o3, %g4 L(top): ldx [%o1+%g5], %o5 add %g5, 8, %g5 sllx %o5, %o4, %g3 or %g4, %g3, %g3 srlx %o5, %o3, %g4 stx %g3, [%g1+%g5] brnz %g5, L(top) nop L(end): stx %g4, [%g1+8] retl sllx %g2, %o4, %o0 EPILOGUE() @