2 ! ***** BEGIN LICENSE BLOCK *****
3 ! Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 ! The contents of this file are subject to the Mozilla Public License Version
6 ! 1.1 (the "License"); you may not use this file except in compliance with
7 ! the License. You may obtain a copy of the License at
8 ! http://www.mozilla.org/MPL/
10 ! Software distributed under the License is distributed on an "AS IS" basis,
11 ! WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 ! for the specific language governing rights and limitations under the
15 ! The Original Code is inline macros for SPARC Montgomery multiply functions.
17 ! The Initial Developer of the Original Code is
18 ! Sun Microsystems Inc.
19 ! Portions created by the Initial Developer are Copyright (C) 1999-2000
20 ! the Initial Developer. All Rights Reserved.
24 ! Alternatively, the contents of this file may be used under the terms of
25 ! either the GNU General Public License Version 2 or later (the "GPL"), or
26 ! the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 ! in which case the provisions of the GPL or the LGPL are applicable instead
28 ! of those above. If you wish to allow use of your version of this file only
29 ! under the terms of either the GPL or the LGPL, and not to allow others to
30 ! use your version of this file under the terms of the MPL, indicate your
31 ! decision by deleting the provisions above and replace them with the notice
32 ! and other provisions required by the GPL or the LGPL. If you do not delete
33 ! the provisions above, a recipient may use your version of this file under
34 ! the terms of any one of the MPL, the GPL or the LGPL.
36 ! ***** END LICENSE BLOCK *****
37 ! $Id: montmulf.il,v 1.4 2004/04/27 23:04:36 gerv%gerv.net Exp $
40 ! double upper32(double /*frs1*/);
51 ! double lower32(double /*frs1*/, double /* Zero */);
65 ! double mod(double /*x*/, double /*1/m*/, double /*m*/);
84 ! void i16_to_d16_and_d32x4(double * /*1/(2^16)*/, double * /* 2^16*/,
86 ! double * /*result16*/, double * /* result32 */
87 ! float * /*source - should be unsigned int*
88 ! converted to float* */);
90 .inline i16_to_d16_and_d32x4,24
91 ldd [%o0],%f2 ! 1/(2^16)