Annotation of OpenXM_contrib/gmp/mpn/powerpc64/sqr_diagonal.asm, Revision 1.1.1.1
1.1 ohara 1: # PowerPC-64 mpn_sqr_diagonal.
2:
3: # Copyright 2001, 2002 Free Software Foundation, Inc.
4:
5: # This file is part of the GNU MP Library.
6:
7: # The GNU MP Library is free software; you can redistribute it and/or modify
8: # it under the terms of the GNU Lesser General Public License as published by
9: # the Free Software Foundation; either version 2.1 of the License, or (at your
10: # option) any later version.
11:
12: # The GNU MP Library is distributed in the hope that it will be useful, but
13: # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14: # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15: # License for more details.
16:
17: # You should have received a copy of the GNU Lesser General Public License
18: # along with the GNU MP Library; see the file COPYING.LIB. If not, write to
19: # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
20: # MA 02111-1307, USA.
21:
22: include(`../config.m4')
23:
24:
25: # ppc630: 18.0 cycles/limb
26:
27:
28: # INPUT PARAMETERS
29: # res_ptr r3
30: # s1_ptr r4
31: # size r5
32: # s2_limb r6
33:
34: ASM_START()
35: PROLOGUE(mpn_sqr_diagonal)
36: mtctr r5
37: cal r3,-8(r3)
38: cal r4,-8(r4)
39:
40: .Loop: ldu r0,8(r4)
41: mulld r7,r0,r0
42: mulhdu r9,r0,r0
43: std r7,8(r3)
44: stdu r9,16(r3)
45: bdnz .Loop
46:
47: blr
48: EPILOGUE(mpn_sqr_diagonal)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>