1 /* { dg-do compile } */ 2 /* { dg-options "-fpic" { target fpic } } */ 3 4 typedef int int32_t; 5 static const int init_jk[] = {2,3,4,6}; __kernel_rem_pio2(double * x,double * y,int e0,int nx,int prec,const int32_t * ipio2)6 int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const int32_t *ipio2) 7 { 8 int32_t jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih; 9 double z,fw,f[20],fq[20],q[20]; 10 jk = init_jk[prec]; 11 jp = jk; 12 jx = nx-1; 13 for (i=0;i<=jk;i++) { 14 for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; 15 } 16 for(i=0,j=jz,z=q[jz];j>0;i++,j--) { 17 z = q[j-1]+fw; 18 } 19 n = (int32_t) z; 20 return n&7; 21 } 22