/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
.align 8
!
!
.word 1089470464
.word 0
!
!
.word 1055916032
.word 0
!
!
Zero:
.word 0
.word 0
!
!
.word 1106247680
.word 0
!
!
.word 1039138816
.word 0
! 1 !/*
! 2 ! * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
! 3 ! * Use is subject to license terms.
! 4 ! */
! 6 !#pragma ident "%Z%%M% %I% %E% SMI"
! 9 !/*
! 10 ! * If compiled without -DRF_INLINE_MACROS then needs -lm at link time
! 11 ! * If compiled with -DRF_INLINE_MACROS then needs conv.il at compile time
! 12 ! * (i.e. cc <compileer_flags> -DRF_INLINE_MACROS conv.il mont_mulf.c )
! 13 ! */
! 16 !#include <math.h>
! 24 !#ifdef RF_INLINE_MACROS
! 26 !double upper32(double);
! 27 !double lower32(double, double);
! 28 !double mod(double, double, double);
! 30 !#else
! 32 !static double
! 33 !upper32(double x)
! 34 !{
! 36 !}
! 39 !/* ARGSUSED */
! 40 !static double
! 41 !lower32(double x, double y)
! 42 !{
! 44 !}
! 46 !static double
! 48 !{
! 50 !}
! 52 !#endif
! 55 !static void
! 57 !{
!
!
! 58 ! int i;
! 64 ! x = dt[i];
! 70 ! }
! 71 !}
! 74 !/* ARGSUSED */
! 75 !void
! 77 !{
!
!
! 78 ! int i;
! 80 ! a, b, c, d; /* because more efficient code is */
! 81 ! /* generated this way, and there */
! 82 ! /* is no overflow */
! 83 ! t1 = 0;
! 89 ! t = (a >> 32);
! 94 ! t1 = t;
! 95 ! a = c;
! 96 ! b = d;
! 97 ! }
! 99 ! t = (a >> 32);
!
!
! 102 !}
! 104 !void
! 106 !{
!
!
! 107 ! int i;
! 109 !#pragma pipeloop(0)
! 110 ! for (i = 0; i < len; i++)
!
!
! 112 !}
! 115 !void
! 117 !{
!
!
! 118 ! int i;
! 119 ! uint32_t a;
! 121 !#pragma pipeloop(0)
! 122 ! for (i = 0; i < len; i++) {
! 123 ! a = i32[i];
!
!
! 126 ! }
! 127 !}
! 129 !#ifdef RF_INLINE_MACROS
! 131 !void
! 133 ! const double *, /* 2^16 */
! 134 ! const double *, /* 0 */
! 135 ! double *, /* result16 */
! 136 ! double *, /* result32 */
! 137 ! float *); /* source - should be unsigned int* */
! 138 ! /* converted to float* */
! 140 !#else
! 143 !/* ARGSUSED */
! 144 !static void
! 148 ! double *result16,
! 149 ! double *result32,
! 151 ! /* converted to float* */
! 152 !{
! 154 ! uint32_t a, b, c, d;
! 157 ! a = i32[0];
! 163 ! result32[0] = (double)a;
! 173 !}
! 175 !#endif
! 178 !void
! 180 !{
!
!
! 181 ! int i;
! 182 ! uint32_t a;
! 184 !#pragma pipeloop(0)
! 188 ! (float *)(&(i32[i])));
! 189 ! }
! 190 ! for (; i < len; i++) {
! 191 ! a = i32[i];
! 195 ! }
! 196 !}
! 199 !static void
! 201 !{
!
!
! 203 ! int i;
! 206 ! i = -1;
! 207 ! else {
! 210 ! }
! 211 ! }
! 213 ! acc = 0;
! 214 ! for (i = 0; i < len; i++) {
! 218 ! }
! 219 ! }
! 220 !}
! 223 !/*
! 224 ! * the lengths of the input arrays should be at least the following:
! 225 ! * result[nlen+1], dm1[nlen], dm2[2*nlen+1], dt[4*nlen+2], dn[nlen], nint[nlen]
! 226 ! * all of them should be different from one another
! 227 ! */
! 232 !{
!
!
! 233 ! int i, j, jj;
! 255 !#pragma pipeloop(0)
! 258 ! }
! 261 ! jj = 0;
! 262 ! }
! 266 ! }
! 267 ! } else {
!1
!2
!3
!4
!5
!6
!7
!8
!9
!10
!11
!12
!13
!14
!15
!16
!17
!18
!19
!20
!21
!22
!23
!24
!25
!26
!27
!28
!29
!30
!31
!32
!33
!34
!35
!36
!37
!38
!39
!40
!41
!42
!43
!44
!45
!46
!47
!48
!49
!50
!51
!52
!53
!54
!55
! 321 ! }
! 322 ! }
.xstabs ".stab.index","Xa ; O ; P ; V=3.1 ; R=Sun WorkShop 6 update 1 C 5.2 Patch 109513-02 2001/02/04",60,0,0,0 ! (/tmp/acompAAAnPa4q5:1)
.xstabs ".stab.index","/home/ferenc/venus/userland/rsa; /ws/cpg-tools/SUNWspro/SC6.1/bin/../WS6U1/bin/cc -DRF_INLINE_MACROS -fast -xarch=v9 -xO5 -xstrconst -xdepend -Xa -xchip=ultra2 -KPIC -Wc,-Qrm-Qd -Wc,-Qrm-Qf -Wc,-assembly -V -c conv_v9.il -o mont_mulf.o mont_mulf.c -W0,-xp",52,0,0,0 ! (/tmp/acompAAAnPa4q5:2)
.ident "cg: Sun WorkShop 6 update 1 Compiler Common 6.1 Patch 109505-04 2001/03/07" ! (NO SOURCE LINE)