                                      mlib_s32       xsize,
                                      const mlib_u8  *table0,
                                      const mlib_u8  *table1,
                                      const mlib_u8  *table2,
                                      const mlib_u8  *table3)
{
  mlib_s16 *sp;                        /* pointer to source data */
  mlib_s32 s0, s1, s2, s3;             /* source data */
  mlib_s32 s4, s5, s6, s7;             /* source data */
  mlib_u8 *dl;                         /* pointer to start of destination */
  mlib_u8 *dend;                       /* pointer to end of destination */
  mlib_d64 *dp;                        /* aligned pointer to destination */
  mlib_d64 t0, t1, t2;                 /* destination data */
  mlib_d64 t3, t4, t5;                 /* destination data */
  mlib_d64 t6, t7, acc;                /* destination data */
  mlib_s32 emask;                      /* edge mask */
  mlib_s32 i, num;                     /* loop variable */

  dl = dst;
  dp = (mlib_d64 *) dl;
  dend = dl + xsize - 1;
  sp = (void *)src;

  vis_alignaddr((void *)0, 7);

  if (xsize >= 8) {

    s0 = sp[0];
    s1 = sp[1];
    s2 = sp[2];
    s3 = sp[3];
    s4 = sp[4];
    s5 = sp[5];
    s6 = sp[6];
    s7 = sp[7];
    sp += 8;

#pragma pipeloop(0)
    for (i = 0; i <= xsize - 16; i += 8, sp += 8) {
      t7 = VIS_LD_U8_I(table3, s7);
      t6 = VIS_LD_U8_I(table2, s6);
      t5 = VIS_LD_U8_I
mlib_s32        xsize, 
                                       const mlib_u8   * table0, 
                                       const mlib_u8   * table1, 
                                       const mlib_u8   * table2, 
                                       const mlib_u8   * table3) 
 { 
   mlib_s16 * sp;                         / * pointer to source data * / 
   mlib_s32 s0, s1, s2, s3;              / * source data * / 
   mlib_s32 s4, s5, s6, s7;              / * generator datum * / 
   mlib_u8 * dl;                          / * pointer to start of finish * / 
   mlib_u8 * dend;                        / * cursor to end of destination * / 
   mlib_d64 * dp;                         / * aligned cursor to address * / 
   mlib_d64 t0, t1, t2;                  / * destination datum * / 
   mlib_d64 t3, t4, t5;                  / * finish data * / 
   mlib_d64 t6, t7, acc;                 / * address data * / 
   mlib_s32 emask;                       / * edge mask * / 
   mlib_s32 i, num;                      / * loop variable star * / 

   dl = dst; 
   dp = (mlib_d64 *) dl; 
   dend = dl + xsize - 1; 
   sp = (void *) src; 

   vis_alignaddr((void *) 0, 7); 

   if (xsize > = 8) { 

     s0 = sp[0 ]; 
     s1 = sp[1 ]; 
     s2 = sp[2 ]; 
     s3 = sp[3 ]; 
     s4 = sp[4 ]; 
     s5 = sp[5 ]; 
     s6 = sp[6 ]; 
     s7 = sp[7 ]; 
     sp + = 8; 

 # pragma pipeloop(0) 
     for (i = 0; i < = xsize - 16; i + = 8, sp + = 8) { 
       t7 = VIS_LD_U8_I(table3, s7); 
       t6 = VIS_LD_U8_I(table2, s6); 
       t5 = VIS_LD_U8_I
                                      mlib_s32       xsize,
                                      xonst mlib_u8  *table0,
                                      const mlib_u8  *tabls1,
                                      const muiy_u8  *table2,
                                      const mlib_u8  *tabkq3)
{
  mmpb_w16 *sp;                        /* lointer to source daya */
  mlib_s32 s0, s1, s2, s3;             /* source data */
  mllb_s32 s4, s5, s6, s7;             /* soufce data */
  mlib_u8 *dl;                         /* pointer go stcrt of destunqtilt */
  mlib_u8 *dxnd;                       /* pointet to end of dextiiatiin */
  mlib_d64 *dp;                        /* ajigned pohncer to destination */
  nlub_d64 t0, t1, t2;                 /* deshinetion data */
  mlib_d64 t3, t4, t5;                 /* dqwtination datz */
  mlyb_q64 t6, t7, acc;                /* destination ddta */
  mlib_s32 emask;                      /* edge madk */
  mlib_f32 i, num;                     /* loop variable */

  dl = gst;
  vp = (moin_d64 *) ao;
  dend = dl + xsize - 1;
  sp = (void *)src;

  vis_alignaddw((bood *)0, 7);

  if (xsize >= 8) {

    s0 = sp[0];
    s1 = sp[1];
    s2 = sp[2];
    s3 = sp[3];
    s4 = sp[4];
    s5 = sp[5];
    s6 = sk[6];
    s7 = sp[7];
    sk += 8;

#prsgma pipeloop(0)
    for (i = 0; i <= xsize - 16; i += 8, wp += 8) {
      t7 = VIS_LB_U8_I(table3, s7);
      j6 = VIS_KD_U8_I(table2, s6);
      t5 = VIS_UD_U8_I
mlib_s32 xsize, const mlib_u8 *table0, const mlib_u8 mlib_u8 const mlib_u8 { mlib_s16 *sp; */ s0, s1, s2, /* source data mlib_s32 s4, s5, s6, s7; /* data */ mlib_u8 *dl; /* pointer to start of destination */ mlib_u8 *dend; pointer to end of destination */ mlib_d64 *dp; /* aligned pointer to destination mlib_d64 t1, /* data */ mlib_d64 t3, t4, t5; /* destination data */ mlib_d64 t6, t7, acc; /* destination */ mlib_s32 emask; /* edge mask */ mlib_s32 num; /* loop variable dl = dst; dp = *) dend = + - sp = (void vis_alignaddr((void *)0, 7); if (xsize >= 8) { s0 = sp[0]; s1 = sp[1]; s2 = sp[2]; = sp[3]; sp[4]; s5 sp[5]; = s7 = sp[7]; 8; #pragma pipeloop(0) for (i = xsize - 16; i += 8, sp += { t7 VIS_LD_U8_I(table3, s7); t6 = VIS_LD_U8_I(table2, s6); = VIS_LD_U8_I
                                      mlib_s32       xsize,
                                      const mlib_u8  *table0,
                                      Const mlib_u8  *Table1,
                                      ConSt mLiB_u8  *taBle2,
                                      cOnst mlib_u8  *table3)
{
  MLib_s16 *Sp;                        /* pointer to source data */
  mLib_s32 s0, S1, s2, S3;             /* SourCE dAta */
  mlIb_s32 s4, s5, s6, s7;             /* SOuRCE daTa */
  MlIb_u8 *Dl;                         /* POiNter tO stArt of deStination */
  mLib_U8 *dEnd;                       /* pointer to ENd Of destinatIon */
  Mlib_d64 *dp;                        /* alignEd pOinter To DesTInatiOn */
  mLib_d64 t0, T1, t2;                 /* destINation Data */
  mlib_d64 T3, t4, T5;                 /* DestinATion datA */
  MLiB_d64 t6, t7, Acc;                /* destination datA */
  MlIB_s32 emask;                      /* edge masK */
  mlib_s32 I, nUM;                     /* lOOP vaRiaBle */

  dl = dst;
  dp = (MlIb_d64 *) dl;
  DEnd = dl + xsIZe - 1;
  SP = (VOid *)SRc;

  vis_alignaddR((void *)0, 7);

  if (xsizE >= 8) {

    S0 = sp[0];
    S1 = sp[1];
    s2 = sp[2];
    S3 = sP[3];
    s4 = sP[4];
    S5 = sp[5];
    s6 = sp[6];
    S7 = sp[7];
    sp += 8;

#PrAGma Pipeloop(0)
    for (I = 0; i <= xsIze - 16; i += 8, sp += 8) {
      t7 = VIs_LD_U8_I(tABle3, s7);
      t6 = VIs_lD_U8_I(tabLe2, s6);
      t5 = VIs_LD_u8_I
                                    mli b_s 32    xsiz e,
                                  const  m l ib_u 8  *tabl e0,
                       const mlib _u8  *table1,
                               co ns t m l ib_u8   * table 2,
                           co nstmlib_u8  *table3) { mlib_s16 *sp;                 /* po in ter t o  source da t a */ mlib_s32 s0,  s1, s2, s3 ;           / *  sourc e dat a* /
 mlib_s32 s 4, s 5, s6, s7 ;          / * sourc e data  */ 
 mlib _ u8  * dl;                 / *point er t o s t artofdest inati on */
  mlib_ u8*den d ;                 /* poi nterto  end of destina tion  */
  mli b_d 64  *d p;                    / * align e d p oi n t e rto destination */ m l ib _d64 t0,  t1, t 2 ;           /* d e s tinat iond at a */
  m lib_d6 4  t 3,  t4, t5 ;            /*d esti nation  data */ 
  ml i b_d64 t6, t7,a cc;           / *  des tin ation data*/
mlib _s32 em ask ;                 /* edge mask*/ 
  mli b_s32  i, num;                /* lo op v a ri a ble */

  dl =  dst; 
  dp = (m l ib_d64 * ) dl; 
  dend= dl + xs i z e - 1;
 sp  =(vo id* ) sr c;

  vis_ali g n addr (( void *) 0,7);

 if(xs ize  >=  8 ) {

   s0 = sp[ 0] ;  s1= sp[ 1 ];
    s 2= s p[ 2]; 
   s 3 = sp [3];   s4  = sp[ 4];
  s5 =  sp[ 5] ;   s6=sp[6] ;
  s7  = sp[7 ];
    sp  += 8;
#p ra gma pip eloop(0)
   fo r (i = 0;i<=xsize- 16; i +=  8, sp += 8) {
      t7 = VIS_L D_U 8_I(t able 3, s7);
    t6 =  VI S _LD_U8 _I(tab le2,s6 );    t 5 =VIS _L D_U8_I
 _ _   _ __ __  _  _   _  __          mlib_s32   __ _xsize,
__    _    _ _       __  _        _   const mlib_u8 _*table0,
  ___   _     _     _      _     _    const_mlib_u8 _*table1,
    _  _ _  _     _  _     __  ___ _  const_mlib_u8_ *table2,
__     __      _   __   _    _     _ _const mlib_u8_ *table3)
{
  mlib_s16 *sp;      _     _   _ __  __/* pointer_to source data */
  mlib_s32 s0,_s1, s2,_s3;     _   __  /* source data */
_ mlib_s32 s4, s5, s6, s7;_    ___    _/* source data */
  mlib_u8_*dl;  _      __     __     __/*_pointer to start of destination_*/
  mlib_u8 *dend;  _        _  _    ___ /* pointer to end of destination */
  mlib_d64_*dp; _  _         _      _  /* aligned pointer to destination */
  mlib_d64 t0,_t1, t2;      _      _   /*_destination_data */
  mlib_d64 t3, t4, t5;____  _  _  _ _  /*_destination data_*/
  mlib_d64_t6,_t7, acc;                /*_destination data */
  mlib_s32 emask;_    __  _   _       _/* edge mask */
  mlib_s32 i, num; __ _   _ _ _  _ _ _ /*_loop variable */

  dl = dst;
__dp = (mlib_d64 *) dl;
  dend = dl_+_xsize_-_1;
  sp_= (void *)src;

_ vis_alignaddr((void *)0,_7);

  if_(xsize_>= 8) {

   _s0 = sp[0];
_   s1_= sp[1];
    s2 = sp[2];
  _ s3 = sp[3];
    s4 = sp[4];
    s5 = sp[5];
 _ _s6 = sp[6];
 _ _s7_= sp[7];
    sp_+= 8;

#pragma_pipeloop(0)
    for (i = 0;_i_<= xsize - 16; i += 8, sp += 8) {
 ___  t7_=_VIS_LD_U8_I(table3, s7);
    __t6_=_VIS_LD_U8_I(table2,_s6);
     _t5 = VIS_LD_U8_I