Print this page

        

*** 26,35 **** --- 26,36 ---- * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #include <sys/isa_defs.h> + #include <sys/ccompile.h> #ifdef _LITTLE_ENDIAN #define HI(x) *(1+(int*)x) #define LO(x) *(unsigned*)x #else
*** 96,109 **** __vcos( int n, double * restrict x, int stridex, double * restrict y, int stridey ) { double x0_or_one[4], x1_or_one[4], x2_or_one[4]; double y0_or_zero[4], y1_or_zero[4], y2_or_zero[4]; ! double x0, x1, x2, *py0, *py1, *py2, *xsave, *ysave; ! unsigned hx0, hx1, hx2, xsb0, xsb1, xsb2; int i, biguns, nsave, sxsave, sysave; - nsave = n; xsave = x; sxsave = stridex; ysave = y; sysave = stridey; --- 97,109 ---- __vcos( int n, double * restrict x, int stridex, double * restrict y, int stridey ) { double x0_or_one[4], x1_or_one[4], x2_or_one[4]; double y0_or_zero[4], y1_or_zero[4], y2_or_zero[4]; ! double x0, x1, x2, *py0 = 0, *py1 = 0, *py2, *xsave, *ysave; ! unsigned hx0, hx1, hx2, xsb0, xsb1 = 0, xsb2; int i, biguns, nsave, sxsave, sysave; nsave = n; xsave = x; sxsave = stridex; ysave = y; sysave = stridey;
*** 120,130 **** biguns = 1; goto MEDIUM; } if ( hx0 < 0x3e400000 ) { /* Too small. cos x ~ 1. */ - volatile int v = *x; *y = 1.0; x += stridex; y += stridey; i = 0; if ( --n <= 0 ) --- 120,129 ----
*** 147,157 **** biguns = 2; goto MEDIUM; } if ( hx1 < 0x3e400000 ) { - volatile int v = *x; *y = 1.0; x += stridex; y += stridey; i = 1; if ( --n <= 0 ) --- 146,155 ----
*** 174,184 **** biguns = 3; goto MEDIUM; } if ( hx2 < 0x3e400000 ) { - volatile int v = *x; *y = 1.0; x += stridex; y += stridey; i = 2; if ( --n <= 0 ) --- 172,181 ----