< prev index next >

src/java.desktop/share/native/libmlib_image/mlib_ImageConv_8ext.c

Print this page
rev 59383 : [mq]: final

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this

@@ -162,11 +162,10 @@
   dll = mlib_ImageGetStride(dst) / sizeof(type);                \
   adr_src = (type *)mlib_ImageGetData(src);                     \
   adr_dst = (type *)mlib_ImageGetData(dst)
 
 /***************************************************************/
-#ifndef __sparc
 #if IMG_TYPE == 1
 
 /*
  * Test for the presence of any "1" bit in bits
    8 to 31 of val. If present, then val is either

@@ -206,11 +205,10 @@
     dst = MLIB_U16_MIN;                                         \
   else                                                          \
     dst = (mlib_u16)val
 
 #endif /* IMG_TYPE == 1 */
-#endif /* __sparc */
 
 /***************************************************************/
 #define MAX_KER   7
 #define MAX_N    15
 #define BUFF_SIZE   1600

@@ -274,25 +272,19 @@
       if (!(cmask & (1 << (nchannel - 1 - c)))) continue;
 
       sl = adr_src + c;
       dl = adr_dst + c;
 
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
       for (i = 0; i < hsize; i++) buffd[i] = 0.0;
 
       for (j = 0; j < wid; j++) {
         FTYPE    *buff = sbuff;
 
         for (i = k_off, ii = 0; (i < dy_t) && (ii < smax_hsize); i++, ii++) {
           sbuff[i - k_off] = (FTYPE)sl[0];
         }
 
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
         for (; (i < shgt + dy_t) && (ii < smax_hsize); i++, ii++) {
           sbuff[i - k_off] = (FTYPE)sl[(i - dy_t)*sll];
         }
 
         for (; (i < shgt + dy_t + dy_b) && (ii < smax_hsize); i++, ii++) {

@@ -304,13 +296,10 @@
         for (off = 0; off < (n - 4); off += 4) {
 
           p2 = buff[0]; p3 = buff[1]; p4 = buff[2];
           k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3];
 
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
           for (i = 0; i < hsize; i += 2) {
             p0 = p2; p1 = p3; p2 = p4;
 
             p3 = buff[i + 3]; p4 = buff[i + 4];
 

@@ -327,13 +316,10 @@
 
         if (kh == 4) {
           p2 = buff[0]; p3 = buff[1]; p4 = buff[2];
           k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3];
 
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
           for (i = 0; i <= (hsize - 2); i += 2) {
             p0 = p2; p1 = p3; p2 = p4;
 
             p3 = buff[i + 3]; p4 = buff[i + 4];
 

@@ -360,13 +346,10 @@
         } else if (kh == 3) {
 
           p2 = buff[0]; p3 = buff[1];
           k0 = pk[0]; k1 = pk[1]; k2 = pk[2];
 
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
           for (i = 0; i <= (hsize - 2); i += 2) {
             p0 = p2; p1 = p3;
 
             p2 = buff[i + 2]; p3 = buff[i + 3];
 

@@ -394,13 +377,10 @@
         } else if (kh == 2) {
 
           p2 = buff[0];
           k0 = pk[0]; k1 = pk[1];
 
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
           for (i = 0; i <= (hsize - 2); i += 2) {
             p0 = p2;
 
             p1 = buff[i + 1]; p2 = buff[i + 2];
 

@@ -427,13 +407,10 @@
 
         } else /* kh == 1 */{
 
           k0 = pk[0];
 
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
           for (i = 0; i <= (hsize - 2); i += 2) {
             p0 = buff[i]; p1 = buff[i + 1];
 
             d0 = D2I(p0*k0 + buffd[i    ]);
             d1 = D2I(p1*k0 + buffd[i + 1]);

@@ -552,13 +529,10 @@
 
       for (i = 0; i < dx_l; i++) {
         buff[i] = (FTYPE)sl[0];
       }
 
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
       for (i = 0; i < swid; i++) {
         buff[i + dx_l] = (FTYPE)sl[i*chan1];
       }
 
       for (i = 0; i < dx_r; i++) {

@@ -568,13 +542,10 @@
       if ((l >= dy_t) && (l < hgt + n - dy_b - 2)) sl += sll;
     }
 
     buff_ind = 0;
 
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
     for (i = 0; i < wid; i++) buffd[i] = 0.0;
 
     for (j = 0; j < hgt; j++) {
       FTYPE    **buffc = buffs + buff_ind;
       FTYPE    *buffn = buffc[n];

@@ -602,26 +573,20 @@
 
             k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3];
             k4 = pk[4]; k5 = pk[5]; k6 = pk[6];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5; p4 = p6; p5 = p7;
 
                 p6 = buff[i + 6]; p7 = buff[i + 7];
 
                 buffd[i    ] += p0*k0 + p1*k1 + p2*k2 + p3*k3 + p4*k4 + p5*k5 + p6*k6;
                 buffd[i + 1] += p1*k0 + p2*k1 + p3*k2 + p4*k3 + p5*k4 + p6*k5 + p7*k6;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5; p4 = p6; p5 = p7;
 
                 p6 = buff[i + 6]; p7 = buff[i + 7];
 

@@ -652,26 +617,20 @@
 
             k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3];
             k4 = pk[4]; k5 = pk[5];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5; p4 = p6;
 
                 p5 = buff[i + 5]; p6 = buff[i + 6];
 
                 buffd[i    ] += p0*k0 + p1*k1 + p2*k2 + p3*k3 + p4*k4 + p5*k5;
                 buffd[i + 1] += p1*k0 + p2*k1 + p3*k2 + p4*k3 + p5*k4 + p6*k5;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5; p4 = p6;
 
                 p5 = buff[i + 5]; p6 = buff[i + 6];
 

@@ -702,26 +661,20 @@
 
             k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3];
             k4 = pk[4];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5;
 
                 p4 = buff[i + 4]; p5 = buff[i + 5];
 
                 buffd[i    ] += p0*k0 + p1*k1 + p2*k2 + p3*k3 + p4*k4;
                 buffd[i + 1] += p1*k0 + p2*k1 + p3*k2 + p4*k3 + p5*k4;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5;
 
                 p4 = buff[i + 4]; p5 = buff[i + 5];
 

@@ -750,26 +703,20 @@
             p2 = buff[0]; p3 = buff[1]; p4 = buff[2];
 
             k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4;
 
                 p3 = buff[i + 3]; p4 = buff[i + 4];
 
                 buffd[i    ] += p0*k0 + p1*k1 + p2*k2 + p3*k3;
                 buffd[i + 1] += p1*k0 + p2*k1 + p3*k2 + p4*k3;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4;
 
                 p3 = buff[i + 3]; p4 = buff[i + 4];
 

@@ -797,26 +744,20 @@
 
             p2 = buff[0]; p3 = buff[1];
             k0 = pk[0]; k1 = pk[1]; k2 = pk[2];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3;
 
                 p2 = buff[i + 2]; p3 = buff[i + 3];
 
                 buffd[i    ] += p0*k0 + p1*k1 + p2*k2;
                 buffd[i + 1] += p1*k0 + p2*k1 + p3*k2;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3;
 
                 p2 = buff[i + 2]; p3 = buff[i + 3];
 

@@ -844,26 +785,20 @@
 
             p2 = buff[0];
             k0 = pk[0]; k1 = pk[1];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2;
 
                 p1 = buff[i + 1]; p2 = buff[i + 2];
 
                 buffd[i    ] += p0*k0 + p1*k1;
                 buffd[i + 1] += p1*k0 + p2*k1;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2;
 
                 p1 = buff[i + 1]; p2 = buff[i + 2];
 

@@ -933,11 +868,11 @@
 
   FREE_AND_RETURN_STATUS;
 }
 
 /***************************************************************/
-#ifndef __sparc /* for x86, using integer multiplies is faster */
+/* for x86, using integer multiplies is faster */
 
 #define STORE_RES(res, x)                                       \
   x >>= shift2;                                                 \
   CLAMP_STORE(res, x)
 

@@ -1010,13 +945,10 @@
 
       for (i = 0; i < dx_l; i++) {
         buff[i] = (mlib_s32)sl[0];
       }
 
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
       for (i = 0; i < swid; i++) {
         buff[i + dx_l] = (mlib_s32)sl[i*chan1];
       }
 
       for (i = 0; i < dx_r; i++) {

@@ -1026,13 +958,10 @@
       if ((l >= dy_t) && (l < hgt + n - dy_b - 2)) sl += sll;
     }
 
     buff_ind = 0;
 
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
     for (i = 0; i < wid; i++) buffd[i] = 0;
 
     for (j = 0; j < hgt; j++) {
       mlib_s32 **buffc = buffs + buff_ind;
       mlib_s32 *buffn = buffc[n];

@@ -1060,26 +989,20 @@
 
             k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3];
             k4 = pk[4]; k5 = pk[5]; k6 = pk[6];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5; p4 = p6; p5 = p7;
 
                 p6 = buff[i + 6]; p7 = buff[i + 7];
 
                 buffd[i    ] += p0*k0 + p1*k1 + p2*k2 + p3*k3 + p4*k4 + p5*k5 + p6*k6;
                 buffd[i + 1] += p1*k0 + p2*k1 + p3*k2 + p4*k3 + p5*k4 + p6*k5 + p7*k6;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5; p4 = p6; p5 = p7;
 
                 p6 = buff[i + 6]; p7 = buff[i + 7];
 

@@ -1107,26 +1030,20 @@
 
             k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3];
             k4 = pk[4]; k5 = pk[5];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5; p4 = p6;
 
                 p5 = buff[i + 5]; p6 = buff[i + 6];
 
                 buffd[i    ] += p0*k0 + p1*k1 + p2*k2 + p3*k3 + p4*k4 + p5*k5;
                 buffd[i + 1] += p1*k0 + p2*k1 + p3*k2 + p4*k3 + p5*k4 + p6*k5;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5; p4 = p6;
 
                 p5 = buff[i + 5]; p6 = buff[i + 6];
 

@@ -1154,26 +1071,20 @@
 
             k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3];
             k4 = pk[4];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5;
 
                 p4 = buff[i + 4]; p5 = buff[i + 5];
 
                 buffd[i    ] += p0*k0 + p1*k1 + p2*k2 + p3*k3 + p4*k4;
                 buffd[i + 1] += p1*k0 + p2*k1 + p3*k2 + p4*k3 + p5*k4;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4; p3 = p5;
 
                 p4 = buff[i + 4]; p5 = buff[i + 5];
 

@@ -1199,26 +1110,20 @@
             p2 = buff[0]; p3 = buff[1]; p4 = buff[2];
 
             k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4;
 
                 p3 = buff[i + 3]; p4 = buff[i + 4];
 
                 buffd[i    ] += p0*k0 + p1*k1 + p2*k2 + p3*k3;
                 buffd[i + 1] += p1*k0 + p2*k1 + p3*k2 + p4*k3;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3; p2 = p4;
 
                 p3 = buff[i + 3]; p4 = buff[i + 4];
 

@@ -1243,26 +1148,20 @@
 
             p2 = buff[0]; p3 = buff[1];
             k0 = pk[0]; k1 = pk[1]; k2 = pk[2];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3;
 
                 p2 = buff[i + 2]; p3 = buff[i + 3];
 
                 buffd[i    ] += p0*k0 + p1*k1 + p2*k2;
                 buffd[i + 1] += p1*k0 + p2*k1 + p3*k2;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2; p1 = p3;
 
                 p2 = buff[i + 2]; p3 = buff[i + 3];
 

@@ -1287,26 +1186,20 @@
 
             p2 = buff[0];
             k0 = pk[0]; k1 = pk[1];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2;
 
                 p1 = buff[i + 1]; p2 = buff[i + 2];
 
                 buffd[i    ] += p0*k0 + p1*k1;
                 buffd[i + 1] += p1*k0 + p2*k1;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = p2;
 
                 p1 = buff[i + 1]; p2 = buff[i + 2];
 

@@ -1330,24 +1223,18 @@
           } else /* kw == 1 */{
 
             k0 = pk[0];
 
             if (l < (n - 1) || off < m) {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = buff[i]; p1 = buff[i + 1];
 
                 buffd[i    ] += p0*k0;
                 buffd[i + 1] += p1*k0;
               }
 
             } else {
-#ifdef __SUNPRO_C
-#pragma pipeloop(0)
-#endif /* __SUNPRO_C */
               for (i = 0; i <= (wid - 2); i += 2) {
                 p0 = buff[i]; p1 = buff[i + 1];
 
                 buffn[i + dx_l    ] = (mlib_s32)sp[0];
                 buffn[i + dx_l + 1] = (mlib_s32)sp[chan1];

@@ -1412,8 +1299,6 @@
   if (k != k_locl) mlib_free(k);
 
   return MLIB_SUCCESS;
 }
 
-#endif /* __sparc ( for x86, using integer multiplies is faster ) */
-
 /***************************************************************/
< prev index next >