Home | History | Annotate | Download | only in ppc32
      1 
      2 /* HOW TO COMPILE:
      3 
      4      gcc -O -g -Wall -maltivec -mabi=altivec -DALTIVEC -DGCC_COMPILER
      5          testVMX.c -o testVMX
      6 
      7 */
      8 
      9 /*
     10  * testVMX - A test program to check the correctness of VMX instructions
     11  *
     12  * Copyright (C) 2004 CEPBA-IBM Research Institute
     13  *
     14  * Authors: Jose Maria Cela, Raul de la Cruz,
     15  *          Rogeli Grima, Xavier Saez <blade_support (at) ciri.upc.es>
     16  *
     17  * Web page: http://www.ciri.upc.es/cela_pblade/
     18  *
     19  * This file is part of testVMX.
     20  *
     21  * testVMX is free software; you can redistribute it and/or modify
     22  * it under the terms of the GNU General Public License as published by
     23  * the Free Software Foundation; either version 2 of the License, or
     24  * (at your option) any later version.
     25  *
     26  * testVMX is distributed in the hope that it will be useful,
     27  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     28  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     29  * GNU General Public License for more details.
     30  *
     31  * You should have received a copy of the GNU General Public License
     32  * along with testVMX; if not, write to the Free Software
     33  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  US
     34  */
     35 
     36 /*
     37  * Version 0.2.2 2004/09/02
     38  * Removed some not useful flags for compilation and changed the GPL license
     39  * header updating the contact email and adding the web page URL
     40  *
     41  * Version 0.2.1 2004/07/07
     42  * Some flags added in Makefile for XLC compilation (-qalias, -qinline)
     43  *
     44  * Version 0.2 2004/07/02
     45  * Makefile and testVMX.c patched to compile with SLES 9 (Linux - GCC 3.3.3),
     46  * IBM XLC Enterprise Edition and MacOS X 10.3 (Darwin - GCC 3.3)
     47  *
     48  * Version 0.1 2004/03/05
     49  * First public version release
     50  */
     51 
     52 
     53 #include <stdio.h>
     54 #include <stdlib.h>
     55 #include <math.h>
     56 #include <limits.h>
     57 #include <string.h>
     58 
     59 /* Calloc for align data to 16 bytes boundaries */
     60 
     61 /* ----------- BEGIN #include "memoryVector.h" ----------- */
     62 
     63 /*
     64  * testVMX - A test program to check the correctness of VMX instructions
     65  *
     66  * Copyright (C) 2004 CEPBA-IBM Research Institute
     67  *
     68  * Authors: Jose Maria Cela, Raul de la Cruz,
     69  *          Rogeli Grima, Xavier Saez <blade_support (at) ciri.upc.es>
     70  *
     71  * Web page: http://www.ciri.upc.es/cela_pblade/
     72  *
     73  * This file is part of testVMX.
     74  *
     75  * testVMX is free software; you can redistribute it and/or modify
     76  * it under the terms of the GNU General Public License as published by
     77  * the Free Software Foundation; either version 2 of the License, or
     78  * (at your option) any later version.
     79  *
     80  * testVMX is distributed in the hope that it will be useful,
     81  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     82  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     83  * GNU General Public License for more details.
     84  *
     85  * You should have received a copy of the GNU General Public License
     86  * along with testVMX; if not, write to the Free Software
     87  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  US
     88  */
     89 
     90 #ifndef MEMORY_VECTOR_H
     91 # define MEMORY_VECTOR_H
     92 
     93 # include <stdlib.h>
     94 
     95   void *calloc_vec( size_t nmemb, size_t size );
     96   void  free_vec( void *ptr );
     97 
     98 #endif
     99 
    100 /* ----------- END #include "memoryVector.h" ----------- */
    101 
    102 /* ----------- BEGIN #include "memoryVector.c" ----------- */
    103 
    104 /*
    105  * testVMX - A test program to check the correctness of VMX instructions
    106  *
    107  * Copyright (C) 2004 CEPBA-IBM Research Institute
    108  *
    109  * Authors: Jose Maria Cela, Raul de la Cruz,
    110  *          Rogeli Grima, Xavier Saez <blade_support (at) ciri.upc.es>
    111  *
    112  * Web page: http://www.ciri.upc.es/cela_pblade/
    113  *
    114  * This file is part of testVMX.
    115  *
    116  * testVMX is free software; you can redistribute it and/or modify
    117  * it under the terms of the GNU General Public License as published by
    118  * the Free Software Foundation; either version 2 of the License, or
    119  * (at your option) any later version.
    120  *
    121  * testVMX is distributed in the hope that it will be useful,
    122  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    123  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    124  * GNU General Public License for more details.
    125  *
    126  * You should have received a copy of the GNU General Public License
    127  * along with testVMX; if not, write to the Free Software
    128  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  US
    129  */
    130 
    131 #include <stdio.h>
    132 #include <string.h>
    133 /* #include "memoryVector.h"*/
    134 
    135 typedef struct
    136         {
    137           char  *realAdd;
    138           char  *returnAdd;
    139         } Tmemtab;
    140 
    141 
    142 static Tmemtab *memTab    = NULL;
    143 static size_t   nadd      =   0;
    144 static size_t   MAX_N_ADD = 100;
    145 
    146 
    147 void *calloc_vec( size_t nmemb, size_t size )
    148 {
    149 /* ---------------------------------------------------------- Local Variables */
    150     char   *realadd;
    151     char   *retadd;
    152     size_t  nbytes, cc, rr;
    153 
    154 /* -------------------------------------------------------------------- BEGIN */
    155   if (memTab == (Tmemtab*)NULL)
    156   {
    157     memTab = (Tmemtab *) malloc( MAX_N_ADD*sizeof(Tmemtab) );
    158     if (memTab == (Tmemtab*)NULL)
    159     {
    160       fprintf(stderr, "\n------------ FATAL ERRROR ------------------\n");
    161       fprintf(stderr, "Memory table out of memory\n");
    162       return NULL;
    163     }
    164   }
    165 
    166   /* 16 extra bytes are allocated for adjust alignement */
    167   nbytes = (size*nmemb)+16;
    168 
    169   /* Alloc a block of 'nbytes' */
    170   realadd = (char *) malloc( nbytes );
    171   if (realadd == (char *)NULL)
    172   {
    173       fprintf(stderr, "\n------------ FATAL ERRROR ------------------\n");
    174       fprintf(stderr, "Out of memory\n");
    175       return NULL;
    176   }
    177 
    178   memset( realadd, 0, nbytes );
    179 
    180   cc = ((size_t)realadd)/16;
    181   rr = ((size_t)realadd)%16;
    182   if (rr == 0)
    183     retadd = realadd;
    184   else
    185     retadd = (char *)((cc+1)*16);
    186 
    187   if (nadd == MAX_N_ADD)
    188   {
    189     MAX_N_ADD += 100;
    190     memTab = (Tmemtab*) realloc( memTab, MAX_N_ADD*sizeof(Tmemtab) );
    191     if (memTab == (Tmemtab*)NULL)
    192     {
    193       free( realadd );
    194       fprintf(stderr, "\n------------ FATAL ERRROR ------------------\n");
    195       fprintf(stderr, "Memory table out of memory\n");
    196       return NULL;
    197     }
    198   }
    199 
    200   memTab[nadd].realAdd   =  realadd;
    201   memTab[nadd].returnAdd =  retadd;;
    202   nadd++;
    203 
    204   return (void*)retadd;
    205 /* ---------------------------------------------------------------------- END */
    206 }
    207 
    208 
    209 void free_vec( void *ptr )
    210 {
    211 /* ---------------------------------------------------------- Local Variables */
    212   int ii, pos;
    213 
    214 /* -------------------------------------------------------------------- BEGIN */
    215   pos = -1;
    216   for (ii= 0; ii< nadd; ii++)
    217     if (memTab[ii].returnAdd == ptr)
    218     {
    219       pos = ii;
    220       break;
    221     }
    222 
    223   if (pos == -1)
    224   {
    225       fprintf(stderr, "\n------------ WARNING ------------------------\n");
    226       fprintf(stderr, "Pointer not found in memory table\n\n");
    227   }
    228   else
    229   {
    230     free( memTab[ii].realAdd );
    231 
    232     for (ii= pos+1; ii< nadd; ii++)
    233       memTab[ii-1] = memTab[ii];
    234     nadd--;
    235 
    236     if (nadd == 0)
    237     {
    238       free( memTab );
    239       memTab    = NULL;
    240       MAX_N_ADD = 100;
    241     }
    242   }
    243 /* ---------------------------------------------------------------------- END */
    244 }
    245 
    246 
    247 /* ----------- END #include "memoryVector.c" ----------- */
    248 
    249 
    250 #ifdef ALTIVEC
    251 # ifdef GCC_COMPILER
    252 #  include <altivec.h>
    253 # endif
    254 
    255 
    256 
    257 //#define TEST_FLOATS
    258 
    259 
    260 
    261 /* Redefinition for undefined NAN and xlC compiling C++ code */
    262 # if !defined(NAN) || ( defined(__IBMCPP__) && defined(XLC_COMPILER) )
    263 #  undef   NAN
    264 #  define  NAN 0x7FC00000
    265 /* #  define  NAN 0xFFFA5A5A
    266  * #  define  NAN 0x80000000
    267  * #  define  NAN 0x00008000
    268  */
    269 # endif
    270 
    271 
    272 int part1( );
    273 int part2( );
    274 int part3( );
    275 int part4( );
    276 int part5( );
    277 
    278 
    279 typedef union
    280 {
    281    vector signed char    v;
    282    signed char           e[16];
    283 } TvecChar;
    284 
    285 typedef union
    286 {
    287    vector unsigned char  v;
    288    unsigned char         e[16];
    289 } TvecUChar;
    290 
    291 typedef union
    292 {
    293    vector bool char      v;
    294    unsigned char         e[16];
    295 } TvecBChar;
    296 
    297 typedef union
    298 {
    299    vector signed short   v;
    300    signed short          e[8];
    301 } TvecShort;
    302 
    303 typedef union
    304 {
    305    vector unsigned short v;
    306    unsigned short        e[8];
    307 } TvecUShort;
    308 
    309 typedef union
    310 {
    311    vector bool short     v;
    312    unsigned short        e[8];
    313 } TvecBShort;
    314 
    315 typedef union
    316 {
    317    vector signed int     v;
    318    signed int            e[4];
    319 } TvecInt;
    320 
    321 typedef union
    322 {
    323    vector unsigned int   v;
    324    unsigned int          e[4];
    325 } TvecUInt;
    326 
    327 typedef union
    328 {
    329    vector bool int       v;
    330    unsigned int          e[4];
    331 } TvecBInt;
    332 
    333 #if defined TEST_FLOATS
    334 typedef union
    335 {
    336    vector float          v;
    337    float                 e[4];
    338    signed int            i[4];
    339 } TvecFloat;
    340 #endif
    341 
    342 /* Scalar bool types declaration */
    343 typedef unsigned char   TboolChar;
    344 typedef unsigned short  TboolShort;
    345 typedef unsigned int    TboolInt;
    346 
    347 #endif
    348 
    349 
    350 
    351 
    352 
    353 
    354 /**********************************************************************
    355  Main()
    356  **********************************************************************/
    357 
    358 
    359 
    360 int main()
    361 {
    362   TvecChar      Caux1,  Caux2,  Caux3;//,  Caux4;
    363   TvecUChar     UCaux1, UCaux2, UCaux3;//, UCaux4;
    364   TvecBChar     BCaux1;//, BCaux2, BCaux3, BCaux4;
    365   TvecShort     Saux1,  Saux2,  Saux3;//,  Saux4;
    366   TvecUShort    USaux1, USaux2, USaux3;//, USaux4;
    367   TvecBShort    BSaux1;//, BSaux2, BSaux3, BSaux4;
    368   TvecInt       Iaux1,  Iaux2,  Iaux3;//,  Iaux4;
    369   TvecUInt      UIaux1, UIaux2, UIaux3;//, UIaux4;
    370   TvecBInt      BIaux1;//, BIaux2, BIaux3, BIaux4;
    371 #if defined TEST_FLOATS
    372   TvecFloat     Faux1,  Faux2,  Faux3;//,  Faux4;
    373 #endif
    374 
    375   int                  i, err, j;//, b, bAux;
    376 #if defined TEST_FLOATS
    377   int                  b;
    378   signed   int         Ivec1, Ivec2, Ivec3;
    379 #endif
    380 
    381 //  unsigned char        *UCvec1;
    382 //  signed   short       *Svec1;
    383 //  unsigned short       *USvec1;
    384 //  unsigned int         *UIvec1;
    385 #if defined TEST_FLOATS
    386 //  float                *Fvec1;
    387 #endif
    388 
    389   /* For saturated rutines */
    390 //  long long int         LLaux;
    391 
    392   signed   char         Caux;
    393   unsigned char         UCaux;
    394   signed   short        Saux;
    395   unsigned short        USaux;
    396   signed   int          Iaux;//, I1, I2;
    397   unsigned int          UIaux;//, UI1, UI2;
    398 #if defined TEST_FLOATS
    399   float                 Faux;
    400 #endif
    401 
    402   /* Scalar bool types definition */
    403   TboolChar             BCaux;
    404   TboolShort            BSaux;
    405   TboolInt              BIaux;
    406 
    407 /*
    408   union
    409   {
    410     float          f;
    411     signed   int   si;
    412     unsigned int   ui;
    413     signed   short ss[2];
    414     unsigned short us[2];
    415     signed   char  sc[4];
    416     unsigned char  uc[4];
    417   } INTunion1, INTunion2;
    418 
    419   union
    420   {
    421     signed   short  ss;
    422     unsigned short  us;
    423     signed   char   sc[2];
    424     unsigned char   uc[2];
    425   } SHOunion1, SHOunion2;
    426 */
    427 
    428 #if defined (GCC_COMPILER)
    429   vector signed char    Ccons1   = (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
    430   vector signed char    Ccons2   = (vector signed char){1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
    431   vector signed char    Ccons3   = (vector signed char){-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127};
    432   vector unsigned char  UCcons1  = (vector unsigned char){248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7};
    433   vector unsigned char  UCcons2  = (vector unsigned char){2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
    434   vector unsigned char  UCcons3  = (vector unsigned char){1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8};
    435   vector signed short   Scons1   = (vector signed short){-4, -3, -2, -1, 0, 1, 2, 3};
    436   vector signed short   Scons2   = (vector signed short){-32768, 10000, 1, 1, 1, 1, -10000, -10000};
    437   vector signed short   Scons3   = (vector signed short){-32768, 32767, -32768, 32767, -32768, 32767, -32768, 32767};
    438   vector unsigned short UScons1  = (vector unsigned short){65532, 65533, 65534, 65535, 0, 1, 2, 3};
    439   vector unsigned short UScons2  = (vector unsigned short){1, 1, 1, 1, 1, 1, 1, 1};
    440   vector unsigned short UScons3  = (vector unsigned short){1, 2, 3, 4, 1, 2, 3, 4};
    441   vector signed int     Icons1   = (vector signed int){-4, -1, 1, 4};
    442   vector signed int     Icons2   = (vector signed int){1, 1, 1, 1};
    443   vector signed int     Icons3   = (vector signed int){0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF};
    444   vector unsigned int   UIcons1  = (vector unsigned int){0xFFFFFFFE, 0xFFFFFFFF, 0, 1};
    445   vector unsigned int   UIcons2  = (vector unsigned int){1, 1, 1, 1};
    446   vector unsigned int   UIcons3  = (vector unsigned int){1, 2, 1, 2};
    447 
    448 #if defined TEST_FLOATS
    449   vector float          Fcons1   = (vector float){-1.5, 1.0, 0.5, -3.999};
    450   vector float          Fcons2   = (vector float){1.0, 1.0, 1.0, 1.0};
    451   vector float          Fcons3   = (vector float){100000000000.0, 1.0, -1.0, -1234567890.0};
    452 #endif
    453 
    454 #elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
    455   vector signed char    Ccons1   = (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
    456   vector signed char    Ccons2   = (vector signed char)(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
    457   vector signed char    Ccons3   = (vector signed char)(-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127);
    458   vector unsigned char  UCcons1  = (vector unsigned char)(248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7);
    459   vector unsigned char  UCcons2  = (vector unsigned char)(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
    460   vector unsigned char  UCcons3  = (vector unsigned char)(1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8);
    461   vector signed short   Scons1   = (vector signed short)(-4, -3, -2, -1, 0, 1, 2, 3);
    462   vector signed short   Scons2   = (vector signed short)(-32768, 10000, 1, 1, 1, 1, -10000, -10000);
    463   vector signed short   Scons3   = (vector signed short)(-32768, 32767, -32768, 32767, -32768, 32767, -32768, 32767);
    464   vector unsigned short UScons1  = (vector unsigned short)(65532, 65533, 65534, 65535, 0, 1, 2, 3);
    465   vector unsigned short UScons2  = (vector unsigned short)(1, 1, 1, 1, 1, 1, 1, 1);
    466   vector unsigned short UScons3  = (vector unsigned short)(1, 2, 3, 4, 1, 2, 3, 4);
    467   vector signed int     Icons1   = (vector signed int)(-4, -1, 1, 4);
    468   vector signed int     Icons2   = (vector signed int)(1, 1, 1, 1);
    469   vector signed int     Icons3   = (vector signed int)(0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF);
    470   vector unsigned int   UIcons1  = (vector unsigned int)(0xFFFFFFFE, 0xFFFFFFFF, 0, 1);
    471   vector unsigned int   UIcons2  = (vector unsigned int)(1, 1, 1, 1);
    472   vector unsigned int   UIcons3  = (vector unsigned int)(1, 2, 1, 2);
    473 
    474 #if defined TEST_FLOATS
    475   vector float          Fcons1   = (vector float)(-1.5, 1.0, 0.5, -3.999);
    476   vector float          Fcons2   = (vector float)(1.0, 1.0, 1.0, 1.0);
    477   vector float          Fcons3   = (vector float)(100000000000.0, 1.0, -1.0, -1234567890.0);
    478 #endif
    479 
    480 #endif
    481 
    482 
    483 /*    Function vec_abs    */
    484   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
    485   err = 0;
    486   Caux1.v = vec_abs( Ccons1 );
    487   Caux2.v = Ccons1;
    488   for( i=0; i< 16; i++ )
    489     if (Caux1.e[i] != abs( Caux2.e[i] ))
    490       err++;
    491   if (err)
    492     printf("Function vec_abs [type char]              ===> Error\n");
    493   else
    494     printf("Function vec_abs [type char]              ===> OK\n");
    495 
    496   err = 0;
    497   Saux1.v = vec_abs( Scons1 );
    498   Saux2.v = Scons1;
    499   for( i=0; i< 8; i++ )
    500     if (Saux1.e[i] != abs( Saux2.e[i] ))
    501       err++;
    502   if (err)
    503     printf("Function vec_abs [type short]             ===> Error\n");
    504   else
    505     printf("Function vec_abs [type short]             ===> OK\n");
    506 
    507   err = 0;
    508   Iaux1.v = vec_abs( Icons1 );
    509   Iaux2.v = Icons1;
    510   for( i=0; i< 4; i++ )
    511     if (Iaux1.e[i] != abs( Iaux2.e[i] ))
    512       err++;
    513   if (err)
    514     printf("Function vec_abs [type integer]           ===> Error\n");
    515   else
    516     printf("Function vec_abs [type integer]           ===> OK\n");
    517 
    518 #if defined TEST_FLOATS
    519   err = 0;
    520   Faux1.v = vec_abs( Fcons1 );
    521   Faux2.v = Fcons1;
    522   for( i=0; i< 4; i++ )
    523     if (Faux1.e[i] != fabs( Faux2.e[i] ))
    524       err++;
    525   if (err)
    526     printf("Function vec_abs [type float]             ===> Error\n");
    527   else
    528     printf("Function vec_abs [type float]             ===> OK\n");
    529 #endif
    530 
    531 /*    Function vec_abss    */
    532   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
    533   err = 0;
    534   Caux1.v = vec_abss( Ccons1 );
    535   Caux2.v = Ccons1;
    536   for( i=0; i< 16; i++ )
    537     if (Caux1.e[i] != abs( Caux2.e[i] ))
    538       err++;
    539   if (err)
    540     printf("Function vec_abss [type char]             ===> Error\n");
    541   else
    542     printf("Function vec_abss [type char]             ===> OK\n");
    543 
    544   err = 0;
    545   Saux1.v = vec_abss( Scons1 );
    546   Saux2.v = Scons1;
    547   for( i=0; i< 8; i++ )
    548     if (Saux1.e[i] != abs( Saux2.e[i] ))
    549       err++;
    550   if (err)
    551     printf("Function vec_abss [type short]            ===> Error\n");
    552   else
    553     printf("Function vec_abss [type short]            ===> OK\n");
    554 
    555   err = 0;
    556   Iaux1.v = vec_abss( Icons1 );
    557   Iaux2.v = Icons1;
    558   for( i=0; i< 4; i++ )
    559     if (Iaux1.e[i] != abs( Iaux2.e[i] ))
    560       err++;
    561   if (err)
    562     printf("Function vec_abss [type integer]          ===> Error\n");
    563   else
    564     printf("Function vec_abss [type integer]          ===> OK\n");
    565 
    566 /*    Function vec_add    */
    567   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
    568   err = 0;
    569   Caux1.v = vec_add( Ccons1, Ccons2 );
    570   Caux2.v = Ccons1;
    571   Caux3.v = Ccons2;
    572   for( i=0; i< 16; i++ )
    573   {
    574     Caux = Caux2.e[i]+Caux3.e[i];
    575     if (Caux1.e[i] != Caux)
    576       err++;
    577   }
    578   if (err)
    579     printf("Function vec_add [type char]              ===> Error\n");
    580   else
    581     printf("Function vec_add [type char]              ===> OK\n");
    582 
    583   err = 0;
    584   UCaux1.v = vec_add( UCcons1, UCcons2 );
    585   UCaux2.v = UCcons1;
    586   UCaux3.v = UCcons2;
    587   for( i=0; i< 16; i++ )
    588   {
    589     UCaux = UCaux2.e[i]+UCaux3.e[i];
    590     if (UCaux1.e[i] != UCaux)
    591       err++;
    592   }
    593   if (err)
    594     printf("Function vec_add [type unsigned char]     ===> Error\n");
    595   else
    596     printf("Function vec_add [type unsigned char]     ===> OK\n");
    597 
    598   err = 0;
    599   Saux1.v = vec_add( Scons1, Scons2 );
    600   Saux2.v = Scons1;
    601   Saux3.v = Scons2;
    602   for( i=0; i< 8; i++ )
    603   {
    604     Saux = Saux2.e[i]+Saux3.e[i];
    605     if (Saux1.e[i] != Saux)
    606       err++;
    607   }
    608   if (err)
    609     printf("Function vec_add [type short]             ===> Error\n");
    610   else
    611     printf("Function vec_add [type short]             ===> OK\n");
    612 
    613   err = 0;
    614   USaux1.v = vec_add( UScons1, UScons2 );
    615   USaux2.v = UScons1;
    616   USaux3.v = UScons2;
    617   for( i=0; i< 8; i++ )
    618   {
    619     USaux = USaux2.e[i]+USaux3.e[i];
    620     if (USaux1.e[i] != USaux)
    621       err++;
    622   }
    623   if (err)
    624     printf("Function vec_add [type unsigned short]    ===> Error\n");
    625   else
    626     printf("Function vec_add [type unsigned short]    ===> OK\n");
    627 
    628   err = 0;
    629   Iaux1.v = vec_add( Icons1, Icons2 );
    630   Iaux2.v = Icons1;
    631   Iaux3.v = Icons2;
    632   for( i=0; i< 4; i++ )
    633   {
    634     Iaux = Iaux2.e[i]+Iaux3.e[i];
    635     if (Iaux1.e[i] != Iaux)
    636       err++;
    637   }
    638   if (err)
    639     printf("Function vec_add [type integer]           ===> Error\n");
    640   else
    641     printf("Function vec_add [type integer]           ===> OK\n");
    642 
    643   err = 0;
    644   UIaux1.v = vec_add( UIcons1, UIcons3 );
    645   UIaux2.v = UIcons1;
    646   UIaux3.v = UIcons3;
    647   for( i=0; i< 4; i++ )
    648   {
    649     UIaux = UIaux2.e[i]+UIaux3.e[i];
    650     if (UIaux1.e[i] != UIaux)
    651       err++;
    652   }
    653   if (err)
    654     printf("Function vec_add [type unsigned int]      ===> Error\n");
    655   else
    656     printf("Function vec_add [type unsigned int]      ===> OK\n");
    657 
    658 #if defined TEST_FLOATS
    659   err = 0;
    660   Faux1.v = vec_add( Fcons1, Fcons2 );
    661   Faux2.v = Fcons1;
    662   Faux3.v = Fcons2;
    663   for( i=0; i< 4; i++ )
    664   {
    665     Faux = Faux2.e[i]+Faux3.e[i];
    666     if (Faux1.e[i] != Faux)
    667       err++;
    668   }
    669   if (err)
    670     printf("Function vec_add [type float]             ===> Error\n");
    671   else
    672     printf("Function vec_add [type float]             ===> OK\n");
    673 #endif
    674 
    675 
    676 /*    Function vec_addc    */
    677   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
    678   err = 0;
    679   UIaux1.v = vec_addc( UIcons1, UIcons3 );
    680   UIaux2.v = UIcons1;
    681   UIaux3.v = UIcons3;
    682   for( i=0; i< 4; i++ )
    683   {
    684     UIaux = (unsigned int)(UIaux2.e[i]+UIaux3.e[i]);
    685     if ((UIaux< UIaux2.e[i]) || (UIaux< UIaux3.e[i]))
    686       UIaux=1;
    687     else
    688       UIaux=0;
    689     if (UIaux1.e[i] != UIaux)
    690       err++;
    691   }
    692   if (err)
    693     printf("Function vec_addc [type unsigned int]     ===> Error\n");
    694   else
    695     printf("Function vec_addc [type unsigned int]     ===> OK\n");
    696 
    697 /*    Function vec_adds    */
    698   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
    699   err = 0;
    700   Caux1.v = vec_adds( Ccons1, Ccons3 );
    701   Caux2.v = Ccons1;
    702   Caux3.v = Ccons3;
    703   for( i=0; i< 16; i++ )
    704   {
    705     Caux = Caux2.e[i]+Caux3.e[i];
    706     if ((Caux2.e[i]>0)&&(Caux3.e[i]>0))
    707     {
    708       if (Caux< 0)
    709         Caux=0x7F;
    710     }
    711     else if ((Caux2.e[i]<0)&&(Caux3.e[i]<0))
    712     {
    713       if (Caux> 0)
    714         Caux=0x80;
    715     }
    716     if (Caux1.e[i] != Caux)
    717       err++;
    718   }
    719   if (err)
    720     printf("Function vec_adds [type char]             ===> Error\n");
    721   else
    722     printf("Function vec_adds [type char]             ===> OK\n");
    723 
    724   err = 0;
    725   UCaux1.v = vec_adds( UCcons1, UCcons3 );
    726   UCaux2.v = UCcons1;
    727   UCaux3.v = UCcons3;
    728   for( i=0; i< 16; i++ )
    729   {
    730     UCaux = (unsigned char)(UCaux2.e[i]+UCaux3.e[i]);
    731     if ((UCaux< UCaux2.e[i]) || (UCaux< UCaux3.e[i]))
    732       UCaux=0xFF;
    733     if (UCaux1.e[i] != UCaux)
    734       err++;
    735   }
    736   if (err)
    737     printf("Function vec_adds [type unsigned char]    ===> Error\n");
    738   else
    739     printf("Function vec_adds [type unsigned char]    ===> OK\n");
    740 
    741   err = 0;
    742   Saux1.v = vec_adds( Scons1, Scons3 );
    743   Saux2.v = Scons1;
    744   Saux3.v = Scons3;
    745   for( i=0; i< 8; i++ )
    746   {
    747     Saux = Saux2.e[i]+Saux3.e[i];
    748     if ((Saux2.e[i]>0)&&(Saux3.e[i]>0))
    749     {
    750       if (Saux< 0)
    751         Saux=0x7FFF;
    752     }
    753     else if ((Saux2.e[i]<0)&&(Saux3.e[i]<0))
    754     {
    755       if (Saux> 0)
    756         Saux=0x8000;
    757     }
    758     if (Saux1.e[i] != Saux)
    759       err++;
    760   }
    761   if (err)
    762     printf("Function vec_adds [type short]            ===> Error\n");
    763   else
    764     printf("Function vec_adds [type short]            ===> OK\n");
    765 
    766   err = 0;
    767   USaux1.v = vec_adds( UScons1, UScons3 );
    768   USaux2.v = UScons1;
    769   USaux3.v = UScons3;
    770   for( i=0; i< 8; i++ )
    771   {
    772     USaux = (unsigned short)(USaux2.e[i]+USaux3.e[i]);
    773     if ((USaux< USaux2.e[i]) || (USaux< USaux3.e[i]))
    774       USaux=0xFFFF;
    775     if (USaux1.e[i] != USaux)
    776       err++;
    777   }
    778   if (err)
    779     printf("Function vec_adds [type unsigned short]   ===> Error\n");
    780   else
    781     printf("Function vec_adds [type unsigned short]   ===> OK\n");
    782 
    783 
    784   err = 0;
    785   Iaux1.v = vec_adds( Icons1, Icons3 );
    786   Iaux2.v = Icons1;
    787   Iaux3.v = Icons3;
    788   for( i=0; i< 4; i++ )
    789   {
    790     Iaux = Iaux2.e[i]+Iaux3.e[i];
    791     if ((Iaux2.e[i]>0)&&(Iaux3.e[i]>0))
    792     {
    793       if (Iaux< 0)
    794         Iaux=0x7FFFFFFF;
    795     }
    796     else if ((Iaux2.e[i]<0)&&(Iaux3.e[i]<0))
    797     {
    798       if (Iaux> 0)
    799         Iaux=0x80000000;
    800     }
    801     if (Iaux1.e[i] != Iaux)
    802       err++;
    803   }
    804   if (err)
    805     printf("Function vec_adds [type integer]          ===> Error\n");
    806   else
    807     printf("Function vec_adds [type integer]          ===> OK\n");
    808 
    809   err = 0;
    810   UIaux1.v = vec_adds( UIcons1, UIcons3 );
    811   UIaux2.v = UIcons1;
    812   UIaux3.v = UIcons3;
    813   for( i=0; i< 4; i++ )
    814   {
    815     UIaux = (unsigned int)(UIaux2.e[i]+UIaux3.e[i]);
    816     if ((UIaux< UIaux2.e[i]) || (UIaux< UIaux3.e[i]))
    817       UIaux=0xFFFFFFFF;
    818     if (UIaux1.e[i] != UIaux)
    819       err++;
    820   }
    821   if (err)
    822     printf("Function vec_adds [type unsigned int]     ===> Error\n");
    823   else
    824     printf("Function vec_adds [type unsigned int]     ===> OK\n");
    825 
    826 /*    Function vec_and    */
    827   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
    828   err = 0;
    829   Caux1.v = vec_and( Ccons1, Ccons2 );
    830   Caux2.v = Ccons1;
    831   Caux3.v = Ccons2;
    832   for( i=0; i< 16; i++ )
    833     if (Caux1.e[i] != (Caux2.e[i] & Caux3.e[i]))
    834       err++;
    835   if (err)
    836     printf("Function vec_and [type char]              ===> Error\n");
    837   else
    838     printf("Function vec_and [type char]              ===> OK\n");
    839 
    840   err = 0;
    841   UCaux1.v = vec_and( UCcons1, UCcons2 );
    842   UCaux2.v = UCcons1;
    843   UCaux3.v = UCcons2;
    844   for( i=0; i< 16; i++ )
    845     if (UCaux1.e[i] != (UCaux2.e[i] & UCaux3.e[i]))
    846       err++;
    847   if (err)
    848     printf("Function vec_and [type unsigned char]     ===> Error\n");
    849   else
    850     printf("Function vec_and [type unsigned char]     ===> OK\n");
    851 
    852   err = 0;
    853   Saux1.v = vec_and( Scons1, Scons2 );
    854   Saux2.v = Scons1;
    855   Saux3.v = Scons2;
    856   for( i=0; i< 8; i++ )
    857     if (Saux1.e[i] != (Saux2.e[i] & Saux3.e[i]))
    858       err++;
    859   if (err)
    860     printf("Function vec_and [type short]             ===> Error\n");
    861   else
    862     printf("Function vec_and [type short]             ===> OK\n");
    863 
    864   err = 0;
    865   USaux1.v = vec_and( UScons1, UScons2 );
    866   USaux2.v = UScons1;
    867   USaux3.v = UScons2;
    868   for( i=0; i< 8; i++ )
    869     if (USaux1.e[i] != (USaux2.e[i] & USaux3.e[i]))
    870       err++;
    871   if (err)
    872     printf("Function vec_and [type unsigned short]    ===> Error\n");
    873   else
    874     printf("Function vec_and [type unsigned short]    ===> OK\n");
    875 
    876   err = 0;
    877   Iaux1.v = vec_and( Icons1, Icons2 );
    878   Iaux2.v = Icons1;
    879   Iaux3.v = Icons2;
    880   for( i=0; i< 4; i++ )
    881     if (Iaux1.e[i] != (Iaux2.e[i] & Iaux3.e[i]))
    882       err++;
    883   if (err)
    884     printf("Function vec_and [type integer]           ===> Error\n");
    885   else
    886     printf("Function vec_and [type integer]           ===> OK\n");
    887 
    888   err = 0;
    889   UIaux1.v = vec_and( UIcons1, UIcons2 );
    890   UIaux2.v = UIcons1;
    891   UIaux3.v = UIcons2;
    892   for( i=0; i< 4; i++ )
    893     if (UIaux1.e[i] != (UIaux2.e[i] & UIaux3.e[i]))
    894       err++;
    895   if (err)
    896     printf("Function vec_and [type unsigned int]      ===> Error\n");
    897   else
    898     printf("Function vec_and [type unsigned int]      ===> OK\n");
    899 
    900 #if defined TEST_FLOATS
    901   err = 0;
    902   Faux1.v = vec_and( Fcons1, Fcons2 );
    903   Faux2.v = Fcons1;
    904   Faux3.v = Fcons2;
    905   for( i=0; i< 4; i++ )
    906   {
    907     Ivec1 = Faux1.i[i];
    908     Ivec2 = Faux2.i[i];
    909     Ivec3 = Faux3.i[i];
    910     if ((Ivec1) != ((Ivec2) & (Ivec3)))
    911       err++;
    912   }
    913   if (err)
    914     printf("Function vec_and [type float]             ===> Error\n");
    915   else
    916     printf("Function vec_and [type float]             ===> OK\n");
    917 #endif
    918 
    919 /*    Function vec_andc    */
    920   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
    921   err = 0;
    922   Caux1.v = vec_andc( Ccons1, Ccons2 );
    923   Caux2.v = Ccons1;
    924   Caux3.v = Ccons2;
    925   for( i=0; i< 16; i++ )
    926     if (Caux1.e[i] != (Caux2.e[i] & ~Caux3.e[i]))
    927       err++;
    928   if (err)
    929     printf("Function vec_andc [type char]             ===> Error\n");
    930   else
    931     printf("Function vec_andc [type char]             ===> OK\n");
    932 
    933   err = 0;
    934   UCaux1.v = vec_andc( UCcons1, UCcons2 );
    935   UCaux2.v = UCcons1;
    936   UCaux3.v = UCcons2;
    937   for( i=0; i< 16; i++ )
    938     if (UCaux1.e[i] != (UCaux2.e[i] & ~UCaux3.e[i]))
    939       err++;
    940   if (err)
    941     printf("Function vec_andc [type unsigned char]    ===> Error\n");
    942   else
    943     printf("Function vec_andc [type unsigned char]    ===> OK\n");
    944 
    945   err = 0;
    946   Saux1.v = vec_andc( Scons1, Scons2 );
    947   Saux2.v = Scons1;
    948   Saux3.v = Scons2;
    949   for( i=0; i< 8; i++ )
    950     if (Saux1.e[i] != (Saux2.e[i] & ~Saux3.e[i]))
    951       err++;
    952   if (err)
    953     printf("Function vec_andc [type short]            ===> Error\n");
    954   else
    955     printf("Function vec_andc [type short]            ===> OK\n");
    956 
    957   err = 0;
    958   USaux1.v = vec_andc( UScons1, UScons2 );
    959   USaux2.v = UScons1;
    960   USaux3.v = UScons2;
    961   for( i=0; i< 8; i++ )
    962     if (USaux1.e[i] != (USaux2.e[i] & ~USaux3.e[i]))
    963       err++;
    964   if (err)
    965     printf("Function vec_andc [type unsigned short]   ===> Error\n");
    966   else
    967     printf("Function vec_andc [type unsigned short]   ===> OK\n");
    968 
    969   err = 0;
    970   Iaux1.v = vec_andc( Icons1, Icons2 );
    971   Iaux2.v = Icons1;
    972   Iaux3.v = Icons2;
    973   for( i=0; i< 4; i++ )
    974     if (Iaux1.e[i] != (Iaux2.e[i] & ~Iaux3.e[i]))
    975       err++;
    976   if (err)
    977     printf("Function vec_andc [type integer]          ===> Error\n");
    978   else
    979     printf("Function vec_andc [type integer]          ===> OK\n");
    980 
    981   err = 0;
    982   UIaux1.v = vec_andc( UIcons1, UIcons2 );
    983   UIaux2.v = UIcons1;
    984   UIaux3.v = UIcons2;
    985   for( i=0; i< 4; i++ )
    986     if (UIaux1.e[i] != (UIaux2.e[i] & ~UIaux3.e[i]))
    987       err++;
    988   if (err)
    989     printf("Function vec_andc [type unsigned int]     ===> Error\n");
    990   else
    991     printf("Function vec_andc [type unsigned int]     ===> OK\n");
    992 
    993 #if defined TEST_FLOATS
    994   err = 0;
    995   Faux1.v = vec_andc( Fcons1, Fcons2 );
    996   Faux2.v = Fcons1;
    997   Faux3.v = Fcons2;
    998   for( i=0; i< 4; i++ )
    999   {
   1000     Ivec1 = Faux1.i[i];
   1001     Ivec2 = Faux2.i[i];
   1002     Ivec3 = Faux3.i[i];
   1003     if ((Ivec1) != ((Ivec2) & ~(Ivec3)))
   1004       err++;
   1005   }
   1006   if (err)
   1007     printf("Function vec_andc [type float]            ===> Error\n");
   1008   else
   1009     printf("Function vec_andc [type float]            ===> OK\n");
   1010 #endif
   1011 
   1012 /*    Function vec_avg    */
   1013   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1014   err = 0;
   1015   Caux1.v = vec_avg( Ccons1, Ccons2 );
   1016   Caux2.v = Ccons1;
   1017   Caux3.v = Ccons2;
   1018   for( i=0; i< 16; i++ )
   1019   {
   1020     j = (Caux2.e[i]+Caux3.e[i]+1) >> 1;
   1021     if (Caux1.e[i] != j)
   1022       err++;
   1023   }
   1024   if (err)
   1025     printf("Function vec_avg [type char]              ===> Error\n");
   1026   else
   1027     printf("Function vec_avg [type char]              ===> OK\n");
   1028 
   1029   err = 0;
   1030   UCaux1.v = vec_avg( UCcons1, UCcons2 );
   1031   UCaux2.v = UCcons1;
   1032   UCaux3.v = UCcons2;
   1033   for( i=0; i< 16; i++ )
   1034   {
   1035     j = (UCaux2.e[i]+UCaux3.e[i]+1) >> 1;
   1036     if (UCaux1.e[i] != j)
   1037       err++;
   1038   }
   1039   if (err)
   1040     printf("Function vec_avg [type unsigned char]     ===> Error\n");
   1041   else
   1042     printf("Function vec_avg [type unsigned char]     ===> OK\n");
   1043 
   1044   err = 0;
   1045   Saux1.v = vec_avg( Scons1, Scons2 );
   1046   Saux2.v = Scons1;
   1047   Saux3.v = Scons2;
   1048   for( i=0; i< 8; i++ )
   1049   {
   1050     j = (Saux2.e[i]+Saux3.e[i]+1) >> 1;
   1051     if (Saux1.e[i] != j)
   1052       err++;
   1053   }
   1054   if (err)
   1055     printf("Function vec_avg [type short]             ===> Error\n");
   1056   else
   1057     printf("Function vec_avg [type short]             ===> OK\n");
   1058 
   1059   err = 0;
   1060   USaux1.v = vec_avg( UScons1, UScons2 );
   1061   USaux2.v = UScons1;
   1062   USaux3.v = UScons2;
   1063   for( i=0; i< 8; i++ )
   1064   {
   1065     j = (USaux2.e[i]+USaux3.e[i]+1) >> 1;
   1066     if (USaux1.e[i] != j)
   1067       err++;
   1068   }
   1069   if (err)
   1070     printf("Function vec_avg [type unsigned short]    ===> Error\n");
   1071   else
   1072     printf("Function vec_avg [type unsigned short]    ===> OK\n");
   1073 
   1074   err = 0;
   1075   Iaux1.v = vec_avg( Icons1, Icons2 );
   1076   Iaux2.v = Icons1;
   1077   Iaux3.v = Icons2;
   1078   for( i=0; i< 4; i++ )
   1079   {
   1080     Iaux = Iaux2.e[i]%2;
   1081     if (Iaux2.e[i]<0)
   1082       Iaux = -Iaux;
   1083 
   1084     if (Iaux3.e[i]<0)
   1085       Iaux = (Iaux - Iaux3.e[i]%2 + 1)>>1;
   1086     else
   1087       Iaux = (Iaux + Iaux3.e[i]%2 + 1)>>1;
   1088     Iaux = (Iaux2.e[i] >> 1) + (Iaux3.e[i] >> 1) + Iaux;
   1089     if (Iaux1.e[i] != Iaux)
   1090       err++;
   1091   }
   1092   if (err)
   1093     printf("Function vec_avg [type integer]           ===> Error\n");
   1094   else
   1095     printf("Function vec_avg [type integer]           ===> OK\n");
   1096 
   1097   err = 0;
   1098   UIaux1.v = vec_avg( UIcons1, UIcons2 );
   1099   UIaux2.v = UIcons1;
   1100   UIaux3.v = UIcons2;
   1101   for( i=0; i< 4; i++ )
   1102   {
   1103     UIaux = (UIaux2.e[i] >> 1) + (UIaux3.e[i] >> 1) +
   1104             ((UIaux2.e[i]%2 + UIaux3.e[i]%2 + 1 )>>1);
   1105     if (UIaux1.e[i] != UIaux)
   1106       err++;
   1107   }
   1108   if (err)
   1109     printf("Function vec_avg [type unsigned int]      ===> Error\n");
   1110   else
   1111     printf("Function vec_avg [type unsigned int]      ===> OK\n");
   1112 
   1113 #if defined TEST_FLOATS
   1114 /*    Function vec_ceil    */
   1115   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1116   err = 0;
   1117   Faux1.v = vec_ceil( Fcons1 );
   1118   Faux2.v = Fcons1;
   1119   for( i=0; i< 4; i++ )
   1120     if (Faux1.e[i] != ceil(Faux2.e[i]))
   1121       err++;
   1122   if (err)
   1123     printf("Function vec_ceil [type float]            ===> Error\n");
   1124   else
   1125     printf("Function vec_ceil [type float]            ===> OK\n");
   1126 #endif
   1127 
   1128 #if defined TEST_FLOATS
   1129 /*    Function vec_cmpb    */
   1130   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1131   err = 0;
   1132   Iaux1.v = vec_cmpb( Fcons1, Fcons2 );
   1133   Faux2.v = Fcons1;
   1134   Faux3.v = Fcons2;
   1135   for( i=0; i< 4; i++ )
   1136   {
   1137     j = 0;
   1138     if (Faux2.e[i]>Faux3.e[i])
   1139      j+=(1 << 31);
   1140     if (Faux2.e[i]<-Faux3.e[i])
   1141      j+=(1 << 30);
   1142     if (Iaux1.e[i] != j)
   1143       err++;
   1144   }
   1145 
   1146   if (err)
   1147     printf("Function vec_cmpb [type float]            ===> Error\n");
   1148   else
   1149     printf("Function vec_cmpb [type float]            ===> OK\n");
   1150 #endif
   1151 
   1152 /*    Function vec_cmpeq    */
   1153   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1154   err = 0;
   1155   BCaux1.v = vec_cmpeq( Ccons1, Ccons2 );
   1156   Caux2.v = Ccons1;
   1157   Caux3.v = Ccons2;
   1158   for( i=0; i< 16; i++ )
   1159   {
   1160     if (Caux2.e[i] == Caux3.e[i])
   1161       BCaux = 0xFF;
   1162     else
   1163       BCaux = 0;
   1164     if (BCaux1.e[i] != BCaux)
   1165       err++;
   1166   }
   1167   if (err)
   1168     printf("Function vec_cmpeq [type char]            ===> Error\n");
   1169   else
   1170     printf("Function vec_cmpeq [type char]            ===> OK\n");
   1171 
   1172   err = 0;
   1173   BCaux1.v = vec_cmpeq( UCcons1, UCcons2 );
   1174   UCaux2.v = UCcons1;
   1175   UCaux3.v = UCcons2;
   1176   for( i=0; i< 16; i++ )
   1177   {
   1178     if (UCaux2.e[i] == UCaux3.e[i])
   1179       BCaux = 0xFF;
   1180     else
   1181       BCaux = 0;
   1182     if (BCaux1.e[i] != BCaux)
   1183       err++;
   1184   }
   1185   if (err)
   1186     printf("Function vec_cmpeq [type unsigned char]   ===> Error\n");
   1187   else
   1188     printf("Function vec_cmpeq [type unsigned char]   ===> OK\n");
   1189 
   1190   err = 0;
   1191   BSaux1.v = vec_cmpeq( Scons1, Scons2 );
   1192   Saux2.v = Scons1;
   1193   Saux3.v = Scons2;
   1194   for( i=0; i< 8; i++ )
   1195   {
   1196     if (Saux2.e[i] == Saux3.e[i])
   1197       BSaux = 0xFFFF;
   1198     else
   1199       BSaux = 0;
   1200     if (BSaux1.e[i] != BSaux)
   1201       err++;
   1202   }
   1203   if (err)
   1204     printf("Function vec_cmpeq [type short]           ===> Error\n");
   1205   else
   1206     printf("Function vec_cmpeq [type short]           ===> OK\n");
   1207 
   1208   err = 0;
   1209   BSaux1.v = vec_cmpeq( UScons1, UScons2 );
   1210   USaux2.v = UScons1;
   1211   USaux3.v = UScons2;
   1212   for( i=0; i< 8; i++ )
   1213   {
   1214     if (USaux2.e[i] == USaux3.e[i])
   1215       BSaux = 0xFFFF;
   1216     else
   1217       BSaux = 0;
   1218     if (BSaux1.e[i] != BSaux)
   1219       err++;
   1220   }
   1221   if (err)
   1222     printf("Function vec_cmpeq [type unsigned short]  ===> Error\n");
   1223   else
   1224     printf("Function vec_cmpeq [type unsigned short]  ===> OK\n");
   1225 
   1226   err = 0;
   1227   BIaux1.v = vec_cmpeq( Icons1, Icons2 );
   1228   Iaux2.v = Icons1;
   1229   Iaux3.v = Icons2;
   1230   for( i=0; i< 4; i++ )
   1231   {
   1232     if (Iaux2.e[i] == Iaux3.e[i])
   1233       BIaux = 0xFFFFFFFF;
   1234     else
   1235       BIaux = 0;
   1236     if (BIaux1.e[i] != BIaux)
   1237       err++;
   1238   }
   1239   if (err)
   1240     printf("Function vec_cmpeq [type integer]         ===> Error\n");
   1241   else
   1242     printf("Function vec_cmpeq [type integer]         ===> OK\n");
   1243 
   1244   err = 0;
   1245   BIaux1.v = vec_cmpeq( UIcons1, UIcons2 );
   1246   UIaux2.v = UIcons1;
   1247   UIaux3.v = UIcons2;
   1248   for( i=0; i< 4; i++ )
   1249   {
   1250     if (UIaux2.e[i] == UIaux3.e[i])
   1251       BIaux = 0xFFFFFFFF;
   1252     else
   1253       BIaux = 0;
   1254     if (BIaux1.e[i] != BIaux)
   1255       err++;
   1256   }
   1257   if (err)
   1258     printf("Function vec_cmpeq [type unsigned int]    ===> Error\n");
   1259   else
   1260     printf("Function vec_cmpeq [type unsigned int]    ===> OK\n");
   1261 
   1262 #if defined TEST_FLOATS
   1263   err = 0;
   1264   BIaux1.v = vec_cmpeq( Fcons1, Fcons2 );
   1265   Faux2.v = Fcons1;
   1266   Faux3.v = Fcons2;
   1267   for( i=0; i< 4; i++ )
   1268   {
   1269     if (Faux2.e[i] == Faux3.e[i])
   1270       BIaux = 0xFFFFFFFF;
   1271     else
   1272       BIaux = 0;
   1273     if (BIaux1.e[i] != BIaux)
   1274       err++;
   1275   }
   1276   if (err)
   1277     printf("Function vec_cmpeq [type float]           ===> Error\n");
   1278   else
   1279     printf("Function vec_cmpeq [type float]           ===> OK\n");
   1280 #endif
   1281 
   1282 #if defined TEST_FLOATS
   1283 /*    Function vec_cmpge    */
   1284   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1285   err = 0;
   1286   BIaux1.v = vec_cmpge( Fcons1, Fcons2 );
   1287   Faux2.v = Fcons1;
   1288   Faux3.v = Fcons2;
   1289   for( i=0; i< 4; i++ )
   1290   {
   1291     if (Faux2.e[i] >= Faux3.e[i])
   1292       BIaux = 0xFFFFFFFF;
   1293     else
   1294       BIaux = 0;
   1295     if (BIaux1.e[i] != BIaux)
   1296       err++;
   1297   }
   1298   if (err)
   1299     printf("Function vec_cmpge [type float]           ===> Error\n");
   1300   else
   1301     printf("Function vec_cmpge [type float]           ===> OK\n");
   1302 #endif
   1303 
   1304 /*    Function vec_cmpgt    */
   1305   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1306   err = 0;
   1307   BCaux1.v = vec_cmpgt( Ccons1, Ccons2 );
   1308   Caux2.v = Ccons1;
   1309   Caux3.v = Ccons2;
   1310   for( i=0; i< 16; i++ )
   1311   {
   1312     if (Caux2.e[i] > Caux3.e[i])
   1313       BCaux = 0xFF;
   1314     else
   1315       BCaux = 0;
   1316     if (BCaux1.e[i] != BCaux)
   1317       err++;
   1318   }
   1319   if (err)
   1320     printf("Function vec_cmpgt [type char]            ===> Error\n");
   1321   else
   1322     printf("Function vec_cmpgt [type char]            ===> OK\n");
   1323 
   1324   err = 0;
   1325   BCaux1.v = vec_cmpgt( UCcons1, UCcons2 );
   1326   UCaux2.v = UCcons1;
   1327   UCaux3.v = UCcons2;
   1328   for( i=0; i< 16; i++ )
   1329   {
   1330     if (UCaux2.e[i] > UCaux3.e[i])
   1331       BCaux = 0xFF;
   1332     else
   1333       BCaux = 0;
   1334     if (BCaux1.e[i] != BCaux)
   1335       err++;
   1336   }
   1337   if (err)
   1338     printf("Function vec_cmpgt [type unsigned char]   ===> Error\n");
   1339   else
   1340     printf("Function vec_cmpgt [type unsigned char]   ===> OK\n");
   1341 
   1342   err = 0;
   1343   BSaux1.v = vec_cmpgt( Scons1, Scons2 );
   1344   Saux2.v = Scons1;
   1345   Saux3.v = Scons2;
   1346   for( i=0; i< 8; i++ )
   1347   {
   1348     if (Saux2.e[i] > Saux3.e[i])
   1349       BSaux = 0xFFFF;
   1350     else
   1351       BSaux = 0;
   1352     if (BSaux1.e[i] != BSaux)
   1353       err++;
   1354   }
   1355   if (err)
   1356     printf("Function vec_cmpgt [type short]           ===> Error\n");
   1357   else
   1358     printf("Function vec_cmpgt [type short]           ===> OK\n");
   1359 
   1360   err = 0;
   1361   BSaux1.v = vec_cmpgt( UScons1, UScons2 );
   1362   USaux2.v = UScons1;
   1363   USaux3.v = UScons2;
   1364   for( i=0; i< 8; i++ )
   1365   {
   1366     if (USaux2.e[i] > USaux3.e[i])
   1367       BSaux = 0xFFFF;
   1368     else
   1369       BSaux = 0;
   1370     if (BSaux1.e[i] != BSaux)
   1371       err++;
   1372   }
   1373   if (err)
   1374     printf("Function vec_cmpgt [type unsigned short]  ===> Error\n");
   1375   else
   1376     printf("Function vec_cmpgt [type unsigned short]  ===> OK\n");
   1377 
   1378   err = 0;
   1379   BIaux1.v = vec_cmpgt( Icons1, Icons2 );
   1380   Iaux2.v = Icons1;
   1381   Iaux3.v = Icons2;
   1382   for( i=0; i< 4; i++ )
   1383   {
   1384     if (Iaux2.e[i] > Iaux3.e[i])
   1385       BIaux = 0xFFFFFFFF;
   1386     else
   1387       BIaux = 0;
   1388     if (BIaux1.e[i] != BIaux)
   1389       err++;
   1390   }
   1391   if (err)
   1392     printf("Function vec_cmpgt [type integer]         ===> Error\n");
   1393   else
   1394     printf("Function vec_cmpgt [type integer]         ===> OK\n");
   1395 
   1396   err = 0;
   1397   BIaux1.v = vec_cmpgt( UIcons1, UIcons2 );
   1398   UIaux2.v = UIcons1;
   1399   UIaux3.v = UIcons2;
   1400   for( i=0; i< 4; i++ )
   1401   {
   1402     if (UIaux2.e[i] > UIaux3.e[i])
   1403       BIaux=0xFFFFFFFF;
   1404     else
   1405       BIaux = 0;
   1406     if (BIaux1.e[i] != BIaux)
   1407       err++;
   1408   }
   1409   if (err)
   1410     printf("Function vec_cmpgt [type unsigned int]    ===> Error\n");
   1411   else
   1412     printf("Function vec_cmpgt [type unsigned int]    ===> OK\n");
   1413 
   1414 #if defined TEST_FLOATS
   1415   err = 0;
   1416   BIaux1.v = vec_cmpgt( Fcons1, Fcons2 );
   1417   Faux2.v = Fcons1;
   1418   Faux3.v = Fcons2;
   1419   for( i=0; i< 4; i++ )
   1420   {
   1421     if (Faux2.e[i] > Faux3.e[i])
   1422       BIaux = 0xFFFFFFFF;
   1423     else
   1424       BIaux = 0;
   1425     if (BIaux1.e[i] != BIaux)
   1426       err++;
   1427   }
   1428   if (err)
   1429     printf("Function vec_cmpgt [type float]           ===> Error\n");
   1430   else
   1431     printf("Function vec_cmpgt [type float]           ===> OK\n");
   1432 #endif
   1433 
   1434 #if defined TEST_FLOATS
   1435 /*    Function vec_cmple    */
   1436   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1437   err = 0;
   1438   BIaux1.v = vec_cmple( Fcons1, Fcons2 );
   1439   Faux2.v = Fcons1;
   1440   Faux3.v = Fcons2;
   1441   for( i=0; i< 4; i++ )
   1442   {
   1443     if (Faux2.e[i] <= Faux3.e[i])
   1444       BIaux = 0xFFFFFFFF;
   1445     else
   1446       BIaux = 0;
   1447     if (BIaux1.e[i] != BIaux)
   1448       err++;
   1449   }
   1450   if (err)
   1451     printf("Function vec_cmple [type float]           ===> Error\n");
   1452   else
   1453     printf("Function vec_cmple [type float]           ===> OK\n");
   1454 #endif
   1455 
   1456 /*    Function vec_cmplt    */
   1457   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1458   err = 0;
   1459   BCaux1.v = vec_cmplt( Ccons1, Ccons2 );
   1460   Caux2.v = Ccons1;
   1461   Caux3.v = Ccons2;
   1462   for( i=0; i< 16; i++ )
   1463   {
   1464     if (Caux2.e[i] < Caux3.e[i])
   1465       BCaux = 0xFF;
   1466     else
   1467       BCaux = 0;
   1468     if (BCaux1.e[i] != BCaux)
   1469       err++;
   1470   }
   1471   if (err)
   1472     printf("Function vec_cmplt [type char]            ===> Error\n");
   1473   else
   1474     printf("Function vec_cmplt [type char]            ===> OK\n");
   1475 
   1476   err = 0;
   1477   BCaux1.v = vec_cmplt( UCcons1, UCcons2 );
   1478   UCaux2.v = UCcons1;
   1479   UCaux3.v = UCcons2;
   1480   for( i=0; i< 16; i++ )
   1481   {
   1482     if (UCaux2.e[i] < UCaux3.e[i])
   1483       BCaux = 0xFF;
   1484     else
   1485       BCaux = 0;
   1486     if (BCaux1.e[i] != BCaux)
   1487       err++;
   1488   }
   1489   if (err)
   1490     printf("Function vec_cmplt [type unsigned char]   ===> Error\n");
   1491   else
   1492     printf("Function vec_cmplt [type unsigned char]   ===> OK\n");
   1493 
   1494   err = 0;
   1495   BSaux1.v = vec_cmplt( Scons1, Scons2 );
   1496   Saux2.v = Scons1;
   1497   Saux3.v = Scons2;
   1498   for( i=0; i< 8; i++ )
   1499   {
   1500     if (Saux2.e[i] < Saux3.e[i])
   1501       BSaux = 0xFFFF;
   1502     else
   1503       BSaux = 0;
   1504     if (BSaux1.e[i] != BSaux)
   1505       err++;
   1506   }
   1507   if (err)
   1508     printf("Function vec_cmplt [type short]           ===> Error\n");
   1509   else
   1510     printf("Function vec_cmplt [type short]           ===> OK\n");
   1511 
   1512   err = 0;
   1513   BSaux1.v = vec_cmplt( UScons1, UScons2 );
   1514   USaux2.v = UScons1;
   1515   USaux3.v = UScons2;
   1516   for( i=0; i< 8; i++ )
   1517   {
   1518     if (USaux2.e[i] < USaux3.e[i])
   1519       BSaux = 0xFFFF;
   1520     else
   1521       BSaux = 0;
   1522     if (BSaux1.e[i] != BSaux)
   1523       err++;
   1524   }
   1525   if (err)
   1526     printf("Function vec_cmplt [type unsigned short]  ===> Error\n");
   1527   else
   1528     printf("Function vec_cmplt [type unsigned short]  ===> OK\n");
   1529 
   1530   err = 0;
   1531   BIaux1.v = vec_cmplt( Icons1, Icons2 );
   1532   Iaux2.v = Icons1;
   1533   Iaux3.v = Icons2;
   1534   for( i=0; i< 4; i++ )
   1535   {
   1536     if (Iaux2.e[i] < Iaux3.e[i])
   1537       BIaux = 0xFFFFFFFF;
   1538     else
   1539       BIaux = 0;
   1540     if (BIaux1.e[i] != BIaux)
   1541       err++;
   1542   }
   1543   if (err)
   1544     printf("Function vec_cmplt [type integer]         ===> Error\n");
   1545   else
   1546     printf("Function vec_cmplt [type integer]         ===> OK\n");
   1547 
   1548   err = 0;
   1549   BIaux1.v = vec_cmplt( UIcons1, UIcons2 );
   1550   UIaux2.v = UIcons1;
   1551   UIaux3.v = UIcons2;
   1552   for( i=0; i< 4; i++ )
   1553   {
   1554     if (UIaux2.e[i] < UIaux3.e[i])
   1555       BIaux=0xFFFFFFFF;
   1556     else
   1557       BIaux = 0;
   1558     if (BIaux1.e[i] != BIaux)
   1559       err++;
   1560   }
   1561   if (err)
   1562     printf("Function vec_cmplt [type unsigned int]    ===> Error\n");
   1563   else
   1564     printf("Function vec_cmplt [type unsigned int]    ===> OK\n");
   1565 
   1566 #if defined TEST_FLOATS
   1567   err = 0;
   1568   BIaux1.v = vec_cmplt( Fcons1, Fcons2 );
   1569   Faux2.v = Fcons1;
   1570   Faux3.v = Fcons2;
   1571   for( i=0; i< 4; i++ )
   1572   {
   1573     if (Faux2.e[i] < Faux3.e[i])
   1574       BIaux = 0xFFFFFFFF;
   1575     else
   1576       BIaux = 0;
   1577     if (BIaux1.e[i] != BIaux)
   1578       err++;
   1579   }
   1580   if (err)
   1581     printf("Function vec_cmplt [type float]           ===> Error\n");
   1582   else
   1583     printf("Function vec_cmplt [type float]           ===> OK\n");
   1584 #endif
   1585 
   1586 #if defined TEST_FLOATS
   1587 /*    Function vec_ctf    */
   1588   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1589   err = 0;
   1590   b   = 2;
   1591   Faux1.v = vec_ctf( Icons1, 2 );
   1592   Iaux1.v = Icons1;
   1593   for( i=0; i< 4; i++ )
   1594     if (Faux1.e[i] != (((float)Iaux1.e[i])/(1<<b)))
   1595       err++;
   1596   if (err)
   1597     printf("Function vec_ctf [type integer]           ===> Error\n");
   1598   else
   1599     printf("Function vec_ctf [type integer]           ===> OK\n");
   1600 
   1601   err = 0;
   1602   b   = 2;
   1603   Faux1.v = vec_ctf( UIcons1, 2 );
   1604   UIaux1.v = UIcons1;
   1605   for( i=0; i< 4; i++ )
   1606     if (Faux1.e[i] != (((float)UIaux1.e[i])/(1<<b)))
   1607       err++;
   1608   if (err)
   1609     printf("Function vec_ctf [type unsigned int]      ===> Error\n");
   1610   else
   1611     printf("Function vec_ctf [type unsigned int]      ===> OK\n");
   1612 #endif
   1613 
   1614 #if defined TEST_FLOATS
   1615 /*    Function vec_cts    */
   1616   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1617   err = 0;
   1618   b   = 2;
   1619   Iaux1.v = vec_cts( Fcons3, 2 );
   1620   Faux1.v = Fcons3;
   1621   for( i=0; i< 4; i++ )
   1622     if (Iaux1.e[i] != (int)(Faux1.e[i]*(1<<b)))
   1623       err++;
   1624   if (err)
   1625     printf("Function vec_cts [type float]             ===> Error\n");
   1626   else
   1627     printf("Function vec_cts [type float]             ===> OK\n");
   1628 #endif
   1629 
   1630 #if defined TEST_FLOATS
   1631 /*    Function vec_ctu    */
   1632   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1633   err = 0;
   1634   b   = 2;
   1635   UIaux1.v = vec_ctu( Fcons3, 2 );
   1636   Faux1.v = Fcons3;
   1637   for( i=0; i< 4; i++ )
   1638     {
   1639       double d = Faux1.e[i]*(1<<b);
   1640       if (d > 0xffffffff)
   1641 	d = 0xffffffff;
   1642       if (d < 0)
   1643 	d = 0;
   1644       if (UIaux1.e[i] != (unsigned int)(d))
   1645         err++;
   1646     }
   1647   if (err)
   1648     printf("Function vec_ctu [type float]             ===> Error\n");
   1649   else
   1650     printf("Function vec_ctu [type float]             ===> OK\n");
   1651 #endif
   1652 
   1653   part1();
   1654 
   1655   part2();
   1656 
   1657   part3();
   1658 
   1659   part4();
   1660 
   1661   part5();
   1662 
   1663   return 0;
   1664 }
   1665 
   1666 
   1667 
   1668 
   1669 int part1()
   1670 {
   1671   TvecChar      Caux1;//,  Caux2,  Caux3,  Caux4;
   1672   TvecUChar     UCaux1;//, UCaux2, UCaux3, UCaux4;
   1673   TvecShort     Saux1;//,  Saux2,  Saux3,  Saux4;
   1674   TvecUShort    USaux1;//, USaux2, USaux3, USaux4;
   1675   TvecInt       Iaux1;//,  Iaux2,  Iaux3,  Iaux4;
   1676   TvecUInt      UIaux1;//, UIaux2, UIaux3, UIaux4;
   1677 #if defined TEST_FLOATS
   1678   TvecFloat     Faux1,  Faux2;//,  Faux3,  Faux4;
   1679 #endif
   1680 
   1681   int                  i, err, j;//, b, bAux;
   1682 //  signed   int         Ivec1, Ivec2, Ivec3;
   1683 //  signed   short       *Svec1;
   1684 //  unsigned int         *UIvec1;
   1685 //  unsigned short       *USvec1;
   1686 //  unsigned char        *UCvec1;
   1687 #if defined TEST_FLOATS
   1688 //  float                *Fvec1;
   1689 #endif
   1690 
   1691   /* For saturated rutines */
   1692 //  long long int         LLaux;
   1693 
   1694 #if defined TEST_FLOATS
   1695   float                 Faux;
   1696 #endif
   1697   signed   int          Iaux;//, I1, I2;
   1698 //  unsigned int          UIaux, UI1, UI2;
   1699 //  signed   short        Saux;
   1700 //  unsigned short        USaux;
   1701 //  signed   char         Caux;
   1702 //  unsigned char         UCaux;
   1703 
   1704 /*
   1705   union
   1706   {
   1707     float          f;
   1708     signed   int   si;
   1709     unsigned int   ui;
   1710     signed   short ss[2];
   1711     unsigned short us[2];
   1712     signed   char  sc[4];
   1713     unsigned char  uc[4];
   1714   } INTunion1, INTunion2;
   1715 
   1716   union
   1717   {
   1718     signed   short  ss;
   1719     unsigned short  us;
   1720     signed   char   sc[2];
   1721     unsigned char   uc[2];
   1722   } SHOunion1, SHOunion2;
   1723 */
   1724 
   1725 #if defined (GCC_COMPILER)
   1726   vector signed char    Ccons1   = (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   1727 //  vector signed char    Ccons2   = (vector signed char){1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
   1728 //  vector signed char    Ccons3   = (vector signed char){-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127};
   1729   vector unsigned char  UCcons1  = (vector unsigned char){248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7};
   1730 //  vector unsigned char  UCcons2  = (vector unsigned char){2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
   1731 //  vector unsigned char  UCcons3  = (vector unsigned char){1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8};
   1732   vector signed short   Scons1   = (vector signed short){-4, -3, -2, -1, 0, 1, 2, 3};
   1733 //  vector signed short   Scons2   = (vector signed short){-32768, 10000, 1, 1, 1, 1, -10000, -10000};
   1734 //  vector signed short   Scons3   = (vector signed short){-32768, 32767, -32768, 32767, -32768, 32767, -32768, 32767};
   1735 //  vector unsigned short UScons1  = (vector unsigned short){65532, 65533, 65534, 65535, 0, 1, 2, 3};
   1736 //  vector unsigned short UScons2  = (vector unsigned short){1, 1, 1, 1, 1, 1, 1, 1};
   1737   vector unsigned short UScons3  = (vector unsigned short){1, 2, 3, 4, 1, 2, 3, 4};
   1738   vector signed int     Icons1   = (vector signed int){-4, -1, 1, 4};
   1739 //  vector signed int     Icons2   = (vector signed int){1, 1, 1, 1};
   1740 //  vector signed int     Icons3   = (vector signed int){0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF};
   1741   vector unsigned int   UIcons1  = (vector unsigned int){0xFFFFFFFE, 0xFFFFFFFF, 0, 1};
   1742 //  vector unsigned int   UIcons2  = (vector unsigned int){1, 1, 1, 1};
   1743 //  vector unsigned int   UIcons3  = (vector unsigned int){1, 2, 1, 2};
   1744 
   1745 #if defined TEST_FLOATS
   1746   vector float          Fcons1   = (vector float){-1.5, 1.0, 0.5, -3.999};
   1747 //  vector float          Fcons2   = (vector float){1.0, 1.0, 1.0, 1.0};
   1748   vector float          Fcons3   = (vector float){100000000000.0, 1.0, -1.0, -1234567890.0};
   1749 #endif
   1750 
   1751 #elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   1752   vector signed char    Ccons1   = (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   1753   vector signed char    Ccons2   = (vector signed char)(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
   1754   vector signed char    Ccons3   = (vector signed char)(-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127);
   1755   vector unsigned char  UCcons1  = (vector unsigned char)(248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7);
   1756   vector unsigned char  UCcons2  = (vector unsigned char)(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
   1757   vector unsigned char  UCcons3  = (vector unsigned char)(1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8);
   1758   vector signed short   Scons1   = (vector signed short)(-4, -3, -2, -1, 0, 1, 2, 3);
   1759   vector signed short   Scons2   = (vector signed short)(-32768, 10000, 1, 1, 1, 1, -10000, -10000);
   1760   vector signed short   Scons3   = (vector signed short)(-32768, 32767, -32768, 32767, -32768, 32767, -32768, 32767);
   1761   vector unsigned short UScons1  = (vector unsigned short)(65532, 65533, 65534, 65535, 0, 1, 2, 3);
   1762   vector unsigned short UScons2  = (vector unsigned short)(1, 1, 1, 1, 1, 1, 1, 1);
   1763   vector unsigned short UScons3  = (vector unsigned short)(1, 2, 3, 4, 1, 2, 3, 4);
   1764   vector signed int     Icons1   = (vector signed int)(-4, -1, 1, 4);
   1765   vector signed int     Icons2   = (vector signed int)(1, 1, 1, 1);
   1766   vector signed int     Icons3   = (vector signed int)(0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF);
   1767   vector unsigned int   UIcons1  = (vector unsigned int)(0xFFFFFFFE, 0xFFFFFFFF, 0, 1);
   1768   vector unsigned int   UIcons2  = (vector unsigned int)(1, 1, 1, 1);
   1769   vector unsigned int   UIcons3  = (vector unsigned int)(1, 2, 1, 2);
   1770 
   1771 #if defined TEST_FLOATS
   1772   vector float          Fcons1   = (vector float)(-1.5, 1.0, 0.5, -3.999);
   1773   vector float          Fcons2   = (vector float)(1.0, 1.0, 1.0, 1.0);
   1774   vector float          Fcons3   = (vector float)(100000000000.0, 1.0, -1.0, -1234567890.0);
   1775 #endif
   1776 
   1777 #endif
   1778 
   1779 
   1780 /* Variables to be allocated with calloc_vec (16 bytes aligned) */
   1781   unsigned char   *UCmem = (unsigned char*)calloc_vec( 1, sizeof(vector unsigned char) );
   1782   signed char     *Cmem  = (signed char*)calloc_vec( 1, sizeof(vector signed char) );
   1783   unsigned short  *USmem = (unsigned short*)calloc_vec( 1, sizeof(vector unsigned short) );
   1784   signed short    *Smem  = (signed short*)calloc_vec( 1, sizeof(vector signed short) );
   1785   unsigned int    *UImem = (unsigned int*)calloc_vec( 1, sizeof(vector unsigned int) );
   1786   signed int      *Imem  = (signed int*)calloc_vec( 1, sizeof(vector signed int) );
   1787 #if defined TEST_FLOATS
   1788   float           *Fmem  = (float*)calloc_vec( 1, sizeof(vector float) );
   1789 #endif
   1790 
   1791 /*    Function vec_dss    */
   1792   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1793   printf("Function vec_dss [Vector data Stream Stop] not checked\n");
   1794 
   1795 /*    Function vec_dssall    */
   1796   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1797   printf("Function vec_dssall [Vector Stream Stop all] not checked\n");
   1798 
   1799 /*    Function vec_dst    */
   1800   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1801   printf("Function vec_dst [Vector Data Stream Touch] not checked\n");
   1802 
   1803 /*    Function vec_dstst    */
   1804   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1805   printf("Function vec_dstst [Vector Data Stream Touch for Store] not checked\n");
   1806 
   1807 /*    Function vec_dststt    */
   1808   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1809   printf("Function vec_dststt [Vector Data Stream Touch for Store Transient] not checked\n");
   1810 
   1811 /*    Function vec_dstt    */
   1812   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1813   printf("Function vec_dstt [Vector Data Stream Touch Transient] not checked\n");
   1814 
   1815 #if defined TEST_FLOATS
   1816 /*    Function vec_expte    */
   1817   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1818   err = 0;
   1819   Faux1.v = vec_expte( Fcons1 );
   1820   Faux2.v = Fcons1;
   1821   for( i=0; i< 4; i++ )
   1822   {
   1823     Faux = pow(2,Faux2.e[i]);
   1824 /*
   1825     Ivec1 = (signed int*)(&Faux1.e[i]);
   1826     Ivec2 = (signed int*)(&Faux);
   1827     *Ivec1 = (*Ivec1) & 0xFFF00000;
   1828     *Ivec2 = (*Ivec2) & 0xFFF00000;
   1829     if (Faux1.e[i] != Faux)
   1830       err++;
   1831 */
   1832     Faux = (Faux - Faux1.e[i])/Faux;
   1833     if (Faux>0.1)
   1834       err++;
   1835   }
   1836   if (err)
   1837     printf("Function vec_expte [type float]           ===> Error\n");
   1838   else
   1839     printf("Function vec_expte [type float]           ===> OK\n");
   1840 #endif
   1841 
   1842 #if defined TEST_FLOATS
   1843 /*    Function vec_floor    */
   1844   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1845   err = 0;
   1846   Faux1.v = vec_floor( Fcons1 );
   1847   Faux2.v = Fcons1;
   1848   for( i=0; i< 4; i++ )
   1849     if (Faux1.e[i] != floor(Faux2.e[i]))
   1850       err++;
   1851   if (err)
   1852     printf("Function vec_floor [type float]           ===> Error\n");
   1853   else
   1854     printf("Function vec_floor [type float]           ===> OK\n");
   1855 #endif
   1856 
   1857 /*    Function vec_ld    */
   1858   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1859   err = 0;
   1860   memcpy( UCmem, &UCcons1, sizeof(vector unsigned char) );
   1861   UCaux1.v = vec_ld( 0, UCmem );
   1862   Iaux = 1;
   1863   for ( i=0; i< 16; i++ )
   1864   {
   1865     Iaux = Iaux && (UCaux1.e[i]==UCmem[i]);
   1866   }
   1867   if (Iaux!=1) err++;
   1868 
   1869   if (err)
   1870     printf("Function vec_ld [type unsigned char]      ===> Error\n");
   1871   else
   1872     printf("Function vec_ld [type unsigned char]      ===> OK\n");
   1873 
   1874   err = 0;
   1875   memcpy( Cmem, &Ccons1, sizeof(vector signed char) );
   1876   Caux1.v = vec_ld( 0, Cmem );
   1877   Iaux = 1;
   1878   for ( i=0; i< 16; i++ )
   1879   {
   1880     Iaux = Iaux && (Caux1.e[i]==Cmem[i]);
   1881   }
   1882   if (Iaux!=1) err++;
   1883 
   1884   if (err)
   1885     printf("Function vec_ld [type char]               ===> Error\n");
   1886   else
   1887     printf("Function vec_ld [type char]               ===> OK\n");
   1888 
   1889   err = 0;
   1890   memcpy( USmem, &UScons3, sizeof(vector unsigned short) );
   1891   USaux1.v = vec_ld( 0, USmem );
   1892   Iaux = 1;
   1893   for ( i=0; i< 8; i++ )
   1894   {
   1895     Iaux = Iaux && (USaux1.e[i]==USmem[i]);
   1896   }
   1897   if (Iaux!=1) err++;
   1898 
   1899   if (err)
   1900     printf("Function vec_ld [type unsigned short]     ===> Error\n");
   1901   else
   1902     printf("Function vec_ld [type unsigned short]     ===> OK\n");
   1903 
   1904   err = 0;
   1905   memcpy( Smem, &Scons1, sizeof(vector signed short) );
   1906   Saux1.v = vec_ld( 0, Smem );
   1907   Iaux = 1;
   1908   for ( i=0; i< 8; i++ )
   1909   {
   1910     Iaux = Iaux && (Saux1.e[i]==Smem[i]);
   1911   }
   1912   if (Iaux!=1) err++;
   1913 
   1914   if (err)
   1915     printf("Function vec_ld [type short]              ===> Error\n");
   1916   else
   1917     printf("Function vec_ld [type short]              ===> OK\n");
   1918 
   1919   err = 0;
   1920   memcpy( UImem, &UIcons1, sizeof(vector unsigned int) );
   1921   UIaux1.v = vec_ld( 0, UImem );
   1922   Iaux = 1;
   1923   for ( i=0; i< 4; i++ )
   1924   {
   1925     Iaux = Iaux && (UIaux1.e[i]==UImem[i]);
   1926   }
   1927   if (Iaux!=1) err++;
   1928 
   1929   if (err)
   1930     printf("Function vec_ld [type unsigned int]       ===> Error\n");
   1931   else
   1932     printf("Function vec_ld [type unsigned int]       ===> OK\n");
   1933 
   1934   err = 0;
   1935   memcpy( Imem, &Icons1, sizeof(vector signed int) );
   1936   Iaux1.v = vec_ld( 0, Imem );
   1937   Iaux = 1;
   1938   for ( i=0; i< 4; i++ )
   1939   {
   1940     Iaux = Iaux && (Iaux1.e[i]==Imem[i]);
   1941   }
   1942   if (Iaux!=1) err++;
   1943 
   1944   if (err)
   1945     printf("Function vec_ld [type int]                ===> Error\n");
   1946   else
   1947     printf("Function vec_ld [type int]                ===> OK\n");
   1948 
   1949 #if defined TEST_FLOATS
   1950   err = 0;
   1951   memcpy( Fmem, &Fcons1, sizeof(vector float) );
   1952   Faux1.v = vec_ld( 0, Fmem );
   1953   Iaux = 1;
   1954   for ( i=0; i< 4; i++ )
   1955   {
   1956     Iaux = Iaux && (Faux1.e[i]==Fmem[i]);
   1957   }
   1958   if (Iaux!=1) err++;
   1959 
   1960   if (err)
   1961     printf("Function vec_ld [type float]              ===> Error\n");
   1962   else
   1963     printf("Function vec_ld [type float]              ===> OK\n");
   1964 #endif
   1965 
   1966 /*    Function vec_lde    */
   1967   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   1968 
   1969   err = 0;
   1970   for (i= 0; i< 16; i++)
   1971     UCmem[i] = (unsigned char)i;
   1972   j = 1;
   1973   i = j*sizeof(unsigned char);
   1974   UCaux1.v = vec_lde( i, UCmem );
   1975 
   1976   if (UCaux1.e[j] != UCmem[j]) err++;
   1977 
   1978   if (err)
   1979     printf("Function vec_lde [type unsigned char]     ===> Error\n");
   1980   else
   1981     printf("Function vec_lde [type unsigned char]     ===> OK\n");
   1982 
   1983   err = 0;
   1984   for (i= 0; i< 16; i++)
   1985     Cmem[i] = (char)(-i);
   1986   j = 1;
   1987   i = j*sizeof(char);
   1988   Caux1.v = vec_lde( i, Cmem );
   1989 
   1990   if (Caux1.e[j] != Cmem[j]) err++;
   1991 
   1992   if (err)
   1993     printf("Function vec_lde [type char]              ===> Error\n");
   1994   else
   1995     printf("Function vec_lde [type char]              ===> OK\n");
   1996 
   1997   err = 0;
   1998   for (i= 0; i< 8; i++)
   1999     USmem[i] = (unsigned short)(i);
   2000   j = 1;
   2001   i = j*sizeof(unsigned short);
   2002   USaux1.v = vec_lde( i, USmem );
   2003 
   2004   if (USaux1.e[j] != USmem[j]) err++;
   2005 
   2006   if (err)
   2007     printf("Function vec_lde [type unsigned short]    ===> Error\n");
   2008   else
   2009     printf("Function vec_lde [type unsigned short]    ===> OK\n");
   2010 
   2011   err = 0;
   2012   for (i= 0; i< 8; i++)
   2013     Smem[i] = (short)(-i);
   2014   j = 1;
   2015   i = j*sizeof(short);
   2016   Saux1.v = vec_lde( i, Smem );
   2017 
   2018   if (Saux1.e[j] != Smem[j]) err++;
   2019 
   2020   if (err)
   2021     printf("Function vec_lde [type short]             ===> Error\n");
   2022   else
   2023     printf("Function vec_lde [type short]             ===> OK\n");
   2024 
   2025   err = 0;
   2026   for (i= 0; i< 4; i++)
   2027     UImem[i] = (unsigned int)(i);
   2028   j = 1;
   2029   i = j*sizeof(unsigned int);
   2030   UIaux1.v = vec_lde( i, UImem );
   2031 
   2032   if (UIaux1.e[j] != UImem[j]) err++;
   2033 
   2034   if (err)
   2035     printf("Function vec_lde [type unsigned int]      ===> Error\n");
   2036   else
   2037     printf("Function vec_lde [type unsigned int]      ===> OK\n");
   2038 
   2039   err = 0;
   2040   for (i= 0; i< 4; i++)
   2041     Imem[i] = (int)(-i);
   2042   j = 1;
   2043   i = j*sizeof(int);
   2044   Iaux1.v = vec_lde( i, Imem );
   2045 
   2046   if (Iaux1.e[j] != Imem[j]) err++;
   2047 
   2048   if (err)
   2049     printf("Function vec_lde [type int]               ===> Error\n");
   2050   else
   2051     printf("Function vec_lde [type int]               ===> OK\n");
   2052 
   2053 #if defined TEST_FLOATS
   2054   err = 0;
   2055   for (i= 0; i< 4; i++)
   2056     Fmem[i] = ((float)(-i)) - 0.5;
   2057   j = 1;
   2058   i = j*sizeof(float);
   2059   Faux1.v = vec_lde( i, Fmem );
   2060 
   2061   if (Faux1.e[j] != Fmem[j]) err++;
   2062 
   2063   if (err)
   2064     printf("Function vec_lde [type float]             ===> Error\n");
   2065   else
   2066     printf("Function vec_lde [type float]             ===> OK\n");
   2067 #endif
   2068 
   2069 #if 0
   2070 /*    Function vec_ldl    */
   2071   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2072   err = 0;
   2073   memcpy( UCmem, &UCcons1, sizeof(vector unsigned char) );
   2074   UCaux1.v = vec_ldl( 0, UCmem );
   2075   Iaux = 1;
   2076   for ( i=0; i< 16; i++ )
   2077   {
   2078     Iaux = Iaux && (UCaux1.e[i]==UCmem[i]);
   2079   }
   2080   if (Iaux!=1) err++;
   2081 
   2082   if (err)
   2083     printf("Function vec_ldl [type unsigned char]     ===> Error\n");
   2084   else
   2085     printf("Function vec_ldl [type unsigned char]     ===> OK\n");
   2086 
   2087   err = 0;
   2088   memcpy( Cmem, &Ccons1, sizeof(vector signed char) );
   2089   Caux1.v = vec_ldl( 0, Cmem );
   2090   Iaux = 1;
   2091   for ( i=0; i< 16; i++ )
   2092   {
   2093     Iaux = Iaux && (Caux1.e[i]==Cmem[i]);
   2094   }
   2095   if (Iaux!=1) err++;
   2096 
   2097   if (err)
   2098     printf("Function vec_ldl [type char]              ===> Error\n");
   2099   else
   2100     printf("Function vec_ldl [type char]              ===> OK\n");
   2101 
   2102   err = 0;
   2103   memcpy( USmem, &UScons3, sizeof(vector unsigned short) );
   2104   USaux1.v = vec_ldl( 0, USmem );
   2105   Iaux = 1;
   2106   for ( i=0; i< 8; i++ )
   2107   {
   2108     Iaux = Iaux && (USaux1.e[i]==USmem[i]);
   2109   }
   2110   if (Iaux!=1) err++;
   2111 
   2112   if (err)
   2113     printf("Function vec_ldl [type unsigned short]    ===> Error\n");
   2114   else
   2115     printf("Function vec_ldl [type unsigned short]    ===> OK\n");
   2116 
   2117   err = 0;
   2118   memcpy( Smem, &Scons1, sizeof(vector signed short) );
   2119   Saux1.v = vec_ldl( 0, Smem );
   2120   Iaux = 1;
   2121   for ( i=0; i< 8; i++ )
   2122   {
   2123     Iaux = Iaux && (Saux1.e[i]==Smem[i]);
   2124   }
   2125   if (Iaux!=1) err++;
   2126 
   2127   if (err)
   2128     printf("Function vec_ldl [type short]             ===> Error\n");
   2129   else
   2130     printf("Function vec_ldl [type short]             ===> OK\n");
   2131 
   2132   err = 0;
   2133   memcpy( UImem, &UIcons1, sizeof(vector unsigned int) );
   2134   UIaux1.v = vec_ldl( 0, UImem );
   2135   Iaux = 1;
   2136   for ( i=0; i< 4; i++ )
   2137   {
   2138     Iaux = Iaux && (UIaux1.e[i]==UImem[i]);
   2139   }
   2140   if (Iaux!=1) err++;
   2141 
   2142   if (err)
   2143     printf("Function vec_ldl [type unsigned int]      ===> Error\n");
   2144   else
   2145     printf("Function vec_ldl [type unsigned int]      ===> OK\n");
   2146 
   2147   err = 0;
   2148   memcpy( Imem, &Icons1, sizeof(vector signed int) );
   2149   Iaux1.v = vec_ldl( 0, Imem );
   2150   Iaux = 1;
   2151   for ( i=0; i< 4; i++ )
   2152   {
   2153     Iaux = Iaux && (Iaux1.e[i]==Imem[i]);
   2154   }
   2155   if (Iaux!=1) err++;
   2156 
   2157   if (err)
   2158     printf("Function vec_ldl [type int]               ===> Error\n");
   2159   else
   2160     printf("Function vec_ldl [type int]               ===> OK\n");
   2161 
   2162 #if defined TEST_FLOATS
   2163   err = 0;
   2164   memcpy( Fmem, &Fcons1, sizeof(vector float) );
   2165   Faux1.v = vec_ldl( 0, Fmem );
   2166   Iaux = 1;
   2167   for ( i=0; i< 4; i++ )
   2168   {
   2169     Iaux = Iaux && (Faux1.e[i]==Fmem[i]);
   2170   }
   2171   if (Iaux!=1) err++;
   2172 
   2173   if (err)
   2174     printf("Function vec_ldl [type float]             ===> Error\n");
   2175   else
   2176     printf("Function vec_ldl [type float]             ===> OK\n");
   2177 #endif
   2178 #endif  // #if 0
   2179 
   2180   /* Free dynamic vector variables */
   2181   free_vec( UCmem );
   2182   free_vec( Cmem );
   2183   free_vec( USmem );
   2184   free_vec( Smem );
   2185   free_vec( UImem );
   2186   free_vec( Imem );
   2187 #if defined TEST_FLOATS
   2188   free_vec( Fmem );
   2189 #endif
   2190 
   2191 #if defined TEST_FLOATS
   2192 /*    Function vec_loge    */
   2193   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2194   err = 0;
   2195   Faux1.v = vec_loge( Fcons3 );
   2196   Faux2.v = Fcons3;
   2197   for( i=0; i< 4; i++ )
   2198   {
   2199     Faux = log2(Faux2.e[i]);
   2200     if (Faux!=0.0)
   2201       Faux = (Faux - Faux1.e[i])/Faux;
   2202     else
   2203       Faux = Faux - Faux1.e[i];
   2204     if (Faux>0.1)
   2205       err++;
   2206   }
   2207   if (err)
   2208     printf("Function vec_loge [type float]            ===> Error\n");
   2209   else
   2210     printf("Function vec_loge [type float]            ===> OK\n");
   2211 #endif
   2212 
   2213   return 0;
   2214 }
   2215 
   2216 
   2217 
   2218 
   2219 int part2()
   2220 {
   2221   TvecChar      Caux1,  Caux2,  Caux3;//,  Caux4;
   2222   TvecUChar     UCaux1, UCaux2, UCaux3;//, UCaux4;
   2223   TvecShort     Saux1,  Saux2,  Saux3,  Saux4;
   2224   TvecUShort    USaux1, USaux2, USaux3, USaux4;
   2225   TvecInt       Iaux1,  Iaux2,  Iaux3;//,  Iaux4;
   2226   TvecUInt      UIaux1, UIaux2, UIaux3;//, UIaux4;
   2227 #if defined TEST_FLOATS
   2228   TvecFloat     Faux1,  Faux2,  Faux3,  Faux4;
   2229 #endif
   2230 
   2231   int                  i, err, j, b, bAux;
   2232 #if defined TEST_FLOATS
   2233   signed   int         Ivec1, Ivec2, Ivec3;
   2234 #endif
   2235 //  signed   short       *Svec1;
   2236 //  unsigned int         *UIvec1;
   2237 //  unsigned short       *USvec1;
   2238 //  unsigned char        *UCvec1;
   2239 #if defined TEST_FLOATS
   2240 //  float                *Fvec1;
   2241 #endif
   2242 
   2243   /* For saturated rutines */
   2244 //  long long int         LLaux;
   2245 
   2246 #if defined TEST_FLOATS
   2247   float                 Faux;
   2248 #endif
   2249   signed   int          Iaux, I1, I2;
   2250   unsigned int          UIaux, UI1, UI2;
   2251   signed   short        Saux;
   2252   unsigned short        USaux;
   2253   signed   char         Caux;
   2254   unsigned char         UCaux;
   2255 
   2256   union
   2257   {
   2258     float          f;
   2259     signed   int   si;
   2260     unsigned int   ui;
   2261     signed   short ss[2];
   2262     unsigned short us[2];
   2263     signed   char  sc[4];
   2264     unsigned char  uc[4];
   2265   } INTunion1;//, INTunion2;
   2266 
   2267 /*
   2268   union
   2269   {
   2270     signed   short  ss;
   2271     unsigned short  us;
   2272     signed   char   sc[2];
   2273     unsigned char   uc[2];
   2274   } SHOunion1, SHOunion2;
   2275 */
   2276 
   2277 #if defined (GCC_COMPILER)
   2278   vector signed char    Ccons1   = (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   2279   vector signed char    Ccons2   = (vector signed char){1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
   2280 //  vector signed char    Ccons3   = (vector signed char){-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127};
   2281   vector unsigned char  UCcons1  = (vector unsigned char){248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7};
   2282   vector unsigned char  UCcons2  = (vector unsigned char){2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
   2283 //  vector unsigned char  UCcons3  = (vector unsigned char){1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8};
   2284   vector signed short   Scons1   = (vector signed short){256, 320, 340, -1, 0, 1, 2, 3};
   2285   vector signed short   Scons2   = (vector signed short){256, 320, 340, 1, 1, 1, -10000, -10000};
   2286   vector signed short   Scons3   = (vector signed short){256, 320, 340, 32767, -32768, 32767, -32768, 32767};
   2287   vector unsigned short UScons1  = (vector unsigned short){65532, 65533, 65534, 65535, 0, 1, 2, 3};
   2288   vector unsigned short UScons2  = (vector unsigned short){1, 1, 1, 1, 1, 1, 1, 1};
   2289   vector unsigned short UScons3  = (vector unsigned short){1, 2, 3, 4, 1, 2, 3, 4};
   2290   vector signed int     Icons1   = (vector signed int){-4, -1, 1, 4};
   2291   vector signed int     Icons2   = (vector signed int){1, 1, 1, 1};
   2292   vector signed int     Icons3   = (vector signed int){0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF};
   2293   vector unsigned int   UIcons1  = (vector unsigned int){0xFFFFFFFE, 0xFFFFFFFF, 0, 1};
   2294   vector unsigned int   UIcons2  = (vector unsigned int){1, 1, 1, 1};
   2295   vector unsigned int   UIcons3  = (vector unsigned int){1, 2, 1, 2};
   2296 
   2297 #if defined TEST_FLOATS
   2298   vector float          Fcons1   = (vector float){-1.5, 1.0, 0.5, -3.999};
   2299   vector float          Fcons2   = (vector float){1.0, 1.0, 1.0, 1.0};
   2300   vector float          Fcons3   = (vector float){100000000000.0, 1.0, -1.0, -1234567890.0};
   2301 #endif
   2302 
   2303 #elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   2304   vector signed char    Ccons1   = (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   2305   vector signed char    Ccons2   = (vector signed char)(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
   2306   vector signed char    Ccons3   = (vector signed char)(-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127);
   2307   vector unsigned char  UCcons1  = (vector unsigned char)(248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7);
   2308   vector unsigned char  UCcons2  = (vector unsigned char)(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
   2309 //  vector unsigned char  UCcons3  = (vector unsigned char)(1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8);
   2310   vector signed short   Scons1   = (vector signed short)(-4, -3, -2, -1, 0, 1, 2, 3);
   2311   vector signed short   Scons2   = (vector signed short)(-32768, 10000, 1, 1, 1, 1, -10000, -10000);
   2312   vector signed short   Scons3   = (vector signed short)(-32768, 32767, -32768, 32767, -32768, 32767, -32768, 32767);
   2313   vector unsigned short UScons1  = (vector unsigned short)(65532, 65533, 65534, 65535, 0, 1, 2, 3);
   2314   vector unsigned short UScons2  = (vector unsigned short)(1, 1, 1, 1, 1, 1, 1, 1);
   2315   vector unsigned short UScons3  = (vector unsigned short)(1, 2, 3, 4, 1, 2, 3, 4);
   2316   vector signed int     Icons1   = (vector signed int)(-4, -1, 1, 4);
   2317   vector signed int     Icons2   = (vector signed int)(1, 1, 1, 1);
   2318   vector signed int     Icons3   = (vector signed int)(0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF);
   2319   vector unsigned int   UIcons1  = (vector unsigned int)(0xFFFFFFFE, 0xFFFFFFFF, 0, 1);
   2320   vector unsigned int   UIcons2  = (vector unsigned int)(1, 1, 1, 1);
   2321   vector unsigned int   UIcons3  = (vector unsigned int)(1, 2, 1, 2);
   2322 
   2323 #if defined TEST_FLOATS
   2324   vector float          Fcons1   = (vector float)(-1.5, 1.0, 0.5, -3.999);
   2325   vector float          Fcons2   = (vector float)(1.0, 1.0, 1.0, 1.0);
   2326   vector float          Fcons3   = (vector float)(100000000000.0, 1.0, -1.0, -1234567890.0);
   2327 #endif
   2328 
   2329 #endif
   2330 
   2331 
   2332 /*    Function vec_lvsl    */
   2333   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2334   err = 0;
   2335   b = 3;
   2336   UCaux1.v = vec_lvsl( b, &b);
   2337   bAux = b + (size_t)(&b);
   2338   b = bAux & 0xF;
   2339 # if defined(GCC_COMPILER)
   2340    UCaux2.v =(vector unsigned char){0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF};
   2341 # elif defined(MAC_COMPILER) || defined (XLC_COMPILER)
   2342    UCaux2.v =(vector unsigned char)(0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF);
   2343 # endif
   2344   for( i=0; i< 16; i++ )
   2345   {
   2346     UCaux = UCaux2.e[i]+b;
   2347     if (UCaux1.e[i] != UCaux)
   2348       err++;
   2349   }
   2350   if (err)
   2351     printf("Function vec_lvsl [type unsigned char]    ===> Error\n");
   2352   else
   2353     printf("Function vec_lvsl [type unsigned char]    ===> OK\n");
   2354 
   2355 /*    Function vec_lvsr    */
   2356   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2357   err = 0;
   2358   b = 3;
   2359   UCaux1.v = vec_lvsr( b, &b);
   2360   bAux = b + (size_t)(&b);
   2361   b = bAux & 0xF;
   2362 # if defined (GCC_COMPILER)
   2363    UCaux2.v =(vector unsigned char){0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F};
   2364 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   2365    UCaux2.v =(vector unsigned char)(0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F);
   2366 # endif
   2367   for( i=0; i< 16; i++ )
   2368   {
   2369     UCaux = UCaux2.e[i]-b;
   2370     if (UCaux1.e[i] != UCaux)
   2371       err++;
   2372   }
   2373   if (err)
   2374     printf("Function vec_lvsr [type unsigned char]    ===> Error\n");
   2375   else
   2376     printf("Function vec_lvsr [type unsigned char]    ===> OK\n");
   2377 
   2378 #if defined TEST_FLOATS
   2379 /*    Function vec_madd    */
   2380   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2381   err = 0;
   2382   Faux1.v = vec_madd( Fcons1, Fcons2, Fcons3 );
   2383   Faux2.v = Fcons1;
   2384   Faux3.v = Fcons2;
   2385   Faux4.v = Fcons3;
   2386   for( i=0; i< 4; i++ )
   2387     if (Faux1.e[i] != (Faux2.e[i]*Faux3.e[i]+Faux4.e[i]))
   2388       err++;
   2389   if (err)
   2390     printf("Function vec_madd [type float]            ===> Error\n");
   2391   else
   2392     printf("Function vec_madd [type float]            ===> OK\n");
   2393 #endif
   2394 
   2395 /*    Function vec_madds    */
   2396   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2397   err = 0;
   2398   Saux1.v = vec_madds( Scons1, Scons3, Scons2 );
   2399   Saux2.v = Scons1;
   2400   Saux3.v = Scons3;
   2401   Saux4.v = Scons2;
   2402   for( i=0; i< 8; i++ )
   2403   {
   2404     INTunion1.si = Saux2.e[i]*Saux3.e[i];
   2405     INTunion1.si = INTunion1.si >> 15;
   2406     INTunion1.si = INTunion1.si + Saux4.e[i];
   2407     if (INTunion1.si>32767)
   2408       Saux=0x7FFF;
   2409     else if (INTunion1.si<(-32768))
   2410       Saux=0x8000;
   2411     else
   2412       Saux= INTunion1.ss[1];
   2413     if (Saux1.e[i] != Saux)
   2414       err++;
   2415   }
   2416   if (err)
   2417     printf("Function vec_madds [type short]           ===> Error\n");
   2418   else
   2419     printf("Function vec_madds [type short]           ===> OK\n");
   2420 
   2421 /*    Function vec_max    */
   2422   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2423   err = 0;
   2424   Caux1.v = vec_max( Ccons1, Ccons2 );
   2425   Caux2.v = Ccons1;
   2426   Caux3.v = Ccons2;
   2427   for( i=0; i< 16; i++ )
   2428   {
   2429     if (Caux2.e[i]>Caux3.e[i])
   2430       Caux = Caux2.e[i];
   2431     else
   2432       Caux = Caux3.e[i];
   2433     if (Caux1.e[i] != Caux)
   2434       err++;
   2435   }
   2436   if (err)
   2437     printf("Function vec_max [type char]              ===> Error\n");
   2438   else
   2439     printf("Function vec_max [type char]              ===> OK\n");
   2440 
   2441   err = 0;
   2442   UCaux1.v = vec_max( UCcons1, UCcons2 );
   2443   UCaux2.v = UCcons1;
   2444   UCaux3.v = UCcons2;
   2445   for( i=0; i< 16; i++ )
   2446   {
   2447     if (UCaux2.e[i]>UCaux3.e[i])
   2448       UCaux = UCaux2.e[i];
   2449     else
   2450       UCaux = UCaux3.e[i];
   2451     if (UCaux1.e[i] != UCaux)
   2452       err++;
   2453   }
   2454   if (err)
   2455     printf("Function vec_max [type unsigned char]     ===> Error\n");
   2456   else
   2457     printf("Function vec_max [type unsigned char]     ===> OK\n");
   2458 
   2459   err = 0;
   2460   Saux1.v = vec_max( Scons1, Scons3 );
   2461   Saux2.v = Scons1;
   2462   Saux3.v = Scons3;
   2463   for( i=0; i< 8; i++ )
   2464   {
   2465     if (Saux2.e[i]>Saux3.e[i])
   2466       Saux = Saux2.e[i];
   2467     else
   2468       Saux = Saux3.e[i];
   2469     if (Saux1.e[i] != Saux)
   2470       err++;
   2471   }
   2472   if (err)
   2473     printf("Function vec_max [type short]             ===> Error\n");
   2474   else
   2475     printf("Function vec_max [type short]             ===> OK\n");
   2476 
   2477   err = 0;
   2478   USaux1.v = vec_max( UScons1, UScons2 );
   2479   USaux2.v = UScons1;
   2480   USaux3.v = UScons2;
   2481   for( i=0; i< 8; i++ )
   2482   {
   2483     if (USaux2.e[i]>USaux3.e[i])
   2484       USaux = USaux2.e[i];
   2485     else
   2486       USaux = USaux3.e[i];
   2487     if (USaux1.e[i] != USaux)
   2488       err++;
   2489   }
   2490   if (err)
   2491     printf("Function vec_max [type unsigned short]    ===> Error\n");
   2492   else
   2493     printf("Function vec_max [type unsigned short]    ===> OK\n");
   2494 
   2495   err = 0;
   2496   Iaux1.v = vec_max( Icons1, Icons2 );
   2497   Iaux2.v = Icons1;
   2498   Iaux3.v = Icons2;
   2499   for( i=0; i< 4; i++ )
   2500   {
   2501     if (Iaux2.e[i]>Iaux3.e[i])
   2502       Iaux = Iaux2.e[i];
   2503     else
   2504       Iaux = Iaux3.e[i];
   2505     if (Iaux1.e[i] != Iaux)
   2506       err++;
   2507   }
   2508   if (err)
   2509     printf("Function vec_max [type integer]           ===> Error\n");
   2510   else
   2511     printf("Function vec_max [type integer]           ===> OK\n");
   2512 
   2513   err = 0;
   2514   UIaux1.v = vec_max( UIcons1, UIcons2 );
   2515   UIaux2.v = UIcons1;
   2516   UIaux3.v = UIcons2;
   2517   for( i=0; i< 4; i++ )
   2518   {
   2519     if (UIaux2.e[i]>UIaux3.e[i])
   2520       UIaux = UIaux2.e[i];
   2521     else
   2522       UIaux = UIaux3.e[i];
   2523     if (UIaux1.e[i] != UIaux)
   2524       err++;
   2525   }
   2526   if (err)
   2527     printf("Function vec_max [type unsigned int]      ===> Error\n");
   2528   else
   2529     printf("Function vec_max [type unsigned int]      ===> OK\n");
   2530 
   2531 #if defined TEST_FLOATS
   2532   err = 0;
   2533   Faux1.v = vec_max( Fcons1, Fcons2 );
   2534   Faux2.v = Fcons1;
   2535   Faux3.v = Fcons2;
   2536   for( i=0; i< 4; i++ )
   2537   {
   2538     if (Faux2.e[i]>Faux3.e[i])
   2539       Faux = Faux2.e[i];
   2540     else
   2541       Faux = Faux3.e[i];
   2542     if (Faux1.e[i] != Faux)
   2543       err++;
   2544   }
   2545   if (err)
   2546     printf("Function vec_max [type float]             ===> Error\n");
   2547   else
   2548     printf("Function vec_max [type float]             ===> OK\n");
   2549 #endif
   2550 
   2551 /*    Function vec_mergeh    */
   2552   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2553   err = 0;
   2554   Caux1.v = vec_mergeh( Ccons1, Ccons2 );
   2555   Caux2.v = Ccons1;
   2556   Caux3.v = Ccons2;
   2557   for( i=0; i< 8; i++ )
   2558     if ((Caux1.e[2*i] != Caux2.e[i])||(Caux1.e[2*i+1]!=Caux3.e[i]))
   2559       err++;
   2560   if (err)
   2561     printf("Function vec_mergeh [type char]           ===> Error\n");
   2562   else
   2563     printf("Function vec_mergeh [type char]           ===> OK\n");
   2564 
   2565   err = 0;
   2566   UCaux1.v = vec_mergeh( UCcons1, UCcons2 );
   2567   UCaux2.v = UCcons1;
   2568   UCaux3.v = UCcons2;
   2569   for( i=0; i< 8; i++ )
   2570     if ((UCaux1.e[2*i] != UCaux2.e[i])||(UCaux1.e[2*i+1]!=UCaux3.e[i]))
   2571       err++;
   2572   if (err)
   2573     printf("Function vec_mergeh [type unsigned char]  ===> Error\n");
   2574   else
   2575     printf("Function vec_mergeh [type unsigned char]  ===> OK\n");
   2576 
   2577   err = 0;
   2578   Saux1.v = vec_mergeh( Scons1, Scons2 );
   2579   Saux2.v = Scons1;
   2580   Saux3.v = Scons2;
   2581   for( i=0; i< 4; i++ )
   2582     if ((Saux1.e[2*i] != Saux2.e[i])||(Saux1.e[2*i+1]!=Saux3.e[i]))
   2583       err++;
   2584   if (err)
   2585     printf("Function vec_mergeh [type short]          ===> Error\n");
   2586   else
   2587     printf("Function vec_mergeh [type short]          ===> OK\n");
   2588 
   2589   err = 0;
   2590   USaux1.v = vec_mergeh( UScons1, UScons2 );
   2591   USaux2.v = UScons1;
   2592   USaux3.v = UScons2;
   2593   for( i=0; i< 4; i++ )
   2594     if ((USaux1.e[2*i] != USaux2.e[i])||(USaux1.e[2*i+1]!=USaux3.e[i]))
   2595       err++;
   2596   if (err)
   2597     printf("Function vec_mergeh [type unsigned short] ===> Error\n");
   2598   else
   2599     printf("Function vec_mergeh [type unsigned short] ===> OK\n");
   2600 
   2601   err = 0;
   2602   Iaux1.v = vec_mergeh( Icons1, Icons2 );
   2603   Iaux2.v = Icons1;
   2604   Iaux3.v = Icons2;
   2605   for( i=0; i< 2; i++ )
   2606     if ((Iaux1.e[2*i] != Iaux2.e[i])||(Iaux1.e[2*i+1]!=Iaux3.e[i]))
   2607       err++;
   2608   if (err)
   2609     printf("Function vec_mergeh [type integer]        ===> Error\n");
   2610   else
   2611     printf("Function vec_mergeh [type integer]        ===> OK\n");
   2612 
   2613   err = 0;
   2614   UIaux1.v = vec_mergeh( UIcons1, UIcons2 );
   2615   UIaux2.v = UIcons1;
   2616   UIaux3.v = UIcons2;
   2617   for( i=0; i< 2; i++ )
   2618     if ((UIaux1.e[2*i] != UIaux2.e[i])||(UIaux1.e[2*i+1]!=UIaux3.e[i]))
   2619       err++;
   2620   if (err)
   2621     printf("Function vec_mergeh [type unsigned int]   ===> Error\n");
   2622   else
   2623     printf("Function vec_mergeh [type unsigned int]   ===> OK\n");
   2624 
   2625 #if defined TEST_FLOATS
   2626   err = 0;
   2627   Faux1.v = vec_mergeh( Fcons1, Fcons2 );
   2628   Faux2.v = Fcons1;
   2629   Faux3.v = Fcons2;
   2630   for( i=0; i< 2; i++ )
   2631     if ((Faux1.e[2*i] != Faux2.e[i])||(Faux1.e[2*i+1]!=Faux3.e[i]))
   2632       err++;
   2633   if (err)
   2634     printf("Function vec_mergeh [type float]          ===> Error\n");
   2635   else
   2636     printf("Function vec_mergeh [type float]          ===> OK\n");
   2637 #endif
   2638 
   2639 /*    Function vec_mergel    */
   2640   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2641   err = 0;
   2642   Caux1.v = vec_mergel( Ccons1, Ccons2 );
   2643   Caux2.v = Ccons1;
   2644   Caux3.v = Ccons2;
   2645   for( i=0; i< 8; i++ )
   2646     if ((Caux1.e[2*i] != Caux2.e[i+8])||(Caux1.e[2*i+1]!=Caux3.e[i+8]))
   2647       err++;
   2648   if (err)
   2649     printf("Function vec_mergel [type char]           ===> Error\n");
   2650   else
   2651     printf("Function vec_mergel [type char]           ===> OK\n");
   2652 
   2653   err = 0;
   2654   UCaux1.v = vec_mergel( UCcons1, UCcons2 );
   2655   UCaux2.v = UCcons1;
   2656   UCaux3.v = UCcons2;
   2657   for( i=0; i< 8; i++ )
   2658     if ((UCaux1.e[2*i] != UCaux2.e[i+8])||(UCaux1.e[2*i+1]!=UCaux3.e[i+8]))
   2659       err++;
   2660   if (err)
   2661     printf("Function vec_mergel [type unsigned char]  ===> Error\n");
   2662   else
   2663     printf("Function vec_mergel [type unsigned char]  ===> OK\n");
   2664 
   2665   err = 0;
   2666   Saux1.v = vec_mergel( Scons1, Scons2 );
   2667   Saux2.v = Scons1;
   2668   Saux3.v = Scons2;
   2669   for( i=0; i< 4; i++ )
   2670     if ((Saux1.e[2*i] != Saux2.e[i+4])||(Saux1.e[2*i+1]!=Saux3.e[i+4]))
   2671       err++;
   2672   if (err)
   2673     printf("Function vec_mergel [type short]          ===> Error\n");
   2674   else
   2675     printf("Function vec_mergel [type short]          ===> OK\n");
   2676 
   2677   err = 0;
   2678   USaux1.v = vec_mergel( UScons1, UScons2 );
   2679   USaux2.v = UScons1;
   2680   USaux3.v = UScons2;
   2681   for( i=0; i< 4; i++ )
   2682     if ((USaux1.e[2*i] != USaux2.e[i+4])||(USaux1.e[2*i+1]!=USaux3.e[i+4]))
   2683       err++;
   2684   if (err)
   2685     printf("Function vec_mergel [type unsigned short] ===> Error\n");
   2686   else
   2687     printf("Function vec_mergel [type unsigned short] ===> OK\n");
   2688 
   2689   err = 0;
   2690   Iaux1.v = vec_mergel( Icons1, Icons2 );
   2691   Iaux2.v = Icons1;
   2692   Iaux3.v = Icons2;
   2693   for( i=0; i< 2; i++ )
   2694     if ((Iaux1.e[2*i] != Iaux2.e[i+2])||(Iaux1.e[2*i+1]!=Iaux3.e[i+2]))
   2695       err++;
   2696   if (err)
   2697     printf("Function vec_mergel [type integer]        ===> Error\n");
   2698   else
   2699     printf("Function vec_mergel [type integer]        ===> OK\n");
   2700 
   2701   err = 0;
   2702   UIaux1.v = vec_mergel( UIcons1, UIcons2 );
   2703   UIaux2.v = UIcons1;
   2704   UIaux3.v = UIcons2;
   2705   for( i=0; i< 2; i++ )
   2706     if ((UIaux1.e[2*i] != UIaux2.e[i+2])||(UIaux1.e[2*i+1]!=UIaux3.e[i+2]))
   2707       err++;
   2708   if (err)
   2709     printf("Function vec_mergel [type unsigned int]   ===> Error\n");
   2710   else
   2711     printf("Function vec_mergel [type unsigned int]   ===> OK\n");
   2712 
   2713 #if defined TEST_FLOATS
   2714   err = 0;
   2715   Faux1.v = vec_mergel( Fcons1, Fcons2 );
   2716   Faux2.v = Fcons1;
   2717   Faux3.v = Fcons2;
   2718   for( i=0; i< 2; i++ )
   2719     if ((Faux1.e[2*i] != Faux2.e[i+2])||(Faux1.e[2*i+1]!=Faux3.e[i+2]))
   2720       err++;
   2721   if (err)
   2722     printf("Function vec_mergel [type float]          ===> Error\n");
   2723   else
   2724     printf("Function vec_mergel [type float]          ===> OK\n");
   2725 #endif
   2726 
   2727 /*    Function vec_mfvscr    */
   2728   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2729   printf("Function vec_mfvscr [Vector Move from Vector Status and Control Register] not checked\n");
   2730 
   2731 /*    Function vec_min    */
   2732   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2733 #ifndef XLC_COMPILER
   2734   err = 0;
   2735   Caux1.v = vec_min( Ccons1, Ccons2 );
   2736   Caux2.v = Ccons1;
   2737   Caux3.v = Ccons2;
   2738   for( i=0; i< 8; i++ )
   2739   {
   2740     if (Caux2.e[i]<Caux3.e[i])
   2741       Caux = Caux2.e[i];
   2742     else
   2743       Caux = Caux3.e[i];
   2744     if (Caux1.e[i] != Caux)
   2745       err++;
   2746   }
   2747   if (err)
   2748     printf("Function vec_min [type char]              ===> Error\n");
   2749   else
   2750     printf("Function vec_min [type char]              ===> OK\n");
   2751 #endif
   2752 
   2753   err = 0;
   2754   UCaux1.v = vec_min( UCcons1, UCcons2 );
   2755   UCaux2.v = UCcons1;
   2756   UCaux3.v = UCcons2;
   2757   for( i=0; i< 8; i++ )
   2758   {
   2759     if (UCaux2.e[i]<UCaux3.e[i])
   2760       UCaux = UCaux2.e[i];
   2761     else
   2762       UCaux = UCaux3.e[i];
   2763     if (UCaux1.e[i] != UCaux)
   2764       err++;
   2765   }
   2766   if (err)
   2767     printf("Function vec_min [type unsigned char]     ===> Error\n");
   2768   else
   2769     printf("Function vec_min [type unsigned char]     ===> OK\n");
   2770 
   2771 #ifndef XLC_COMPILER
   2772   err = 0;
   2773   Saux1.v = vec_min( Scons1, Scons2 );
   2774   Saux2.v = Scons1;
   2775   Saux3.v = Scons2;
   2776   for( i=0; i< 8; i++ )
   2777   {
   2778     if (Saux2.e[i]<Saux3.e[i])
   2779       Saux = Saux2.e[i];
   2780     else
   2781       Saux = Saux3.e[i];
   2782     if (Saux1.e[i] != Saux)
   2783       err++;
   2784   }
   2785   if (err)
   2786     printf("Function vec_min [type short]             ===> Error\n");
   2787   else
   2788     printf("Function vec_min [type short]             ===> OK\n");
   2789 
   2790   err = 0;
   2791   USaux1.v = vec_min( UScons1, UScons2 );
   2792   USaux2.v = UScons1;
   2793   USaux3.v = UScons2;
   2794   for( i=0; i< 8; i++ )
   2795   {
   2796     if (USaux2.e[i]<USaux3.e[i])
   2797       USaux = USaux2.e[i];
   2798     else
   2799       USaux = USaux3.e[i];
   2800     if (USaux1.e[i] != USaux)
   2801       err++;
   2802   }
   2803   if (err)
   2804     printf("Function vec_min [type unsigned short]    ===> Error\n");
   2805   else
   2806     printf("Function vec_min [type unsigned short]    ===> OK\n");
   2807 
   2808   err = 0;
   2809   Iaux1.v = vec_min( Icons1, Icons2 );
   2810   Iaux2.v = Icons1;
   2811   Iaux3.v = Icons2;
   2812   for( i=0; i< 4; i++ )
   2813   {
   2814     if (Iaux2.e[i]<Iaux3.e[i])
   2815       Iaux = Iaux2.e[i];
   2816     else
   2817       Iaux = Iaux3.e[i];
   2818     if (Iaux1.e[i] != Iaux)
   2819       err++;
   2820   }
   2821   if (err)
   2822     printf("Function vec_min [type integer]           ===> Error\n");
   2823   else
   2824     printf("Function vec_min [type integer]           ===> OK\n");
   2825 
   2826   err = 0;
   2827   UIaux1.v = vec_min( UIcons1, UIcons2 );
   2828   UIaux2.v = UIcons1;
   2829   UIaux3.v = UIcons2;
   2830   for( i=0; i< 4; i++ )
   2831   {
   2832     if (UIaux2.e[i]<UIaux3.e[i])
   2833       UIaux = UIaux2.e[i];
   2834     else
   2835       UIaux = UIaux3.e[i];
   2836     if (UIaux1.e[i] != UIaux)
   2837       err++;
   2838   }
   2839   if (err)
   2840     printf("Function vec_min [type unsigned int]      ===> Error\n");
   2841   else
   2842     printf("Function vec_min [type unsigned int]      ===> OK\n");
   2843 
   2844 #if defined TEST_FLOATS
   2845   err = 0;
   2846   Faux1.v = vec_min( Fcons1, Fcons2 );
   2847   Faux2.v = Fcons1;
   2848   Faux3.v = Fcons2;
   2849   for( i=0; i< 4; i++ )
   2850   {
   2851     if (Faux2.e[i]<Faux3.e[i])
   2852       Faux = Faux2.e[i];
   2853     else
   2854       Faux = Faux3.e[i];
   2855     if (Faux1.e[i] != Faux)
   2856       err++;
   2857   }
   2858   if (err)
   2859     printf("Function vec_min [type float]             ===> Error\n");
   2860   else
   2861     printf("Function vec_min [type float]             ===> OK\n");
   2862 #endif
   2863 
   2864 #endif
   2865 
   2866 /*    Function vec_mladd    */
   2867   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2868 #ifndef XLC_COMPILER
   2869   err = 0;
   2870   Saux1.v = vec_mladd( Scons1, Scons2, Scons3 );
   2871   Saux2.v = Scons1;
   2872   Saux3.v = Scons2;
   2873   Saux4.v = Scons3;
   2874   for( i=0; i< 8; i++ )
   2875   {
   2876     INTunion1.si = Saux2.e[i]*Saux3.e[i];
   2877     INTunion1.si = INTunion1.si + Saux4.e[i];
   2878     if (Saux1.e[i] != INTunion1.ss[1])
   2879       err++;
   2880   }
   2881   if (err)
   2882     printf("Function vec_mladd [type short]           ===> Error\n");
   2883   else
   2884     printf("Function vec_mladd [type short]           ===> OK\n");
   2885 #endif
   2886 
   2887   err = 0;
   2888   USaux1.v = vec_mladd( UScons1, UScons2, UScons3 );
   2889   USaux2.v = UScons1;
   2890   USaux3.v = UScons2;
   2891   USaux4.v = UScons3;
   2892   for( i=0; i< 8; i++ )
   2893   {
   2894     INTunion1.ui = USaux2.e[i]*USaux3.e[i];
   2895     INTunion1.ui = INTunion1.ui + USaux4.e[i];
   2896     if (USaux1.e[i] != INTunion1.us[1])
   2897       err++;
   2898   }
   2899   if (err)
   2900     printf("Function vec_mladd [type unsigned short]  ===> Error\n");
   2901   else
   2902     printf("Function vec_mladd [type unsigned short]  ===> OK\n");
   2903 
   2904 /*    Function vec_mradds    */
   2905   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2906   err = 0;
   2907   Saux1.v = vec_mradds( Scons1, Scons2, Scons3 );
   2908   Saux2.v = Scons1;
   2909   Saux3.v = Scons2;
   2910   Saux4.v = Scons3;
   2911   for( i=0; i< 8; i++ )
   2912   {
   2913     INTunion1.si = Saux2.e[i]*Saux3.e[i]+0x4000;
   2914     INTunion1.si = INTunion1.si >> 15;
   2915     INTunion1.si = INTunion1.si + Saux4.e[i];
   2916     if (INTunion1.si>32767)
   2917       Saux = 0x7FFF;
   2918     else if (INTunion1.si<(-32768))
   2919       Saux = 0x8000;
   2920     else
   2921       Saux = INTunion1.ss[1];
   2922     if (Saux1.e[i] != Saux)
   2923       err++;
   2924 
   2925 printf("vector: %d \n", Saux1.e[i]);
   2926 printf("scalar: %d \n", Saux);
   2927   }
   2928 
   2929   if (err)
   2930     printf("Function vec_mradds [type short]          ===> Error\n");
   2931   else
   2932     printf("Function vec_mradds [type short]          ===> OK\n");
   2933 
   2934 /*    Function vec_msum    */
   2935   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   2936 #ifndef XLC_COMPILER
   2937   err = 0;
   2938   Iaux1.v = vec_msum( Ccons1, UCcons2, Icons1 );
   2939   Caux1.v = Ccons1;
   2940   UCaux1.v = UCcons2;
   2941   Iaux2.v = Icons1;
   2942   for( i=0; i< 4; i++ )
   2943   {
   2944     Iaux = Iaux2.e[i];
   2945     for (j=0; j< 4; j++)
   2946       Iaux = Iaux + Caux1.e[4*i+j]*UCaux1.e[4*i+j];
   2947     if (Iaux1.e[i] != Iaux)
   2948       err++;
   2949   }
   2950   if (err)
   2951     printf("Function vec_msum [type char]             ===> Error\n");
   2952   else
   2953     printf("Function vec_msum [type char]             ===> OK\n");
   2954 #endif
   2955 
   2956   err = 0;
   2957   UIaux1.v = vec_msum( UCcons1, UCcons2, UIcons1 );
   2958   UCaux1.v = UCcons1;
   2959   UCaux2.v = UCcons2;
   2960   UIaux2.v = UIcons1;
   2961   for( i=0; i< 4; i++ )
   2962   {
   2963     UIaux = UIaux2.e[i];
   2964     for (j=0; j< 4; j++)
   2965       UIaux = UIaux + UCaux1.e[4*i+j]*UCaux2.e[4*i+j];
   2966     if (UIaux1.e[i] != UIaux)
   2967       err++;
   2968   }
   2969   if (err)
   2970     printf("Function vec_msum [type unsigned char]    ===> Error\n");
   2971   else
   2972     printf("Function vec_msum [type unsigned char]    ===> OK\n");
   2973 
   2974 #ifndef XLC_COMPILER
   2975   err = 0;
   2976   Iaux1.v = vec_msum( Scons1, Scons2, Icons1 );
   2977   Saux1.v = Scons1;
   2978   Saux2.v = Scons2;
   2979   Iaux2.v = Icons1;
   2980   for( i=0; i< 4; i++ )
   2981   {
   2982     Iaux = Iaux2.e[i];
   2983     for (j=0; j< 2; j++)
   2984       Iaux = Iaux + Saux1.e[2*i+j]*Saux2.e[2*i+j];
   2985     if (Iaux1.e[i] != Iaux)
   2986       err++;
   2987   }
   2988   if (err)
   2989     printf("Function vec_msum [type short]            ===> Error\n");
   2990   else
   2991     printf("Function vec_msum [type short]            ===> OK\n");
   2992 
   2993   err = 0;
   2994   UIaux1.v = vec_msum( UScons1, UScons2, UIcons1 );
   2995   USaux1.v = UScons1;
   2996   USaux2.v = UScons2;
   2997   UIaux2.v = UIcons1;
   2998   for( i=0; i< 4; i++ )
   2999   {
   3000     UIaux = UIaux2.e[i];
   3001     for (j=0; j< 2; j++)
   3002       UIaux = UIaux + USaux1.e[2*i+j]*USaux2.e[2*i+j];
   3003     if (UIaux1.e[i] != UIaux)
   3004       err++;
   3005   }
   3006   if (err)
   3007     printf("Function vec_msum [type unsigned short]   ===> Error\n");
   3008   else
   3009     printf("Function vec_msum [type unsigned short]   ===> OK\n");
   3010 #endif
   3011 
   3012 /*    Function vec_msums    */
   3013   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3014   err = 0;
   3015   Iaux1.v = vec_msums( Scons2, Scons3, Icons3 );
   3016   Saux1.v = Scons2;
   3017   Saux2.v = Scons3;
   3018   Iaux2.v = Icons3;
   3019   for( i=0; i< 4; i++ )
   3020   {
   3021     I1 = Saux1.e[2*i]*Saux2.e[2*i];
   3022     I2 = Saux1.e[2*i+1]*Saux2.e[2*i+1];
   3023     Iaux = I1 + I2;
   3024     if ((I1>0)&&(I2>0)&&(Iaux<0))
   3025       Iaux=0x7FFFFFFF;
   3026     else if ((I1<0)&&(I2<0)&&(Iaux>0))
   3027       Iaux=0x80000000;
   3028     I1 = Iaux2.e[i];
   3029     I2 = Iaux;
   3030     Iaux = I1 + I2;
   3031     if ((I1>0)&&(I2>0)&&(Iaux<0))
   3032       Iaux=0x7FFFFFFF;
   3033     else if ((I1<0)&&(I2<0)&&(Iaux>0))
   3034       Iaux=0x80000000;
   3035     if (Iaux1.e[i] != Iaux)
   3036       err++;
   3037   }
   3038   if (err)
   3039     printf("Function vec_msums [type short]           ===> Error\n");
   3040   else
   3041     printf("Function vec_msums [type short]           ===> OK\n");
   3042 
   3043   err = 0;
   3044   UIaux1.v = vec_msums( UScons2, UScons3, UIcons3 );
   3045   USaux1.v = UScons2;
   3046   USaux2.v = UScons3;
   3047   UIaux2.v = UIcons3;
   3048   for( i=0; i< 4; i++ )
   3049   {
   3050     UI1 = USaux1.e[2*i]*USaux2.e[2*i];
   3051     UI2 = USaux1.e[2*i+1]*USaux2.e[2*i+1];
   3052     UIaux = UI1 + UI2;
   3053     if ((UIaux<UI1)||(UIaux<UI2))
   3054       UIaux=0xFFFFFFFF;
   3055     UI1 = UIaux2.e[i];
   3056     UI2 = UIaux;
   3057     UIaux = UI1 + UI2;
   3058     if ((UIaux<UI1)||(UIaux<UI2))
   3059       UIaux=0xFFFFFFFF;
   3060     if (UIaux1.e[i] != UIaux)
   3061       err++;
   3062   }
   3063   if (err)
   3064     printf("Function vec_msums [type unsigned short]  ===> Error\n");
   3065   else
   3066     printf("Function vec_msums [type unsigned short]  ===> OK\n");
   3067 
   3068 /*    Function vec_mtvscr    */
   3069   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3070   printf("Function vec_mtvscr [Vector Move to Vector Status and Control Register] not checked\n");
   3071 
   3072 /*    Function vec_mule    */
   3073   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3074   err = 0;
   3075   Saux1.v = vec_mule( Ccons1, Ccons2 );
   3076   Caux1.v = Ccons1;
   3077   Caux2.v = Ccons2;
   3078   for( i=0; i< 4; i++ )
   3079     if (Saux1.e[i] != (Caux1.e[2*i]*Caux2.e[2*i]))
   3080       err++;
   3081   if (err)
   3082     printf("Function vec_mule [type char]             ===> Error\n");
   3083   else
   3084     printf("Function vec_mule [type char]             ===> OK\n");
   3085 
   3086   err = 0;
   3087   USaux1.v = vec_mule( UCcons1, UCcons2 );
   3088   UCaux1.v = UCcons1;
   3089   UCaux2.v = UCcons2;
   3090   for( i=0; i< 4; i++ )
   3091     if (USaux1.e[i] != (UCaux1.e[2*i]*UCaux2.e[2*i]))
   3092       err++;
   3093   if (err)
   3094     printf("Function vec_mule [type unsigned char]    ===> Error\n");
   3095   else
   3096     printf("Function vec_mule [type unsigned char]    ===> OK\n");
   3097 
   3098   err = 0;
   3099   Iaux1.v = vec_mule( Scons1, Scons2 );
   3100   Saux1.v = Scons1;
   3101   Saux2.v = Scons2;
   3102   for( i=0; i< 4; i++ )
   3103     if (Iaux1.e[i] != (Saux1.e[2*i]*Saux2.e[2*i]))
   3104       err++;
   3105   if (err)
   3106     printf("Function vec_mule [type short]            ===> Error\n");
   3107   else
   3108     printf("Function vec_mule [type short]            ===> OK\n");
   3109 
   3110   err = 0;
   3111   UIaux1.v = vec_mule( UScons1, UScons2 );
   3112   USaux1.v = UScons1;
   3113   USaux2.v = UScons2;
   3114   for( i=0; i< 4; i++ )
   3115     if (UIaux1.e[i] != (USaux1.e[2*i] * USaux2.e[2*i]))
   3116       err++;
   3117   if (err)
   3118     printf("Function vec_mule [type unsigned short]   ===> Error\n");
   3119   else
   3120     printf("Function vec_mule [type unsigned short]   ===> OK\n");
   3121 
   3122 /*    Function vec_mulo    */
   3123   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3124   err = 0;
   3125   Saux1.v = vec_mulo( Ccons1, Ccons2 );
   3126   Caux1.v = Ccons1;
   3127   Caux2.v = Ccons2;
   3128   for( i=0; i< 4; i++ )
   3129     if (Saux1.e[i] != (Caux1.e[2*i+1]*Caux2.e[2*i+1]))
   3130       err++;
   3131   if (err)
   3132     printf("Function vec_mulo [type char]             ===> Error\n");
   3133   else
   3134     printf("Function vec_mulo [type char]             ===> OK\n");
   3135 
   3136   err = 0;
   3137   USaux1.v = vec_mulo( UCcons1, UCcons2 );
   3138   UCaux1.v = UCcons1;
   3139   UCaux2.v = UCcons2;
   3140   for( i=0; i< 4; i++ )
   3141     if (USaux1.e[i] != (UCaux1.e[2*i+1]*UCaux2.e[2*i+1]))
   3142       err++;
   3143   if (err)
   3144     printf("Function vec_mulo [type unsigned char]    ===> Error\n");
   3145   else
   3146     printf("Function vec_mulo [type unsigned char]    ===> OK\n");
   3147 
   3148   err = 0;
   3149   Iaux1.v = vec_mulo( Scons1, Scons2 );
   3150   Saux1.v = Scons1;
   3151   Saux2.v = Scons2;
   3152   for( i=0; i< 4; i++ )
   3153     if (Iaux1.e[i] != (Saux1.e[2*i+1]*Saux2.e[2*i+1]))
   3154       err++;
   3155   if (err)
   3156     printf("Function vec_mulo [type short]            ===> Error\n");
   3157   else
   3158     printf("Function vec_mulo [type short]            ===> OK\n");
   3159 
   3160   err = 0;
   3161   UIaux1.v = vec_mulo( UScons1, UScons2 );
   3162   USaux1.v = UScons1;
   3163   USaux2.v = UScons2;
   3164   for( i=0; i< 4; i++ )
   3165     if (UIaux1.e[i] != (USaux1.e[2*i+1]*USaux2.e[2*i+1]))
   3166       err++;
   3167   if (err)
   3168     printf("Function vec_mulo [type unsigned short]   ===> Error\n");
   3169   else
   3170     printf("Function vec_mulo [type unsigned short]   ===> OK\n");
   3171 
   3172 #if defined TEST_FLOATS
   3173 /*    Function vec_nmsub    */
   3174   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3175   err = 0;
   3176   Faux1.v = vec_nmsub( Fcons1, Fcons2, Fcons3 );
   3177   Faux2.v = Fcons1;
   3178   Faux3.v = Fcons2;
   3179   Faux4.v = Fcons3;
   3180   for( i=0; i< 4; i++ )
   3181   {
   3182     if (Faux1.e[i] != (-Faux2.e[i]*Faux3.e[i]+Faux4.e[i]))
   3183       err++;
   3184   }
   3185   if (err)
   3186     printf("Function vec_nmsub [type float]           ===> Error\n");
   3187   else
   3188     printf("Function vec_nmsub [type float]           ===> OK\n");
   3189 #endif
   3190 
   3191 /*    Function vec_nor    */
   3192   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3193   err = 0;
   3194   Caux1.v = vec_nor( Ccons1, Ccons2 );
   3195   Caux2.v = Ccons1;
   3196   Caux3.v = Ccons2;
   3197   for( i=0; i< 16; i++ )
   3198     if (Caux1.e[i] != ~(Caux2.e[i] | Caux3.e[i]))
   3199       err++;
   3200   if (err)
   3201     printf("Function vec_nor [type char]              ===> Error\n");
   3202   else
   3203     printf("Function vec_nor [type char]              ===> OK\n");
   3204 
   3205   err = 0;
   3206   UCaux1.v = vec_nor( UCcons1, UCcons2 );
   3207   UCaux2.v = UCcons1;
   3208   UCaux3.v = UCcons2;
   3209   for( i=0; i< 16; i++ )
   3210   {
   3211     UCaux = UCaux2.e[i] | UCaux3.e[i];
   3212     UCaux = ~UCaux;
   3213     if (UCaux1.e[i] != UCaux )
   3214       err++;
   3215   }
   3216   if (err)
   3217     printf("Function vec_nor [type unsigened char]    ===> Error\n");
   3218   else
   3219     printf("Function vec_nor [type unsigened char]    ===> OK\n");
   3220 
   3221   err = 0;
   3222   Saux1.v = vec_nor( Scons1, Scons2 );
   3223   Saux2.v = Scons1;
   3224   Saux3.v = Scons2;
   3225   for( i=0; i< 8; i++ )
   3226     if (Saux1.e[i] != ~(Saux2.e[i] | Saux3.e[i]))
   3227       err++;
   3228   if (err)
   3229     printf("Function vec_nor [type short]             ===> Error\n");
   3230   else
   3231     printf("Function vec_nor [type short]             ===> OK\n");
   3232 
   3233   err = 0;
   3234   USaux1.v = vec_nor( UScons1, UScons2 );
   3235   USaux2.v = UScons1;
   3236   USaux3.v = UScons2;
   3237   for( i=0; i< 8; i++ )
   3238   {
   3239     USaux = USaux2.e[i] | USaux3.e[i];
   3240     USaux = ~USaux;
   3241     if (USaux1.e[i] != USaux )
   3242       err++;
   3243   }
   3244   if (err)
   3245     printf("Function vec_nor [type unsigned short]    ===> Error\n");
   3246   else
   3247     printf("Function vec_nor [type unsigned short]    ===> OK\n");
   3248 
   3249   err = 0;
   3250   Iaux1.v = vec_nor( Icons1, Icons2 );
   3251   Iaux2.v = Icons1;
   3252   Iaux3.v = Icons2;
   3253   for( i=0; i< 4; i++ )
   3254     if (Iaux1.e[i] != ~(Iaux2.e[i] | Iaux3.e[i]))
   3255       err++;
   3256   if (err)
   3257     printf("Function vec_nor [type integer]           ===> Error\n");
   3258   else
   3259     printf("Function vec_nor [type integer]           ===> OK\n");
   3260 
   3261   err = 0;
   3262   UIaux1.v = vec_nor( UIcons1, UIcons2 );
   3263   UIaux2.v = UIcons1;
   3264   UIaux3.v = UIcons2;
   3265   for( i=0; i< 4; i++ )
   3266     if (UIaux1.e[i] != ~(UIaux2.e[i] | UIaux3.e[i]))
   3267       err++;
   3268   if (err)
   3269     printf("Function vec_nor [type unsigened int]     ===> Error\n");
   3270   else
   3271     printf("Function vec_nor [type unsigened int]     ===> OK\n");
   3272 
   3273 #if defined TEST_FLOATS
   3274   err = 0;
   3275   Faux1.v = vec_nor( Fcons1, Fcons2 );
   3276   Faux2.v = Fcons1;
   3277   Faux3.v = Fcons2;
   3278   for( i=0; i< 4; i++ )
   3279   {
   3280     Ivec1 = Faux1.i[i];
   3281     Ivec2 = Faux2.i[i];
   3282     Ivec3 = Faux3.i[i];
   3283     if ((Ivec1) != ~((Ivec2) | (Ivec3)))
   3284       err++;
   3285   }
   3286   if (err)
   3287     printf("Function vec_nor [type float]             ===> Error\n");
   3288   else
   3289     printf("Function vec_nor [type float]             ===> OK\n");
   3290 #endif
   3291 
   3292 /*    Function vec_or    */
   3293   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3294   err = 0;
   3295   Caux1.v = vec_or( Ccons1, Ccons2 );
   3296   Caux2.v = Ccons1;
   3297   Caux3.v = Ccons2;
   3298   for( i=0; i< 16; i++ )
   3299     if (Caux1.e[i] != (Caux2.e[i] | Caux3.e[i]))
   3300       err++;
   3301   if (err)
   3302     printf("Function vec_or [type char]               ===> Error\n");
   3303   else
   3304     printf("Function vec_or [type char]               ===> OK\n");
   3305 
   3306   err = 0;
   3307   UCaux1.v = vec_or( UCcons1, UCcons2 );
   3308   UCaux2.v = UCcons1;
   3309   UCaux3.v = UCcons2;
   3310   for( i=0; i< 16; i++ )
   3311   {
   3312     UCaux = UCaux2.e[i] | UCaux3.e[i];
   3313     if (UCaux1.e[i] != UCaux )
   3314       err++;
   3315   }
   3316   if (err)
   3317     printf("Function vec_or [type unsigened char]     ===> Error\n");
   3318   else
   3319     printf("Function vec_or [type unsigened char]     ===> OK\n");
   3320 
   3321   err = 0;
   3322   Saux1.v = vec_or( Scons1, Scons2 );
   3323   Saux2.v = Scons1;
   3324   Saux3.v = Scons2;
   3325   for( i=0; i< 8; i++ )
   3326     if (Saux1.e[i] != (Saux2.e[i] | Saux3.e[i]))
   3327       err++;
   3328   if (err)
   3329     printf("Function vec_or [type short]              ===> Error\n");
   3330   else
   3331     printf("Function vec_or [type short]              ===> OK\n");
   3332 
   3333   err = 0;
   3334   USaux1.v = vec_or( UScons1, UScons2 );
   3335   USaux2.v = UScons1;
   3336   USaux3.v = UScons2;
   3337   for( i=0; i< 8; i++ )
   3338   {
   3339     USaux = USaux2.e[i] | USaux3.e[i];
   3340     if (USaux1.e[i] != USaux )
   3341       err++;
   3342   }
   3343   if (err)
   3344     printf("Function vec_or [type unsigned short]     ===> Error\n");
   3345   else
   3346     printf("Function vec_or [type unsigned short]     ===> OK\n");
   3347 
   3348   err = 0;
   3349   Iaux1.v = vec_or( Icons1, Icons2 );
   3350   Iaux2.v = Icons1;
   3351   Iaux3.v = Icons2;
   3352   for( i=0; i< 4; i++ )
   3353     if (Iaux1.e[i] != (Iaux2.e[i] | Iaux3.e[i]))
   3354       err++;
   3355   if (err)
   3356     printf("Function vec_or [type integer]            ===> Error\n");
   3357   else
   3358     printf("Function vec_or [type integer]            ===> OK\n");
   3359 
   3360   err = 0;
   3361   UIaux1.v = vec_or( UIcons1, UIcons2 );
   3362   UIaux2.v = UIcons1;
   3363   UIaux3.v = UIcons2;
   3364   for( i=0; i< 4; i++ )
   3365     if (UIaux1.e[i] != (UIaux2.e[i] | UIaux3.e[i]))
   3366       err++;
   3367   if (err)
   3368     printf("Function vec_or [type unsigened int]      ===> Error\n");
   3369   else
   3370     printf("Function vec_or [type unsigened int]      ===> OK\n");
   3371 
   3372 #if defined TEST_FLOATS
   3373   err = 0;
   3374   Faux1.v = vec_or( Fcons1, Fcons2 );
   3375   Faux2.v = Fcons1;
   3376   Faux3.v = Fcons2;
   3377   for( i=0; i< 4; i++ )
   3378   {
   3379     Ivec1 = Faux1.i[i];
   3380     Ivec2 = Faux2.i[i];
   3381     Ivec3 = Faux3.i[i];
   3382     if ((Ivec1) != ((Ivec2) | (Ivec3)))
   3383       err++;
   3384   }
   3385   if (err)
   3386     printf("Function vec_or [type float]              ===> Error\n");
   3387   else
   3388     printf("Function vec_or [type float]              ===> OK\n");
   3389 #endif
   3390 
   3391   return 0;
   3392 }
   3393 
   3394 
   3395 
   3396 
   3397 int part3( )
   3398 {
   3399   TvecChar      Caux1,  Caux2,  Caux3;//,  Caux4;
   3400   TvecUChar     UCaux1, UCaux2, UCaux3, UCaux4;
   3401   TvecShort     Saux1,  Saux2,  Saux3;//,  Saux4;
   3402   TvecUShort    USaux1, USaux2, USaux3, USaux4;
   3403   TvecInt       Iaux1,  Iaux2,  Iaux3;//,  Iaux4;
   3404   TvecUInt      UIaux1, UIaux2, UIaux3, UIaux4;
   3405 #if defined TEST_FLOATS
   3406   TvecFloat     Faux1,  Faux2,  Faux3;//,  Faux4;
   3407 #endif
   3408 
   3409   int                  i, err, /*j,*/ b;//, bAux;
   3410 #if defined TEST_FLOATS
   3411   signed   int         Ivec1, Ivec2;//, Ivec3;
   3412 #endif
   3413 //  signed   short       *Svec1;
   3414   unsigned int         *UIvec1;
   3415   unsigned short       *USvec1;
   3416   unsigned char        *UCvec1;
   3417 #if defined TEST_FLOATS
   3418   //  float                *Fvec1;
   3419 #endif
   3420 
   3421   /* For saturated rutines */
   3422 //  long long int         LLaux;
   3423 
   3424 #if defined TEST_FLOATS
   3425   float                 Faux;
   3426 #endif
   3427   signed   int          Iaux;//, I1, I2;
   3428   unsigned int          UIaux;//, UI1, UI2;
   3429   signed   short        Saux;
   3430   unsigned short        USaux;
   3431   signed   char         Caux;
   3432   unsigned char         UCaux;
   3433 
   3434   union
   3435   {
   3436     float          f;
   3437     signed   int   si;
   3438     unsigned int   ui;
   3439     signed   short ss[2];
   3440     unsigned short us[2];
   3441     signed   char  sc[4];
   3442     unsigned char  uc[4];
   3443   } INTunion1, INTunion2;
   3444 
   3445   union
   3446   {
   3447     signed   short  ss;
   3448     unsigned short  us;
   3449     signed   char   sc[2];
   3450     unsigned char   uc[2];
   3451   } SHOunion1, SHOunion2;
   3452 
   3453 
   3454 #if defined (GCC_COMPILER)
   3455   vector signed char    Ccons1   = (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   3456   vector signed char    Ccons2   = (vector signed char){1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
   3457   vector signed char    Ccons3   = (vector signed char){-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127};
   3458   vector unsigned char  UCcons1  = (vector unsigned char){248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7};
   3459   vector unsigned char  UCcons2  = (vector unsigned char){2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
   3460   vector unsigned char  UCcons3  = (vector unsigned char){1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8};
   3461   vector signed short   Scons1   = (vector signed short){-4, -3, -2, -1, 0, 1, 2, 3};
   3462   vector signed short   Scons2   = (vector signed short){-32768, 10000, 1, 1, 1, 1, -10000, -10000};
   3463   vector signed short   Scons3   = (vector signed short){-32768, 32767, -32768, 32767, -32768, 32767, -32768, 32767};
   3464   vector unsigned short UScons1  = (vector unsigned short){65532, 65533, 65534, 65535, 0, 1, 2, 3};
   3465   vector unsigned short UScons2  = (vector unsigned short){1, 1, 1, 1, 1, 1, 1, 1};
   3466   vector unsigned short UScons3  = (vector unsigned short){1, 2, 3, 4, 1, 2, 3, 4};
   3467   vector signed int     Icons1   = (vector signed int){-4, -1, 1, 4};
   3468   vector signed int     Icons2   = (vector signed int){1, 1, 1, 1};
   3469   vector signed int     Icons3   = (vector signed int){0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF};
   3470   vector unsigned int   UIcons1  = (vector unsigned int){0xFFFFFFFE, 0xFFFFFFFF, 0, 1};
   3471   vector unsigned int   UIcons2  = (vector unsigned int){1, 1, 1, 1};
   3472   vector unsigned int   UIcons3  = (vector unsigned int){1, 2, 1, 2};
   3473 
   3474 #if defined TEST_FLOATS
   3475   vector float          Fcons1   = (vector float){-1.5, 1.0, 0.5, -3.999};
   3476   vector float          Fcons2   = (vector float){1.0, 1.0, 1.0, 1.0};
   3477   vector float          Fcons3   = (vector float){100000000000.0, 1.0, -1.0, -1234567890.0};
   3478 #endif
   3479 
   3480 #elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   3481   vector signed char    Ccons1   = (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   3482   vector signed char    Ccons2   = (vector signed char)(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
   3483   vector signed char    Ccons3   = (vector signed char)(-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127);
   3484   vector unsigned char  UCcons1  = (vector unsigned char)(248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7);
   3485   vector unsigned char  UCcons2  = (vector unsigned char)(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
   3486   vector unsigned char  UCcons3  = (vector unsigned char)(1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8);
   3487   vector signed short   Scons1   = (vector signed short)(-4, -3, -2, -1, 0, 1, 2, 3);
   3488   vector signed short   Scons2   = (vector signed short)(-32768, 10000, 1, 1, 1, 1, -10000, -10000);
   3489   vector signed short   Scons3   = (vector signed short)(-32768, 32767, -32768, 32767, -32768, 32767, -32768, 32767);
   3490   vector unsigned short UScons1  = (vector unsigned short)(65532, 65533, 65534, 65535, 0, 1, 2, 3);
   3491   vector unsigned short UScons2  = (vector unsigned short)(1, 1, 1, 1, 1, 1, 1, 1);
   3492   vector unsigned short UScons3  = (vector unsigned short)(1, 2, 3, 4, 1, 2, 3, 4);
   3493   vector signed int     Icons1   = (vector signed int)(-4, -1, 1, 4);
   3494   vector signed int     Icons2   = (vector signed int)(1, 1, 1, 1);
   3495   vector signed int     Icons3   = (vector signed int)(0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF);
   3496   vector unsigned int   UIcons1  = (vector unsigned int)(0xFFFFFFFE, 0xFFFFFFFF, 0, 1);
   3497   vector unsigned int   UIcons2  = (vector unsigned int)(1, 1, 1, 1);
   3498   vector unsigned int   UIcons3  = (vector unsigned int)(1, 2, 1, 2);
   3499 
   3500 #if defined TEST_FLOATS
   3501   vector float          Fcons1   = (vector float)(-1.5, 1.0, 0.5, -3.999);
   3502   vector float          Fcons2   = (vector float)(1.0, 1.0, 1.0, 1.0);
   3503   vector float          Fcons3   = (vector float)(100000000000.0, 1.0, -1.0, -1234567890.0);
   3504 #endif
   3505 
   3506 #endif
   3507 
   3508 
   3509 /* Variables to be allocated with calloc_vec (16 bytes aligned) */
   3510   unsigned char   *UCmem = (unsigned char*)calloc_vec( 1, sizeof(vector unsigned char) );
   3511   signed char     *Cmem  = (signed char*)calloc_vec( 1, sizeof(vector signed char) );
   3512   unsigned short  *USmem = (unsigned short*)calloc_vec( 1, sizeof(vector unsigned short) );
   3513   signed short    *Smem  = (signed short*)calloc_vec( 1, sizeof(vector signed short) );
   3514   unsigned int    *UImem = (unsigned int*)calloc_vec( 1, sizeof(vector unsigned int) );
   3515   signed int      *Imem  = (signed int*)calloc_vec( 1, sizeof(vector signed int) );
   3516 #if defined TEST_FLOATS
   3517   float           *Fmem  = (float*)calloc_vec( 1, sizeof(vector float) );
   3518 #endif
   3519 
   3520 /*    Function vec_pack    */
   3521   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3522   err = 0;
   3523   Caux1.v = vec_pack( Scons1, Scons2 );
   3524   Saux1.v = Scons1;
   3525   Saux2.v = Scons2;
   3526   for( i=0; i< 8; i++ )
   3527   {
   3528     SHOunion1.ss = Saux1.e[i];
   3529     if (Caux1.e[i] != SHOunion1.sc[1])
   3530       err++;
   3531     SHOunion1.ss = Saux2.e[i];
   3532     if (Caux1.e[i+8] != SHOunion1.sc[1])
   3533       err++;
   3534   }
   3535   if (err)
   3536     printf("Function vec_pack [type char]             ===> Error\n");
   3537   else
   3538     printf("Function vec_pack [type char]             ===> OK\n");
   3539 
   3540   err = 0;
   3541   UCaux1.v = vec_pack( UScons1, UScons2 );
   3542   USaux1.v = UScons1;
   3543   USaux2.v = UScons2;
   3544   for( i=0; i< 8; i++ )
   3545   {
   3546     SHOunion1.ss = USaux1.e[i];
   3547     if (UCaux1.e[i] != SHOunion1.uc[1])
   3548       err++;
   3549     SHOunion1.ss = USaux2.e[i];
   3550     if (UCaux1.e[i+8] != SHOunion1.uc[1])
   3551       err++;
   3552   }
   3553   if (err)
   3554     printf("Function vec_pack [type unsigned char]    ===> Error\n");
   3555   else
   3556     printf("Function vec_pack [type unsigned char]    ===> OK\n");
   3557 
   3558   err = 0;
   3559   Saux1.v = vec_pack( Icons1, Icons2 );
   3560   Iaux1.v = Icons1;
   3561   Iaux2.v = Icons2;
   3562   for( i=0; i< 4; i++ )
   3563   {
   3564     INTunion1.si = Iaux1.e[i];
   3565     if (Saux1.e[i] != INTunion1.ss[1])
   3566       err++;
   3567     INTunion1.si = Iaux2.e[i];
   3568     if (Saux1.e[i+4] != INTunion1.ss[1])
   3569       err++;
   3570   }
   3571   if (err)
   3572     printf("Function vec_pack [type short]            ===> Error\n");
   3573   else
   3574     printf("Function vec_pack [type short]            ===> OK\n");
   3575 
   3576   err = 0;
   3577   USaux1.v = vec_pack( UIcons1, UIcons2 );
   3578   UIaux1.v = UIcons1;
   3579   UIaux2.v = UIcons2;
   3580   for( i=0; i< 4; i++ )
   3581   {
   3582     INTunion1.ui = UIaux1.e[i];
   3583     if (USaux1.e[i] != INTunion1.us[1])
   3584       err++;
   3585     INTunion1.ui = UIaux2.e[i];
   3586     if (USaux1.e[i+4] != INTunion1.us[1])
   3587       err++;
   3588   }
   3589   if (err)
   3590     printf("Function vec_pack [type unsigned short]   ===> Error\n");
   3591   else
   3592     printf("Function vec_pack [type unsigned short]   ===> OK\n");
   3593 
   3594 /*    Function vec_packpx    */
   3595   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3596   printf("Function vec_packpx [Vector Pack Pixel] not checked\n");
   3597 
   3598 /*    Function vec_packs    */
   3599   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3600   err = 0;
   3601   Caux1.v = vec_packs( Scons1, Scons2 );
   3602   Saux1.v = Scons1;
   3603   Saux2.v = Scons2;
   3604   for( i=0; i< 8; i++ )
   3605   {
   3606     if (Saux1.e[i]>127)
   3607       Caux = 127;
   3608     else if (Saux1.e[i]<(-128))
   3609       Caux = -128;
   3610     else
   3611       Caux = (signed char)Saux1.e[i];
   3612     if (Caux1.e[i] != Caux)
   3613       err++;
   3614     if (Saux2.e[i]>127)
   3615       Caux = 127;
   3616     else if (Saux2.e[i]<(-128))
   3617       Caux = -128;
   3618     else
   3619       Caux = (signed char)Saux2.e[i];
   3620     if (Caux1.e[i+8] != Caux)
   3621       err++;
   3622   }
   3623   if (err)
   3624     printf("Function vec_packs [type char]            ===> Error\n");
   3625   else
   3626     printf("Function vec_packs [type char]            ===> OK\n");
   3627 
   3628   err = 0;
   3629   UCaux1.v = vec_packs( UScons1, UScons2 );
   3630   USaux1.v = UScons1;
   3631   USaux2.v = UScons2;
   3632   for( i=0; i< 8; i++ )
   3633   {
   3634     if (USaux1.e[i]>255)
   3635       UCaux = 255;
   3636     else
   3637       UCaux = (unsigned char)USaux1.e[i];
   3638     if (UCaux1.e[i] != UCaux)
   3639       err++;
   3640     if (USaux2.e[i]>255)
   3641       UCaux = 255;
   3642     else
   3643       UCaux = (unsigned char)USaux2.e[i];
   3644     if (UCaux1.e[i+8] != UCaux)
   3645       err++;
   3646   }
   3647   if (err)
   3648     printf("Function vec_packs [type unsigned char]   ===> Error\n");
   3649   else
   3650     printf("Function vec_packs [type unsigned char]   ===> OK\n");
   3651 
   3652   err = 0;
   3653   Saux1.v = vec_packs( Icons1, Icons2 );
   3654   Iaux1.v = Icons1;
   3655   Iaux2.v = Icons2;
   3656   for( i=0; i< 4; i++ )
   3657   {
   3658     if (Iaux1.e[i]>32767)
   3659       Saux = 32767;
   3660     else if (Iaux1.e[i]<(-32768))
   3661       Saux = -32768;
   3662     else
   3663       Saux = (signed char)Iaux1.e[i];
   3664     if (Saux1.e[i] != Saux)
   3665       err++;
   3666     if (Iaux2.e[i]>32767)
   3667       Saux = 32767;
   3668     else if (Iaux2.e[i]<(-32768))
   3669       Saux = -32768;
   3670     else
   3671       Saux = (signed char)Iaux2.e[i];
   3672     if (Saux1.e[i+4] != Saux)
   3673       err++;
   3674   }
   3675   if (err)
   3676     printf("Function vec_packs [type short]           ===> Error\n");
   3677   else
   3678     printf("Function vec_packs [type short]           ===> OK\n");
   3679 
   3680   err = 0;
   3681   USaux1.v = vec_packs( UIcons1, UIcons2 );
   3682   UIaux1.v = UIcons1;
   3683   UIaux2.v = UIcons2;
   3684   for( i=0; i< 4; i++ )
   3685   {
   3686     if (UIaux1.e[i]>65535)
   3687       USaux = 65535;
   3688     else
   3689       USaux = (unsigned char)UIaux1.e[i];
   3690     if (USaux1.e[i] != USaux)
   3691       err++;
   3692     if (UIaux2.e[i]>65535)
   3693       USaux = 65535;
   3694     else
   3695       USaux = (unsigned char)UIaux2.e[i];
   3696     if (USaux1.e[i+4] != USaux)
   3697       err++;
   3698   }
   3699   if (err)
   3700     printf("Function vec_packs [type unsigned short]  ===> Error\n");
   3701   else
   3702     printf("Function vec_packs [type unsigned short]  ===> OK\n");
   3703 
   3704 /*    Function vec_packsu    */
   3705   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3706   err = 0;
   3707   UCaux1.v = vec_packsu( Scons1, Scons2 );
   3708   Saux1.v = Scons1;
   3709   Saux2.v = Scons2;
   3710   for( i=0; i< 8; i++ )
   3711   {
   3712     if (Saux1.e[i]>255)
   3713       UCaux = 255;
   3714     else if  (Saux1.e[i]<0)
   3715       UCaux = 0;
   3716     else
   3717       UCaux = (unsigned char)Saux1.e[i];
   3718     if (UCaux1.e[i] != UCaux)
   3719       err++;
   3720     if (Saux2.e[i]>255)
   3721       UCaux = 255;
   3722     else if  (Saux2.e[i]<0)
   3723       UCaux = 0;
   3724     else
   3725       UCaux = (unsigned char)Saux2.e[i];
   3726     if (UCaux1.e[i+8] != UCaux)
   3727       err++;
   3728   }
   3729   if (err)
   3730     printf("Function vec_packsu [type char]           ===> Error\n");
   3731   else
   3732     printf("Function vec_packsu [type char]           ===> OK\n");
   3733 
   3734   err = 0;
   3735   UCaux1.v = vec_packsu( UScons1, UScons2 );
   3736   USaux1.v = UScons1;
   3737   USaux2.v = UScons2;
   3738   for( i=0; i< 8; i++ )
   3739   {
   3740     if (USaux1.e[i]>255)
   3741       UCaux = 255;
   3742     else
   3743       UCaux = (unsigned char)USaux1.e[i];
   3744     if (UCaux1.e[i] != UCaux)
   3745       err++;
   3746     if (USaux2.e[i]>255)
   3747       UCaux = 255;
   3748     else
   3749       UCaux = (unsigned char)USaux2.e[i];
   3750     if (UCaux1.e[i+8] != UCaux)
   3751       err++;
   3752   }
   3753   if (err)
   3754     printf("Function vec_packsu [type unsigned char]  ===> Error\n");
   3755   else
   3756     printf("Function vec_packsu [type unsigned char]  ===> OK\n");
   3757 
   3758   err = 0;
   3759   USaux1.v = vec_packsu( Icons1, Icons2 );
   3760   Iaux1.v = Icons1;
   3761   Iaux2.v = Icons2;
   3762   for( i=0; i< 4; i++ )
   3763   {
   3764     if (Iaux1.e[i]>65535)
   3765       USaux = 65535;
   3766     else if  (Iaux1.e[i]<0)
   3767       USaux = 0;
   3768     else
   3769       USaux = (unsigned short)Iaux1.e[i];
   3770     if (USaux1.e[i] != USaux)
   3771       err++;
   3772     if (Iaux2.e[i]>65535)
   3773       USaux = 65535;
   3774     else if  (Iaux2.e[i]<0)
   3775       USaux = 0;
   3776     else
   3777       USaux = (unsigned short)Iaux2.e[i];
   3778     if (USaux1.e[i+4] != USaux)
   3779       err++;
   3780   }
   3781   if (err)
   3782     printf("Function vec_packsu [type short]          ===> Error\n");
   3783   else
   3784     printf("Function vec_packsu [type short]          ===> OK\n");
   3785 
   3786   err = 0;
   3787   USaux1.v = vec_packsu( UIcons1, UIcons2 );
   3788   UIaux1.v = UIcons1;
   3789   UIaux2.v = UIcons2;
   3790   for( i=0; i< 4; i++ )
   3791   {
   3792     if (UIaux1.e[i]>65535)
   3793       USaux = 65535;
   3794     else
   3795       USaux = (unsigned char)UIaux1.e[i];
   3796     if (USaux1.e[i] != USaux)
   3797       err++;
   3798     if (UIaux2.e[i]>65535)
   3799       USaux = 65535;
   3800     else
   3801       USaux = (unsigned char)UIaux2.e[i];
   3802     if (USaux1.e[i+4] != USaux)
   3803       err++;
   3804   }
   3805   if (err)
   3806     printf("Function vec_packsu [type unsigned short] ===> Error\n");
   3807   else
   3808     printf("Function vec_packsu [type unsigned short] ===> OK\n");
   3809 
   3810 /*    Function vec_perm    */
   3811   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3812   printf("Function vec_perm [Vector Permute] not checked\n");
   3813 
   3814 #if defined TEST_FLOATS
   3815 /*    Function vec_re    */
   3816   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3817   err = 0;
   3818   Faux1.v = vec_re( Fcons1 );
   3819   Faux2.v = Fcons1;
   3820   for( i=0; i< 4; i++ )
   3821   {
   3822     Faux = 1/Faux2.e[i];
   3823     if (Faux!=0.0)
   3824       Faux = (Faux - Faux1.e[i])/Faux;
   3825     else
   3826       Faux = Faux - Faux1.e[i];
   3827     if (Faux>(1.0/4096.0))
   3828       err++;
   3829   }
   3830   if (err)
   3831     printf("Function vec_re [type float]              ===> Error\n");
   3832   else
   3833     printf("Function vec_re [type float]              ===> OK\n");
   3834 #endif
   3835 
   3836 /*    Function vec_rl    */
   3837   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3838   err = 0;
   3839   Caux1.v = vec_rl( Ccons1, UCcons3 );
   3840   Caux2.v = Ccons1;
   3841   UCaux1.v = UCcons3;
   3842   for( i=0; i< 16; i++ )
   3843   {
   3844     b = UCaux1.e[i];
   3845     UCvec1 = (unsigned char *)(&Caux2.e[i]);
   3846     Caux = ((*UCvec1)>>(8-b)) | ((*UCvec1)<<b);
   3847     if (Caux1.e[i] != Caux)
   3848       err++;
   3849   }
   3850   if (err)
   3851     printf("Function vec_rl [type char]               ===> Error\n");
   3852   else
   3853     printf("Function vec_rl [type char]               ===> OK\n");
   3854 
   3855   err = 0;
   3856   UCaux1.v = vec_rl( UCcons1, UCcons3 );
   3857   UCaux2.v = UCcons1;
   3858   UCaux3.v = UCcons3;
   3859   for( i=0; i< 16; i++ )
   3860   {
   3861     b = UCaux3.e[i];
   3862     UCaux = (UCaux2.e[i]>>(8-b)) | (UCaux2.e[i]<<b);
   3863     if (UCaux1.e[i] != UCaux)
   3864       err++;
   3865   }
   3866   if (err)
   3867     printf("Function vec_rl [type unsigned char]      ===> Error\n");
   3868   else
   3869     printf("Function vec_rl [type unsigned char]      ===> OK\n");
   3870 
   3871   err = 0;
   3872   Saux1.v = vec_rl( Scons1, UScons3 );
   3873   Saux2.v = Scons1;
   3874   USaux1.v = UScons3;
   3875   for( i=0; i< 8; i++ )
   3876   {
   3877     b = USaux1.e[i];
   3878     USvec1 = (unsigned short *)(&Saux2.e[i]);
   3879     Saux = ((*USvec1)>>(16-b)) | ((*USvec1)<<b);
   3880     if (Saux1.e[i] != Saux)
   3881       err++;
   3882   }
   3883   if (err)
   3884     printf("Function vec_rl [type short]              ===> Error\n");
   3885   else
   3886     printf("Function vec_rl [type short]              ===> OK\n");
   3887 
   3888   err = 0;
   3889   USaux1.v = vec_rl( UScons1, UScons3 );
   3890   USaux2.v = UScons1;
   3891   USaux3.v = UScons3;
   3892   for( i=0; i< 8; i++ )
   3893   {
   3894     b = USaux3.e[i];
   3895     USaux = (USaux2.e[i]>>(16-b)) | (USaux2.e[i]<<b);
   3896     if (USaux1.e[i] != USaux)
   3897       err++;
   3898   }
   3899   if (err)
   3900     printf("Function vec_rl [type unsigned short]     ===> Error\n");
   3901   else
   3902     printf("Function vec_rl [type unsigned short]     ===> OK\n");
   3903 
   3904   err = 0;
   3905   Iaux1.v = vec_rl( Icons1, UIcons3 );
   3906   Iaux2.v = Icons1;
   3907   UIaux1.v = UIcons3;
   3908   for( i=0; i< 4; i++ )
   3909   {
   3910     b = UIaux1.e[i];
   3911     UIvec1 = (unsigned int *)(&Iaux2.e[i]);
   3912     Iaux = ((*UIvec1)>>(32-b)) | ((*UIvec1)<<b);
   3913     if (Iaux1.e[i] != Iaux)
   3914       err++;
   3915   }
   3916   if (err)
   3917     printf("Function vec_rl [type integer]            ===> Error\n");
   3918   else
   3919     printf("Function vec_rl [type integer]            ===> OK\n");
   3920 
   3921   err = 0;
   3922   UIaux1.v = vec_rl( UIcons1, UIcons3 );
   3923   UIaux2.v = UIcons1;
   3924   UIaux3.v = UIcons3;
   3925   for( i=0; i< 4; i++ )
   3926   {
   3927     b = UIaux3.e[i];
   3928     UIaux = (UIaux2.e[i]>>(32-b)) | (UIaux2.e[i]<<b);
   3929     if (UIaux1.e[i] != UIaux)
   3930       err++;
   3931   }
   3932   if (err)
   3933     printf("Function vec_rl [type unsigned int]       ===> Error\n");
   3934   else
   3935     printf("Function vec_rl [type unsigned int]       ===> OK\n");
   3936 
   3937 #if defined TEST_FLOATS
   3938 /*    Function vec_round    */
   3939   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3940   err = 0;
   3941   Faux1.v = vec_round( Fcons1 );
   3942   Faux2.v = Fcons1;
   3943   for( i=0; i< 4; i++ )
   3944   {
   3945     Faux = floor(Faux2.e[i]);
   3946     if ((Faux2.e[i]-Faux)>0.5)
   3947       Faux = Faux + 1.0;
   3948     else if (((Faux2.e[i]-Faux)==0.5)&&(Iaux%2))
   3949       Faux = Faux + 1.0;
   3950     if (Faux1.e[i] != Faux)
   3951       err++;
   3952   }
   3953   if (err)
   3954     printf("Function vec_round [type float]           ===> Error\n");
   3955   else
   3956     printf("Function vec_round [type float]           ===> OK\n");
   3957 #endif
   3958 
   3959 #if defined TEST_FLOATS
   3960 /*    Function vec_rsqrte    */
   3961   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3962   err = 0;
   3963   Faux1.v = vec_rsqrte( Fcons1 );
   3964   Faux2.v = Fcons1;
   3965   for( i=0; i< 4; i++ )
   3966   {
   3967     Faux = sqrtf(Faux2.e[i]);
   3968     if (Faux>0.0)
   3969       Faux = (Faux - Faux1.e[i])/Faux;
   3970     else if (Faux==0.0)
   3971       Faux = Faux - Faux1.e[i];
   3972     if (Faux>(1.0/4096.0))
   3973       err++;
   3974   }
   3975   if (err)
   3976     printf("Function vec_rsqrte [type float]          ===> Error\n");
   3977   else
   3978     printf("Function vec_rsqrte [type float]          ===> OK\n");
   3979 #endif
   3980 
   3981 /*    Function vec_sel    */
   3982   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   3983   err = 0;
   3984   Caux1.v = vec_sel( Ccons1, Ccons2, UCcons1 );
   3985   Caux2.v = Ccons1;
   3986   Caux3.v = Ccons2;
   3987   UCaux1.v = UCcons1;
   3988   for( i=0; i< 16; i++ )
   3989   {
   3990     Caux = (Caux2.e[i] & (~UCaux1.e[i])) | (Caux3.e[i] & UCaux1.e[i]);
   3991     if (Caux1.e[i] != Caux)
   3992       err++;
   3993   }
   3994   if (err)
   3995     printf("Function vec_sel [type char]              ===> Error\n");
   3996   else
   3997     printf("Function vec_sel [type char]              ===> OK\n");
   3998 
   3999   err = 0;
   4000   UCaux1.v = vec_sel( UCcons1, UCcons2, UCcons3 );
   4001   UCaux2.v = UCcons1;
   4002   UCaux3.v = UCcons2;
   4003   UCaux4.v = UCcons3;
   4004   for( i=0; i< 16; i++ )
   4005   {
   4006     UCaux = (UCaux2.e[i] & (~UCaux4.e[i])) | (UCaux3.e[i] & UCaux4.e[i]);
   4007     if (UCaux1.e[i] != UCaux)
   4008       err++;
   4009   }
   4010   if (err)
   4011     printf("Function vec_sel [type unsigned char]     ===> Error\n");
   4012   else
   4013     printf("Function vec_sel [type unsigned char]     ===> OK\n");
   4014 
   4015   err = 0;
   4016   Saux1.v = vec_sel( Scons1, Scons2, UScons1 );
   4017   Saux2.v = Scons1;
   4018   Saux3.v = Scons2;
   4019   USaux1.v = UScons1;
   4020   for( i=0; i< 8; i++ )
   4021   {
   4022     Saux = (Saux2.e[i] & (~USaux1.e[i])) | (Saux3.e[i] & USaux1.e[i]);
   4023     if (Saux1.e[i] != Saux)
   4024       err++;
   4025   }
   4026   if (err)
   4027     printf("Function vec_sel [type short]             ===> Error\n");
   4028   else
   4029     printf("Function vec_sel [type short]             ===> OK\n");
   4030 
   4031   err = 0;
   4032   USaux1.v = vec_sel( UScons1, UScons2, UScons3 );
   4033   USaux2.v = UScons1;
   4034   USaux3.v = UScons2;
   4035   USaux4.v = UScons3;
   4036   for( i=0; i< 8; i++ )
   4037   {
   4038     USaux = (USaux2.e[i] & (~USaux4.e[i])) | (USaux3.e[i] & USaux4.e[i]);
   4039     if (USaux1.e[i] != USaux)
   4040       err++;
   4041   }
   4042   if (err)
   4043     printf("Function vec_sel [type unsigned short]    ===> Error\n");
   4044   else
   4045     printf("Function vec_sel [type unsigned short]    ===> OK\n");
   4046 
   4047   err = 0;
   4048   Iaux1.v = vec_sel( Icons1, Icons2, UIcons1 );
   4049   Iaux2.v = Icons1;
   4050   Iaux3.v = Icons2;
   4051   UIaux1.v = UIcons1;
   4052   for( i=0; i< 4; i++ )
   4053   {
   4054     Iaux = (Iaux2.e[i] & (~UIaux1.e[i])) | (Iaux3.e[i] & UIaux1.e[i]);
   4055     if (Iaux1.e[i] != Iaux)
   4056       err++;
   4057   }
   4058   if (err)
   4059     printf("Function vec_sel [type integer]           ===> Error\n");
   4060   else
   4061     printf("Function vec_sel [type integer]           ===> OK\n");
   4062 
   4063   err = 0;
   4064   UIaux1.v = vec_sel( UIcons1, UIcons2, UIcons3 );
   4065   UIaux2.v = UIcons1;
   4066   UIaux3.v = UIcons2;
   4067   UIaux4.v = UIcons3;
   4068   for( i=0; i< 4; i++ )
   4069   {
   4070     UIaux = (UIaux2.e[i] & (~UIaux4.e[i])) | (UIaux3.e[i] & UIaux4.e[i]);
   4071     if (UIaux1.e[i] != UIaux)
   4072       err++;
   4073   }
   4074   if (err)
   4075     printf("Function vec_sel [type unsigned int]      ===> Error\n");
   4076   else
   4077     printf("Function vec_sel [type unsigned int]      ===> OK\n");
   4078 
   4079 #if defined TEST_FLOATS
   4080   err = 0;
   4081   Faux1.v = vec_sel( Fcons1, Fcons2, UIcons1 );
   4082   Faux2.v = Fcons1;
   4083   Faux3.v = Fcons2;
   4084   UIaux1.v = UIcons1;
   4085   for( i=0; i< 4; i++ )
   4086   {
   4087     Ivec1 = Faux2.i[i];
   4088     Ivec2 = Faux3.i[i];
   4089     Iaux = (Ivec1 & (~UIaux1.e[i])) | (Ivec2 & UIaux1.e[i]);
   4090     Ivec1 = Faux1.i[i];
   4091     if ((Ivec1) != Iaux)
   4092       err++;
   4093   }
   4094   if (err)
   4095     printf("Function vec_sel [type float]             ===> Error\n");
   4096   else
   4097     printf("Function vec_sel [type float]             ===> OK\n");
   4098 #endif
   4099 
   4100 /*    Function vec_sl    */
   4101   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4102   err = 0;
   4103   Caux1.v = vec_sl( Ccons1, UCcons3 );
   4104   Caux2.v = Ccons1;
   4105   UCaux1.v = UCcons3;
   4106   for( i=0; i< 16; i++ )
   4107   {
   4108     b = UCaux1.e[i]%(128/16);
   4109     Caux = Caux2.e[i] << b;
   4110     if (Caux1.e[i] != Caux)
   4111       err++;
   4112   }
   4113   if (err)
   4114     printf("Function vec_sl [type char]               ===> Error\n");
   4115   else
   4116     printf("Function vec_sl [type char]               ===> OK\n");
   4117 
   4118   err = 0;
   4119   UCaux1.v = vec_sl( UCcons1, UCcons3 );
   4120   UCaux2.v = UCcons1;
   4121   UCaux3.v = UCcons3;
   4122   for( i=0; i< 16; i++ )
   4123   {
   4124     b = UCaux3.e[i]%(128/16);
   4125     UCaux = UCaux2.e[i] << b;
   4126     if (UCaux1.e[i] != UCaux)
   4127       err++;
   4128   }
   4129   if (err)
   4130     printf("Function vec_sl [type unsigned char]      ===> Error\n");
   4131   else
   4132     printf("Function vec_sl [type unsigned char]      ===> OK\n");
   4133 
   4134   err = 0;
   4135   Saux1.v = vec_sl( Scons1, UScons3 );
   4136   Saux2.v = Scons1;
   4137   USaux1.v = UScons3;
   4138   for( i=0; i< 8; i++ )
   4139   {
   4140     b = USaux1.e[i]%(128/8);
   4141     Saux = Saux2.e[i] << b;
   4142     if (Saux1.e[i] != Saux)
   4143       err++;
   4144   }
   4145   if (err)
   4146     printf("Function vec_sl [type short]              ===> Error\n");
   4147   else
   4148     printf("Function vec_sl [type short]              ===> OK\n");
   4149 
   4150   err = 0;
   4151   USaux1.v = vec_sl( UScons1, UScons3 );
   4152   USaux2.v = UScons1;
   4153   USaux3.v = UScons3;
   4154   for( i=0; i< 8; i++ )
   4155   {
   4156     b = USaux3.e[i]%(128/8);
   4157     USaux = USaux2.e[i] << b;
   4158     if (USaux1.e[i] != USaux)
   4159       err++;
   4160   }
   4161   if (err)
   4162     printf("Function vec_sl [type unsigned short]     ===> Error\n");
   4163   else
   4164     printf("Function vec_sl [type unsigned short]     ===> OK\n");
   4165 
   4166   err = 0;
   4167   Iaux1.v = vec_sl( Icons1, UIcons3 );
   4168   Iaux2.v = Icons1;
   4169   UIaux1.v = UIcons3;
   4170   for( i=0; i< 4; i++ )
   4171   {
   4172     b = UIaux1.e[i]%(128/4);
   4173     Iaux = Iaux2.e[i] << b;
   4174     if (Iaux1.e[i] != Iaux)
   4175       err++;
   4176   }
   4177   if (err)
   4178     printf("Function vec_sl [type int]                ===> Error\n");
   4179   else
   4180     printf("Function vec_sl [type int]                ===> OK\n");
   4181 
   4182   err = 0;
   4183   UIaux1.v = vec_sl( UIcons1, UIcons3 );
   4184   UIaux2.v = UIcons1;
   4185   UIaux3.v = UIcons3;
   4186   for( i=0; i< 4; i++ )
   4187   {
   4188     b = UIaux3.e[i]%(128/4);
   4189     UIaux = UIaux2.e[i] << b;
   4190     if (UIaux1.e[i] != UIaux)
   4191       err++;
   4192   }
   4193   if (err)
   4194     printf("Function vec_sl [type unsigned integer]   ===> Error\n");
   4195   else
   4196     printf("Function vec_sl [type unsigned integer]   ===> OK\n");
   4197 
   4198 /*    Function vec_sld    */
   4199   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4200   err = 0;
   4201   b = 3;
   4202   Caux1.v = vec_sld( Ccons1, Ccons2, 3 );
   4203   Caux2.v = Ccons1;
   4204   Caux3.v = Ccons2;
   4205   for( i=0; i< 16; i++ )
   4206   {
   4207     if ((i+b)<16)
   4208     {
   4209       if (Caux1.e[i] != Caux2.e[i+b])
   4210         err++;
   4211     }
   4212     else
   4213     {
   4214       if (Caux1.e[i] != Caux3.e[i+b-16])
   4215         err++;
   4216     }
   4217   }
   4218   if (err)
   4219     printf("Function vec_sld [type char]              ===> Error\n");
   4220   else
   4221     printf("Function vec_sld [type char]              ===> OK\n");
   4222 
   4223   err = 0;
   4224   b = 3;
   4225   UCaux1.v = vec_sld( UCcons1, UCcons2, 3 );
   4226   UCaux2.v = UCcons1;
   4227   UCaux3.v = UCcons2;
   4228   for( i=0; i< 16; i++ )
   4229   {
   4230     if ((i+b)<16)
   4231     {
   4232       if (UCaux1.e[i] != UCaux2.e[i+b])
   4233         err++;
   4234     }
   4235     else
   4236     {
   4237       if (UCaux1.e[i] != UCaux3.e[i+b-16])
   4238         err++;
   4239     }
   4240   }
   4241   if (err)
   4242     printf("Function vec_sld [type unsigned char]     ===> Error\n");
   4243   else
   4244     printf("Function vec_sld [type unsigned char]     ===> OK\n");
   4245 
   4246   err = 0;
   4247   b = 3;
   4248   Saux1.v = vec_sld( Scons1, Scons2, 3 );
   4249   Saux2.v = Scons1;
   4250   Saux3.v = Scons2;
   4251   for( i=0; i< 16; i++ )
   4252   {
   4253     SHOunion1.ss  = Saux1.e[i/2];
   4254     if ((i+b)<16)
   4255       SHOunion2.ss = Saux2.e[(i+b)/2];
   4256     else
   4257       SHOunion2.ss = Saux3.e[(i+b-16)/2];
   4258     if (SHOunion1.sc[i%2] != SHOunion2.sc[(i+b)%2])
   4259       err++;
   4260   }
   4261   if (err)
   4262     printf("Function vec_sld [type short]             ===> Error\n");
   4263   else
   4264     printf("Function vec_sld [type short]             ===> OK\n");
   4265 
   4266   err = 0;
   4267   b = 3;
   4268   USaux1.v = vec_sld( UScons1, UScons2, 3 );
   4269   USaux2.v = UScons1;
   4270   USaux3.v = UScons2;
   4271   for( i=0; i< 16; i++ )
   4272   {
   4273     SHOunion1.us  = USaux1.e[i/2];
   4274     if ((i+b)<16)
   4275       SHOunion2.us = USaux2.e[(i+b)/2];
   4276     else
   4277       SHOunion2.us = USaux3.e[(i+b-16)/2];
   4278     if (SHOunion1.uc[i%2] != SHOunion2.uc[(i+b)%2])
   4279       err++;
   4280   }
   4281   if (err)
   4282     printf("Function vec_sld [type unsigned short]    ===> Error\n");
   4283   else
   4284     printf("Function vec_sld [type unsigned short]    ===> OK\n");
   4285 
   4286   err = 0;
   4287   b = 3;
   4288   Iaux1.v = vec_sld( Icons1, Icons2, 3 );
   4289   Iaux2.v = Icons1;
   4290   Iaux3.v = Icons2;
   4291   for( i=0; i< 16; i++ )
   4292   {
   4293     INTunion1.si  = Iaux1.e[i/4];
   4294     if ((i+b)<16)
   4295       INTunion2.si = Iaux2.e[(i+b)/4];
   4296     else
   4297       INTunion2.si = Iaux3.e[(i+b-16)/4];
   4298     if (INTunion1.sc[i%4] != INTunion2.sc[(i+b)%4])
   4299       err++;
   4300   }
   4301   if (err)
   4302     printf("Function vec_sld [type integer]           ===> Error\n");
   4303   else
   4304     printf("Function vec_sld [type integer]           ===> OK\n");
   4305 
   4306   err = 0;
   4307   b = 3;
   4308   UIaux1.v = vec_sld( UIcons1, UIcons2, 3 );
   4309   UIaux2.v = UIcons1;
   4310   UIaux3.v = UIcons2;
   4311   for( i=0; i< 16; i++ )
   4312   {
   4313     INTunion1.ui  = UIaux1.e[i/4];
   4314     if ((i+b)<16)
   4315       INTunion2.ui = UIaux2.e[(i+b)/4];
   4316     else
   4317       INTunion2.ui = UIaux3.e[(i+b-16)/4];
   4318     if (INTunion1.uc[i%4] != INTunion2.uc[(i+b)%4])
   4319       err++;
   4320   }
   4321   if (err)
   4322     printf("Function vec_sld [type unsigned int]      ===> Error\n");
   4323   else
   4324     printf("Function vec_sld [type unsigned int]      ===> OK\n");
   4325 
   4326 #if defined TEST_FLOATS
   4327   err = 0;
   4328   b = 3;
   4329   Faux1.v = vec_sld( Fcons1, Fcons2, 3 );
   4330   Faux2.v = Fcons1;
   4331   Faux3.v = Fcons2;
   4332   for( i=0; i< 16; i++ )
   4333   {
   4334     INTunion1.f  = Faux1.e[i/4];
   4335     if ((i+b)<16)
   4336       INTunion2.f = Faux2.e[(i+b)/4];
   4337     else
   4338       INTunion2.f = Faux3.e[(i+b-16)/4];
   4339     if (INTunion1.sc[i%4] != INTunion2.sc[(i+b)%4])
   4340       err++;
   4341   }
   4342   if (err)
   4343     printf("Function vec_sld [type float]             ===> Error\n");
   4344   else
   4345     printf("Function vec_sld [type float]             ===> OK\n");
   4346 #endif
   4347 
   4348 /*    Function vec_sll    */
   4349   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4350   err = 0;
   4351   Caux1.v = vec_sll( Ccons1, UCcons2 );
   4352   Caux2.v = Ccons1;
   4353   UCaux1.v = UCcons2;
   4354   b = UCaux1.e[15] & 0x7;
   4355   for( i=0; i< 15; i++ )
   4356     if ((UCaux1.e[i] & 0x7)!=b)
   4357       err++;
   4358   if (err)
   4359   {
   4360     printf("The three low-order bits of all byte elements in b must be the same\n");
   4361     printf("otherwise the value into d is undefined\n");
   4362   }
   4363   else
   4364   {
   4365     for( i=0; i< 16; i++ )
   4366     {
   4367       UCvec1 = (unsigned char *)(&Caux2.e[i]);
   4368       Caux = UCvec1[0]<<b;
   4369       if (i != 15)
   4370         Caux = Caux | (UCvec1[1]>>(8-b));
   4371       if (Caux != Caux1.e[i])
   4372         err++;
   4373     }
   4374     if (err)
   4375       printf("Function vec_sll [type char]              ===> Error\n");
   4376     else
   4377       printf("Function vec_sll [type char]              ===> OK\n");
   4378   }
   4379 
   4380   UCaux1.v = vec_sll( UCcons1, UCcons2 );
   4381   UCaux2.v = UCcons1;
   4382   UCaux3.v = UCcons2;
   4383   b = UCaux3.e[15] & 0x7;
   4384   for( i=0; i< 15; i++ )
   4385     if ((UCaux3.e[i] & 0x7)!=b)
   4386       err++;
   4387   if (err)
   4388   {
   4389     printf("The three low-order bits of all byte elements in b must be the same\n");
   4390     printf("otherwise the value into d is undefined\n");
   4391   }
   4392   else
   4393   {
   4394     for( i=0; i< 16; i++ )
   4395     {
   4396       UCvec1 = (unsigned char *)(&UCaux2.e[i]);
   4397       UCaux  = UCvec1[0]<<b;
   4398       if (i != 15)
   4399         UCaux = UCaux | (UCvec1[1]>>(8-b));
   4400       if (UCaux != UCaux1.e[i])
   4401         err++;
   4402     }
   4403     if (err)
   4404       printf("Function vec_sll [type unsigned char]     ===> Error\n");
   4405     else
   4406       printf("Function vec_sll [type unsigned char]     ===> OK\n");
   4407   }
   4408 
   4409   err = 0;
   4410   Saux1.v = vec_sll( Scons1, UCcons2 );
   4411   Saux2.v = Scons1;
   4412   UCaux1.v = UCcons2;
   4413   b = UCaux1.e[15] & 0x7;
   4414   for( i=0; i< 15; i++ )
   4415     if ((UCaux1.e[i] & 0x7)!=b)
   4416       err++;
   4417   if (err)
   4418   {
   4419     printf("The three low-order bits of all byte elements in b must be the same\n");
   4420     printf("otherwise the value into d is undefined\n");
   4421   }
   4422   else
   4423   {
   4424     for( i=0; i< 8; i++ )
   4425     {
   4426       USvec1 = (unsigned short *)(&Saux2.e[i]);
   4427       Saux   = USvec1[0]<<b;
   4428       if (i != 7)
   4429         Saux = Saux | (USvec1[1]>>(16-b));
   4430       if (Saux != Saux1.e[i])
   4431         err++;
   4432     }
   4433     if (err)
   4434       printf("Function vec_sll [type short]             ===> Error\n");
   4435     else
   4436       printf("Function vec_sll [type short]             ===> OK\n");
   4437   }
   4438 
   4439   USaux1.v = vec_sll( UScons1, UCcons2 );
   4440   USaux2.v = UScons1;
   4441   UCaux1.v = UCcons2;
   4442   b = UCaux1.e[15] & 0x7;
   4443   for( i=0; i< 15; i++ )
   4444     if ((UCaux1.e[i] & 0x7)!=b)
   4445       err++;
   4446   if (err)
   4447   {
   4448     printf("The three low-order bits of all byte elements in b must be the same\n");
   4449     printf("otherwise the value into d is undefined\n");
   4450   }
   4451   else
   4452   {
   4453     for( i=0; i< 8; i++ )
   4454     {
   4455       USvec1 = (unsigned short *)(&USaux2.e[i]);
   4456       USaux   = USvec1[0]<<b;
   4457       if (i != 7)
   4458         USaux = USaux | (USvec1[1]>>(16-b));
   4459       if (USaux != USaux1.e[i])
   4460         err++;
   4461     }
   4462     if (err)
   4463       printf("Function vec_sll [type unsigned char]     ===> Error\n");
   4464     else
   4465       printf("Function vec_sll [type unsigned char]     ===> OK\n");
   4466   }
   4467 
   4468   err = 0;
   4469   Iaux1.v = vec_sll( Icons1, UCcons2 );
   4470   Iaux2.v = Icons1;
   4471   UCaux1.v = UCcons2;
   4472   b = UCaux1.e[15] & 0x7;
   4473   for( i=0; i< 15; i++ )
   4474     if ((UCaux1.e[i] & 0x7)!=b)
   4475       err++;
   4476   if (err)
   4477   {
   4478     printf("The three low-order bits of all byte elements in b must be the same\n");
   4479     printf("otherwise the value into d is undefined\n");
   4480   }
   4481   else
   4482   {
   4483     for( i=0; i< 4; i++ )
   4484     {
   4485       UIvec1 = (unsigned int *)(&Iaux2.e[i]);
   4486       Iaux   = UIvec1[0]<<b;
   4487       if (i != 3)
   4488         Iaux = Iaux | (UIvec1[1]>>(32-b));
   4489       if (Iaux != Iaux1.e[i])
   4490         err++;
   4491     }
   4492     if (err)
   4493       printf("Function vec_sll [type integer]           ===> Error\n");
   4494     else
   4495       printf("Function vec_sll [type integer]           ===> OK\n");
   4496   }
   4497 
   4498   UIaux1.v = vec_sll( UIcons1, UCcons2 );
   4499   UIaux2.v = UIcons1;
   4500   UCaux1.v = UCcons2;
   4501   b = UCaux1.e[15] & 0x7;
   4502   for( i=0; i< 15; i++ )
   4503     if ((UCaux1.e[i] & 0x7)!=b)
   4504       err++;
   4505   if (err)
   4506   {
   4507     printf("The three low-order bits of all byte elements in b must be the same\n");
   4508     printf("otherwise the value into d is undefined\n");
   4509   }
   4510   else
   4511   {
   4512     for( i=0; i< 4; i++ )
   4513     {
   4514       UIvec1 = (unsigned int *)(&UIaux2.e[i]);
   4515       UIaux   = UIvec1[0]<<b;
   4516       if (i != 3)
   4517         UIaux = UIaux | (UIvec1[1]>>(32-b));
   4518       if (UIaux != UIaux1.e[i])
   4519         err++;
   4520     }
   4521     if (err)
   4522       printf("Function vec_sll [type unsigned int]      ===> Error\n");
   4523     else
   4524       printf("Function vec_sll [type unsigned int]      ===> OK\n");
   4525   }
   4526 
   4527 /*    Function vec_slo    */
   4528   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4529   err = 0;
   4530   Caux1.v = vec_slo( Ccons3, Ccons1 );
   4531   Caux2.v = Ccons3;
   4532   Caux3.v = Ccons1;
   4533   b = (Caux3.e[15] & 0x78) >> 3;
   4534   for( i=0; i< 16; i++ )
   4535   {
   4536     if ((i+b)<16)
   4537     {
   4538       if (Caux1.e[i] != Caux2.e[i+b])
   4539         err++;
   4540     }
   4541     else
   4542     {
   4543       if (Caux1.e[i] != 0)
   4544         err++;
   4545     }
   4546   }
   4547   if (err)
   4548     printf("Function vec_slo [type char]              ===> Error\n");
   4549   else
   4550     printf("Function vec_slo [type char]              ===> OK\n");
   4551 
   4552   err = 0;
   4553   UCaux1.v = vec_slo( UCcons3, UCcons1 );
   4554   UCaux2.v = UCcons3;
   4555   UCaux3.v = UCcons1;
   4556   b = (UCaux3.e[15] & 0x78) >> 3;
   4557   for( i=0; i< 16; i++ )
   4558   {
   4559     if ((i+b)<16)
   4560     {
   4561       if (UCaux1.e[i] != UCaux2.e[i+b])
   4562         err++;
   4563     }
   4564     else
   4565     {
   4566       if (UCaux1.e[i] != 0)
   4567         err++;
   4568     }
   4569   }
   4570   if (err)
   4571     printf("Function vec_slo [type unsigned char]     ===> Error\n");
   4572   else
   4573     printf("Function vec_slo [type unsigned char]     ===> OK\n");
   4574 
   4575   err = 0;
   4576   Saux1.v  = vec_slo( Scons3, UCcons1 );
   4577   Saux2.v  = Scons3;
   4578   UCaux3.v = UCcons1;
   4579   b = (UCaux3.e[15] & 0x78) >> 3;
   4580   for( i=0; i< 16; i++ )
   4581   {
   4582     SHOunion1.ss  = Saux1.e[i/2];
   4583     if ((i+b)<16)
   4584       SHOunion2.ss = Saux2.e[(i+b)/2];
   4585     else
   4586       SHOunion2.ss = 0;
   4587     if (SHOunion1.sc[i%2] != SHOunion2.sc[(i+b)%2])
   4588       err++;
   4589   }
   4590   if (err)
   4591     printf("Function vec_slo [type short]             ===> Error\n");
   4592   else
   4593     printf("Function vec_slo [type short]             ===> OK\n");
   4594 
   4595   err = 0;
   4596   USaux1.v = vec_slo( UScons3, UCcons1 );
   4597   USaux2.v = UScons3;
   4598   UCaux3.v = UCcons1;
   4599   b = (UCaux3.e[15] & 0x78) >> 3;
   4600   for( i=0; i< 16; i++ )
   4601   {
   4602     SHOunion1.us  = USaux1.e[i/2];
   4603     if ((i+b)<16)
   4604       SHOunion2.us = USaux2.e[(i+b)/2];
   4605     else
   4606       SHOunion2.us = 0;
   4607     if (SHOunion1.uc[i%2] != SHOunion2.uc[(i+b)%2])
   4608       err++;
   4609   }
   4610   if (err)
   4611     printf("Function vec_slo [type unsigned short]    ===> Error\n");
   4612   else
   4613     printf("Function vec_slo [type unsigned short]    ===> OK\n");
   4614 
   4615   err = 0;
   4616   Iaux1.v  = vec_slo( Icons3, UCcons1 );
   4617   Iaux2.v  = Icons3;
   4618   UCaux3.v = UCcons1;
   4619   b = (UCaux3.e[15] & 0x78) >> 3;
   4620   for( i=0; i< 16; i++ )
   4621   {
   4622     INTunion1.si  = Iaux1.e[i/4];
   4623     if ((i+b)<16)
   4624       INTunion2.si = Iaux2.e[(i+b)/4];
   4625     else
   4626       INTunion2.si = 0;
   4627     if (INTunion1.sc[i%4] != INTunion2.sc[(i+b)%4])
   4628       err++;
   4629   }
   4630   if (err)
   4631     printf("Function vec_slo [type integer]           ===> Error\n");
   4632   else
   4633     printf("Function vec_slo [type integer]           ===> OK\n");
   4634 
   4635   err = 0;
   4636   UIaux1.v = vec_slo( UIcons3, UCcons1 );
   4637   UIaux2.v = UIcons3;
   4638   UCaux3.v = UCcons1;
   4639   b = (UCaux3.e[15] & 0x78) >> 3;
   4640   for( i=0; i< 16; i++ )
   4641   {
   4642     INTunion1.ui  = UIaux1.e[i/4];
   4643     if ((i+b)<16)
   4644       INTunion2.ui = UIaux2.e[(i+b)/4];
   4645     else
   4646       INTunion2.ui = 0;
   4647     if (INTunion1.uc[i%4] != INTunion2.uc[(i+b)%4])
   4648       err++;
   4649   }
   4650   if (err)
   4651     printf("Function vec_slo [type unsigned int]      ===> Error\n");
   4652   else
   4653     printf("Function vec_slo [type unsigned int]      ===> OK\n");
   4654 
   4655 #if defined TEST_FLOATS
   4656   err = 0;
   4657   Faux1.v  = vec_slo( Fcons3, UCcons1 );
   4658   Faux2.v  = Fcons3;
   4659   UCaux3.v = UCcons1;
   4660   b = (UCaux3.e[15] & 0x78) >> 3;
   4661   for( i=0; i< 16; i++ )
   4662   {
   4663     INTunion1.f  = Faux1.e[i/4];
   4664     if ((i+b)<16)
   4665       INTunion2.f = Faux2.e[(i+b)/4];
   4666     else
   4667       INTunion2.si = 0;
   4668     if (INTunion1.sc[i%4] != INTunion2.sc[(i+b)%4])
   4669       err++;
   4670   }
   4671   if (err)
   4672     printf("Function vec_slo [type float]             ===> Error\n");
   4673   else
   4674     printf("Function vec_slo [type float]             ===> OK\n");
   4675 #endif
   4676 
   4677 /*    Function vec_splat    */
   4678   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4679   err = 0;
   4680   b = 3;
   4681   Caux1.v = vec_splat( Ccons1, 3 );
   4682   Caux2.v = Ccons1;
   4683   for( i=0; i< 16; i++ )
   4684     if (Caux1.e[i] != Caux2.e[b])
   4685       err++;
   4686   if (err)
   4687     printf("Function vec_splat [type char]            ===> Error\n");
   4688   else
   4689     printf("Function vec_splat [type char]            ===> OK\n");
   4690 
   4691   err = 0;
   4692   b = 3;
   4693   UCaux1.v = vec_splat( UCcons1, 3 );
   4694   UCaux2.v = UCcons1;
   4695   for( i=0; i< 16; i++ )
   4696     if (UCaux1.e[i] != UCaux2.e[b])
   4697       err++;
   4698   if (err)
   4699     printf("Function vec_splat [type unsigned char]   ===> Error\n");
   4700   else
   4701     printf("Function vec_splat [type unsigned char]   ===> OK\n");
   4702 
   4703   err = 0;
   4704   b = 3;
   4705   Saux1.v = vec_splat( Scons1, 3 );
   4706   Saux2.v = Scons1;
   4707   for( i=0; i< 8; i++ )
   4708     if (Saux1.e[i] != Saux2.e[b])
   4709       err++;
   4710   if (err)
   4711     printf("Function vec_splat [type short]           ===> Error\n");
   4712   else
   4713     printf("Function vec_splat [type short]           ===> OK\n");
   4714 
   4715   err = 0;
   4716   b = 3;
   4717   USaux1.v = vec_splat( UScons1, 3 );
   4718   USaux2.v = UScons1;
   4719   for( i=0; i< 8; i++ )
   4720     if (USaux1.e[i] != USaux2.e[b])
   4721       err++;
   4722   if (err)
   4723     printf("Function vec_splat [type unsigned short]  ===> Error\n");
   4724   else
   4725     printf("Function vec_splat [type unsigned short]  ===> OK\n");
   4726 
   4727   err = 0;
   4728   b = 3;
   4729   Iaux1.v = vec_splat( Icons1, 3 );
   4730   Iaux2.v = Icons1;
   4731   for( i=0; i< 4; i++ )
   4732     if (Iaux1.e[i] != Iaux2.e[b])
   4733       err++;
   4734   if (err)
   4735     printf("Function vec_splat [type integer]         ===> Error\n");
   4736   else
   4737     printf("Function vec_splat [type integer]         ===> OK\n");
   4738 
   4739   err = 0;
   4740   b = 3;
   4741   UIaux1.v = vec_splat( UIcons1, 3 );
   4742   UIaux2.v = UIcons1;
   4743   for( i=0; i< 4; i++ )
   4744     if (UIaux1.e[i] != UIaux2.e[b])
   4745       err++;
   4746   if (err)
   4747     printf("Function vec_splat [type unsigned int]    ===> Error\n");
   4748   else
   4749     printf("Function vec_splat [type unsigned int]    ===> OK\n");
   4750 
   4751 #if defined TEST_FLOATS
   4752   err = 0;
   4753   b = 3;
   4754   Faux1.v = vec_splat( Fcons1, 3 );
   4755   Faux2.v = Fcons1;
   4756   for( i=0; i< 4; i++ )
   4757     if (Faux1.e[i] != Faux2.e[b])
   4758       err++;
   4759   if (err)
   4760     printf("Function vec_splat [type float]           ===> Error\n");
   4761   else
   4762     printf("Function vec_splat [type float]           ===> OK\n");
   4763 #endif
   4764 
   4765 /*    Function vec_splat_s8    */
   4766   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4767   err = 0;
   4768   Caux = 15;
   4769   Caux1.v = vec_splat_s8( 15 );
   4770   for( i=0; i< 16; i++ )
   4771     if (Caux1.e[i] != Caux)
   4772       err++;
   4773   if (err)
   4774     printf("Function vec_splat_s8 [type char]         ===> Error\n");
   4775   else
   4776     printf("Function vec_splat_s8 [type char]         ===> OK\n");
   4777 
   4778 /*    Function vec_splat_s16    */
   4779   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4780   err = 0;
   4781   Saux = 15;
   4782   Saux1.v = vec_splat_s16( 15 );
   4783   for( i=0; i< 8; i++ )
   4784     if (Saux1.e[i] != Saux)
   4785       err++;
   4786   if (err)
   4787     printf("Function vec_splat_s16 [type short]       ===> Error\n");
   4788   else
   4789     printf("Function vec_splat_s16 [type short]       ===> OK\n");
   4790 
   4791 /*    Function vec_splat_s32    */
   4792   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4793   err = 0;
   4794   Iaux = 15;
   4795   Iaux1.v = vec_splat_s32( 15 );
   4796   for( i=0; i< 4; i++ )
   4797     if (Iaux1.e[i] != Iaux)
   4798       err++;
   4799   if (err)
   4800     printf("Function vec_splat_s32 [type integer]     ===> Error\n");
   4801   else
   4802     printf("Function vec_splat_s32 [type integer]     ===> OK\n");
   4803 
   4804 /*    Function vec_splat_u8    */
   4805   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4806   err = 0;
   4807   UCaux = 15;
   4808   UCaux1.v = vec_splat_u8( 15 );
   4809   for( i=0; i< 16; i++ )
   4810     if (UCaux1.e[i] != UCaux)
   4811       err++;
   4812   if (err)
   4813     printf("Function vec_splat_u8 [type unsig. char]  ===> Error\n");
   4814   else
   4815     printf("Function vec_splat_u8 [type unsig. char]  ===> OK\n");
   4816 
   4817 /*    Function vec_splat_u16    */
   4818   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4819   err = 0;
   4820   USaux = 15;
   4821   USaux1.v = vec_splat_u16( 15 );
   4822   for( i=0; i< 8; i++ )
   4823     if (USaux1.e[i] != Saux)
   4824       err++;
   4825   if (err)
   4826     printf("Function vec_splat_u16 [type unsg. short] ===> Error\n");
   4827   else
   4828     printf("Function vec_splat_u16 [type unsg. short] ===> OK\n");
   4829 
   4830 /*    Function vec_splat_u32    */
   4831   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4832   err = 0;
   4833   UIaux = 15;
   4834   UIaux1.v = vec_splat_u32( 15 );
   4835   for( i=0; i< 4; i++ )
   4836     if (UIaux1.e[i] != UIaux)
   4837       err++;
   4838   if (err)
   4839     printf("Function vec_splat_u32 [type unsig. int]  ===> Error\n");
   4840   else
   4841     printf("Function vec_splat_u32 [type unsig. int]  ===> OK\n");
   4842 
   4843 /*    Function vec_sr    */
   4844   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4845   err = 0;
   4846   Caux1.v = vec_sr( Ccons3, UCcons3 );
   4847   Caux2.v = Ccons3;
   4848   UCaux3.v = UCcons3;
   4849   for( i=0; i< 16; i++ )
   4850   {
   4851     SHOunion1.sc[0] = Caux2.e[i];
   4852     SHOunion1.uc[0] = SHOunion1.uc[0] >> (UCaux3.e[i]%8);
   4853     if (Caux1.e[i] != SHOunion1.sc[0])
   4854       err++;
   4855   }
   4856   if (err)
   4857     printf("Function vec_sr [type char]               ===> Error\n");
   4858   else
   4859     printf("Function vec_sr [type char]               ===> OK\n");
   4860 
   4861   err = 0;
   4862   UCaux1.v = vec_sr( UCcons1, UCcons3 );
   4863   UCaux2.v = UCcons1;
   4864   UCaux3.v = UCcons3;
   4865   for( i=0; i< 16; i++ )
   4866   {
   4867     UCaux = UCaux2.e[i] >> (UCaux3.e[i]%8);
   4868     if (UCaux1.e[i] != UCaux)
   4869       err++;
   4870   }
   4871   if (err)
   4872     printf("Function vec_sr [type unsigned char]      ===> Error\n");
   4873   else
   4874     printf("Function vec_sr [type unsigned char]      ===> OK\n");
   4875 
   4876   err = 0;
   4877   Saux1.v = vec_sr( Scons3, UScons3 );
   4878   Saux2.v = Scons3;
   4879   USaux3.v = UScons3;
   4880   for( i=0; i< 8; i++ )
   4881   {
   4882     SHOunion1.ss = Saux2.e[i];
   4883     SHOunion1.us = SHOunion1.us >> (USaux3.e[i]%16);
   4884     if (Saux1.e[i] != SHOunion1.ss)
   4885       err++;
   4886   }
   4887   if (err)
   4888     printf("Function vec_sr [type short]              ===> Error\n");
   4889   else
   4890     printf("Function vec_sr [type short]              ===> OK\n");
   4891 
   4892   err = 0;
   4893   USaux1.v = vec_sr( UScons1, UScons3 );
   4894   USaux2.v = UScons1;
   4895   USaux3.v = UScons3;
   4896   for( i=0; i< 8; i++ )
   4897   {
   4898     USaux = USaux2.e[i] >> (USaux3.e[i]%16);
   4899     if (USaux1.e[i] != USaux)
   4900       err++;
   4901   }
   4902   if (err)
   4903     printf("Function vec_sr [type unsigned short]     ===> Error\n");
   4904   else
   4905     printf("Function vec_sr [type unsigned short]     ===> OK\n");
   4906 
   4907   err = 0;
   4908   Iaux1.v = vec_sr( Icons3, UIcons3 );
   4909   Iaux2.v = Icons3;
   4910   UIaux3.v = UIcons3;
   4911   for( i=0; i< 4; i++ )
   4912   {
   4913     INTunion1.si = Iaux2.e[i];
   4914     INTunion1.ui = INTunion1.ui >> (UIaux3.e[i]%32);
   4915     if (Iaux1.e[i] != INTunion1.si)
   4916       err++;
   4917   }
   4918   if (err)
   4919     printf("Function vec_sr [type integer]            ===> Error\n");
   4920   else
   4921     printf("Function vec_sr [type integer]            ===> OK\n");
   4922 
   4923   err = 0;
   4924   UIaux1.v = vec_sr( UIcons1, UIcons3 );
   4925   UIaux2.v = UIcons1;
   4926   UIaux3.v = UIcons3;
   4927   for( i=0; i< 4; i++ )
   4928   {
   4929     UIaux = UIaux2.e[i] >> (UIaux3.e[i]%32);
   4930     if (UIaux1.e[i] != UIaux)
   4931       err++;
   4932   }
   4933   if (err)
   4934     printf("Function vec_sr [type unsigned int]       ===> Error\n");
   4935   else
   4936     printf("Function vec_sr [type unsigned int]       ===> OK\n");
   4937 
   4938 /*    Function vec_sra    */
   4939   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   4940   err = 0;
   4941   Caux1.v = vec_sra( Ccons3, UCcons3 );
   4942   Caux2.v = Ccons3;
   4943   UCaux3.v = UCcons3;
   4944   for( i=0; i< 16; i++ )
   4945   {
   4946     Caux = Caux2.e[i] >> (UCaux3.e[i]%8);
   4947     if (Caux1.e[i] != Caux)
   4948       err++;
   4949   }
   4950   if (err)
   4951     printf("Function vec_sra [type char]              ===> Error\n");
   4952   else
   4953     printf("Function vec_sra [type char]              ===> OK\n");
   4954 
   4955   err = 0;
   4956   UCaux1.v = vec_sra( UCcons1, UCcons3 );
   4957   UCaux2.v = UCcons1;
   4958   UCaux3.v = UCcons3;
   4959   for( i=0; i< 16; i++ )
   4960   {
   4961     INTunion1.uc[0] = UCaux2.e[i];
   4962     INTunion1.sc[0] = INTunion1.sc[0] >> (UCaux3.e[i]%8);
   4963     if (UCaux1.e[i] != INTunion1.uc[0])
   4964       err++;
   4965   }
   4966   if (err)
   4967     printf("Function vec_sra [type unsigned char]     ===> Error\n");
   4968   else
   4969     printf("Function vec_sra [type unsigned char]     ===> OK\n");
   4970 
   4971   err = 0;
   4972   Saux1.v = vec_sra( Scons3, UScons3 );
   4973   Saux2.v = Scons3;
   4974   USaux3.v = UScons3;
   4975   for( i=0; i< 8; i++ )
   4976   {
   4977     Saux = Saux2.e[i] >> (USaux3.e[i]%16);
   4978     if (Saux1.e[i] != Saux)
   4979       err++;
   4980   }
   4981   if (err)
   4982     printf("Function vec_sra [type short]             ===> Error\n");
   4983   else
   4984     printf("Function vec_sra [type short]             ===> OK\n");
   4985 
   4986   err = 0;
   4987   USaux1.v = vec_sra( UScons1, UScons3 );
   4988   USaux2.v = UScons1;
   4989   USaux3.v = UScons3;
   4990   for( i=0; i< 8; i++ )
   4991   {
   4992     INTunion1.us[0] = USaux2.e[i];
   4993     INTunion1.ss[0] = INTunion1.ss[0] >> (USaux3.e[i]%16);
   4994     if (USaux1.e[i] != INTunion1.us[0])
   4995       err++;
   4996   }
   4997   if (err)
   4998     printf("Function vec_sra [type unsigned short]    ===> Error\n");
   4999   else
   5000     printf("Function vec_sra [type unsigned short]    ===> OK\n");
   5001 
   5002   err = 0;
   5003   Iaux1.v = vec_sra( Icons3, UIcons3 );
   5004   Iaux2.v = Icons3;
   5005   UIaux3.v = UIcons3;
   5006   for( i=0; i< 4; i++ )
   5007   {
   5008     Iaux = Iaux2.e[i] >> (UIaux3.e[i]%32);
   5009     if (Iaux1.e[i] != Iaux)
   5010       err++;
   5011   }
   5012   if (err)
   5013     printf("Function vec_sra [type integer]           ===> Error\n");
   5014   else
   5015     printf("Function vec_sra [type integer]           ===> OK\n");
   5016 
   5017   err = 0;
   5018   UIaux1.v = vec_sra( UIcons1, UIcons3 );
   5019   UIaux2.v = UIcons1;
   5020   UIaux3.v = UIcons3;
   5021   for( i=0; i< 4; i++ )
   5022   {
   5023     INTunion1.ui = UIaux2.e[i];
   5024     INTunion1.si = INTunion1.si >> (UIaux3.e[i]%32);
   5025     if (UIaux1.e[i] != INTunion1.ui)
   5026       err++;
   5027   }
   5028   if (err)
   5029     printf("Function vec_sra [type unsigned int]      ===> Error\n");
   5030   else
   5031     printf("Function vec_sra [type unsigned int]      ===> OK\n");
   5032 
   5033 /*    Function vec_srl    */
   5034   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   5035   err = 0;
   5036   Caux1.v = vec_srl( Ccons1, UCcons2 );
   5037   Caux2.v = Ccons1;
   5038   UCaux3.v = UCcons2;
   5039   b = UCaux3.e[15] & 0x7;
   5040   for( i=0; i< 15; i++ )
   5041     if ((UCaux3.e[i] & 0x7)!=b)
   5042       err++;
   5043   if (err)
   5044   {
   5045     printf("The three low-order bits of all byte elements in b must be the same\n");
   5046     printf("otherwise the value into d is undefined\n");
   5047   }
   5048   else
   5049   {
   5050     Caux = 0;
   5051     for( i=0; i< 16; i++ )
   5052     {
   5053       INTunion1.sc[0] = Caux2.e[i];
   5054       Caux = Caux | (INTunion1.uc[0]>>b);
   5055       if (Caux != Caux1.e[i])
   5056         err++;
   5057       Caux = INTunion1.uc[0]<<(8-b);
   5058     }
   5059     if (err)
   5060       printf("Function vec_srl [type char]              ===> Error\n");
   5061     else
   5062       printf("Function vec_srl [type char]              ===> OK\n");
   5063   }
   5064 
   5065   err = 0;
   5066   UCaux1.v = vec_srl( UCcons1, UCcons2 );
   5067   UCaux2.v = UCcons1;
   5068   UCaux3.v = UCcons2;
   5069   b = UCaux3.e[15] & 0x7;
   5070   for( i=0; i< 15; i++ )
   5071     if ((UCaux3.e[i] & 0x7)!=b)
   5072       err++;
   5073   if (err)
   5074   {
   5075     printf("The three low-order bits of all byte elements in b must be the same\n");
   5076     printf("otherwise the value into d is undefined\n");
   5077   }
   5078   else
   5079   {
   5080     UCaux = 0;
   5081     for( i=0; i< 16; i++ )
   5082     {
   5083       UCaux = UCaux | (UCaux2.e[i]>>b);
   5084       if (UCaux != UCaux1.e[i])
   5085         err++;
   5086       UCaux = UCaux2.e[i]<<(8-b);
   5087     }
   5088     if (err)
   5089       printf("Function vec_srl [type unsigned char]     ===> Error\n");
   5090     else
   5091       printf("Function vec_srl [type unsigned char]     ===> OK\n");
   5092   }
   5093 
   5094   err = 0;
   5095   Saux1.v = vec_srl( Scons1, UCcons2 );
   5096   Saux2.v = Scons1;
   5097   UCaux3.v = UCcons2;
   5098   b = UCaux3.e[15] & 0x7;
   5099   for( i=0; i< 15; i++ )
   5100     if ((UCaux3.e[i] & 0x7)!=b)
   5101       err++;
   5102   if (err)
   5103   {
   5104     printf("The three low-order bits of all byte elements in b must be the same\n");
   5105     printf("otherwise the value into d is undefined\n");
   5106   }
   5107   else
   5108   {
   5109     Saux = 0;
   5110     for( i=0; i< 8; i++ )
   5111     {
   5112       INTunion1.ss[0] = Saux2.e[i];
   5113       Saux = Saux | (INTunion1.us[0]>>b);
   5114       if (Saux != Saux1.e[i])
   5115         err++;
   5116       Saux = INTunion1.us[0]<<(16-b);
   5117     }
   5118     if (err)
   5119       printf("Function vec_srl [type short]             ===> Error\n");
   5120     else
   5121       printf("Function vec_srl [type short]             ===> OK\n");
   5122   }
   5123 
   5124   err = 0;
   5125   USaux1.v = vec_srl( UScons1, UCcons2 );
   5126   USaux2.v = UScons1;
   5127   UCaux3.v = UCcons2;
   5128   b = UCaux3.e[15] & 0x7;
   5129   for( i=0; i< 15; i++ )
   5130     if ((UCaux3.e[i] & 0x7)!=b)
   5131       err++;
   5132   if (err)
   5133   {
   5134     printf("The three low-order bits of all byte elements in b must be the same\n");
   5135     printf("otherwise the value into d is undefined\n");
   5136   }
   5137   else
   5138   {
   5139     USaux = 0;
   5140     for( i=0; i< 8; i++ )
   5141     {
   5142       USaux = USaux | (USaux2.e[i]>>b);
   5143       if (USaux != USaux1.e[i])
   5144         err++;
   5145       USaux = USaux2.e[i]<<(16-b);
   5146     }
   5147     if (err)
   5148       printf("Function vec_srl [type unsigned short]    ===> Error\n");
   5149     else
   5150       printf("Function vec_srl [type unsigned short]    ===> OK\n");
   5151   }
   5152 
   5153   err = 0;
   5154   Iaux1.v = vec_srl( Icons1, UCcons2 );
   5155   Iaux2.v = Icons1;
   5156   UCaux3.v = UCcons2;
   5157   b = UCaux3.e[15] & 0x7;
   5158   for( i=0; i< 15; i++ )
   5159     if ((UCaux3.e[i] & 0x7)!=b)
   5160       err++;
   5161   if (err)
   5162   {
   5163     printf("The three low-order bits of all byte elements in b must be the same\n");
   5164     printf("otherwise the value into d is undefined\n");
   5165   }
   5166   else
   5167   {
   5168     Iaux = 0;
   5169     for( i=0; i< 4; i++ )
   5170     {
   5171       INTunion1.si = Iaux2.e[i];
   5172       Iaux = Iaux | (INTunion1.ui>>b);
   5173       if (Iaux != Iaux1.e[i])
   5174         err++;
   5175       Iaux = INTunion1.ui<<(32-b);
   5176     }
   5177     if (err)
   5178       printf("Function vec_srl [type integer]           ===> Error\n");
   5179     else
   5180       printf("Function vec_srl [type integer]           ===> OK\n");
   5181   }
   5182 
   5183   err = 0;
   5184   UIaux1.v = vec_srl( UIcons1, UCcons2 );
   5185   UIaux2.v = UIcons1;
   5186   UCaux3.v = UCcons2;
   5187   b = UCaux3.e[15] & 0x7;
   5188   for( i=0; i< 15; i++ )
   5189     if ((UCaux3.e[i] & 0x7)!=b)
   5190       err++;
   5191   if (err)
   5192   {
   5193     printf("The three low-order bits of all byte elements in b must be the same\n");
   5194     printf("otherwise the value into d is undefined\n");
   5195   }
   5196   else
   5197   {
   5198     UIaux = 0;
   5199     for( i=0; i< 4; i++ )
   5200     {
   5201       UIaux = UIaux | (UIaux2.e[i]>>b);
   5202       if (UIaux != UIaux1.e[i])
   5203         err++;
   5204       UIaux = UIaux2.e[i]<<(32-b);
   5205     }
   5206     if (err)
   5207       printf("Function vec_srl [type unsigned int]      ===> Error\n");
   5208     else
   5209       printf("Function vec_srl [type unsigned int]      ===> OK\n");
   5210   }
   5211 
   5212 /*    Function vec_sro    */
   5213   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   5214   err = 0;
   5215   Caux1.v = vec_sro( Ccons3, Ccons1 );
   5216   Caux2.v = Ccons3;
   5217   Caux3.v = Ccons1;
   5218   b = (Caux3.e[15] & 0x78) >>3;
   5219   for( i=0; i< 16; i++ )
   5220   {
   5221     if ((i-b)>=0)
   5222     {
   5223       if (Caux1.e[i] != Caux2.e[i-b])
   5224         err++;
   5225     }
   5226     else
   5227     {
   5228       if (Caux1.e[i] != 0)
   5229         err++;
   5230     }
   5231   }
   5232   if (err)
   5233     printf("Function vec_sro [type char]              ===> Error\n");
   5234   else
   5235     printf("Function vec_sro [type char]              ===> OK\n");
   5236 
   5237   err = 0;
   5238   UCaux1.v = vec_sro( UCcons3, UCcons1 );
   5239   UCaux2.v = UCcons3;
   5240   UCaux3.v  = UCcons1;
   5241   b = (UCaux3.e[15] & 0x78) >>3;
   5242   for( i=0; i< 16; i++ )
   5243   {
   5244     if ((i-b)>=0)
   5245     {
   5246       if (UCaux1.e[i] != UCaux2.e[i-b])
   5247         err++;
   5248     }
   5249     else
   5250     {
   5251       if (UCaux1.e[i] != 0)
   5252         err++;
   5253     }
   5254   }
   5255   if (err)
   5256     printf("Function vec_sro [type unsigned char]     ===> Error\n");
   5257   else
   5258     printf("Function vec_sro [type unsigned char]     ===> OK\n");
   5259 
   5260   err = 0;
   5261   Saux1.v = vec_sro( Scons3, Ccons1 );
   5262   Saux2.v = Scons3;
   5263   Caux3.v = Ccons1;
   5264   b = (Caux3.e[15] & 0x78) >>3;
   5265   for( i=0; i< 16; i++ )
   5266   {
   5267     SHOunion1.ss = Saux1.e[i/2];
   5268     if ((i-b)>=0)
   5269     {
   5270       SHOunion2.ss = Saux2.e[(i-b)/2];
   5271       if (SHOunion1.sc[i%2] != SHOunion2.sc[(i-b)%2])
   5272         err++;
   5273     }
   5274     else
   5275     {
   5276       if (SHOunion1.sc[i%2] != 0)
   5277         err++;
   5278     }
   5279   }
   5280   if (err)
   5281     printf("Function vec_sro [type short]             ===> Error\n");
   5282   else
   5283     printf("Function vec_sro [type short]             ===> OK\n");
   5284 
   5285   err = 0;
   5286   USaux1.v = vec_sro( UScons3, UCcons1 );
   5287   USaux2.v = UScons3;
   5288   UCaux3.v = UCcons1;
   5289   b = (UCaux3.e[15] & 0x78) >>3;
   5290   for( i=0; i< 16; i++ )
   5291   {
   5292     SHOunion1.us = USaux1.e[i/2];
   5293     if ((i-b)>=0)
   5294     {
   5295       SHOunion2.us = USaux2.e[(i-b)/2];
   5296       if (SHOunion1.uc[i%2] != SHOunion2.uc[(i-b)%2])
   5297         err++;
   5298     }
   5299     else
   5300     {
   5301       if (SHOunion1.uc[i%2] != 0)
   5302         err++;
   5303     }
   5304   }
   5305   if (err)
   5306     printf("Function vec_sro [type unsigned short]    ===> Error\n");
   5307   else
   5308     printf("Function vec_sro [type unsigned short]    ===> OK\n");
   5309 
   5310   err = 0;
   5311   Iaux1.v = vec_sro( Icons3, Ccons1 );
   5312   Iaux2.v = Icons3;
   5313   Caux3.v = Ccons1;
   5314   b = (Caux3.e[15] & 0x78) >>3;
   5315   for( i=0; i< 16; i++ )
   5316   {
   5317     INTunion1.si = Iaux1.e[i/4];
   5318     if ((i-b)>=0)
   5319     {
   5320       INTunion2.si = Iaux2.e[(i-b)/4];
   5321       if (INTunion1.sc[i%4] != INTunion2.sc[(i-b)%4])
   5322         err++;
   5323     }
   5324     else
   5325     {
   5326       if (INTunion1.sc[i%4] != 0)
   5327         err++;
   5328     }
   5329   }
   5330   if (err)
   5331     printf("Function vec_sro [type integer]           ===> Error\n");
   5332   else
   5333     printf("Function vec_sro [type integer]           ===> OK\n");
   5334 
   5335   err = 0;
   5336   UIaux1.v = vec_sro( UIcons3, UCcons1 );
   5337   UIaux2.v = UIcons3;
   5338   UCaux3.v = UCcons1;
   5339   b = (UCaux3.e[15] & 0x78) >>3;
   5340   for( i=0; i< 16; i++ )
   5341   {
   5342     INTunion1.ui = UIaux1.e[i/4];
   5343     if ((i-b)>=0)
   5344     {
   5345       INTunion2.ui = UIaux2.e[(i-b)/4];
   5346       if (INTunion1.uc[i%4] != INTunion2.sc[(i-b)%4])
   5347         err++;
   5348     }
   5349     else
   5350     {
   5351       if (INTunion1.uc[i%4] != 0)
   5352         err++;
   5353     }
   5354   }
   5355   if (err)
   5356     printf("Function vec_sro [type unsigned int]      ===> Error\n");
   5357   else
   5358     printf("Function vec_sro [type unsigned int]      ===> OK\n");
   5359 
   5360 #if defined TEST_FLOATS
   5361   err = 0;
   5362   Faux1.v = vec_sro( Fcons3, Ccons1 );
   5363   Faux2.v = Fcons3;
   5364   Caux3.v = Ccons1;
   5365   b = (Caux3.e[15] & 0x78) >>3;
   5366   for( i=0; i< 16; i++ )
   5367   {
   5368     INTunion1.f = Faux1.e[i/4];
   5369     if ((i-b)>=0)
   5370     {
   5371       INTunion2.f = Faux2.e[(i-b)/4];
   5372       if (INTunion1.sc[i%4] != INTunion2.sc[(i-b)%4])
   5373         err++;
   5374     }
   5375     else
   5376     {
   5377       if (INTunion1.sc[i%4] != 0)
   5378         err++;
   5379     }
   5380   }
   5381   if (err)
   5382     printf("Function vec_sro [type float]             ===> Error\n");
   5383   else
   5384     printf("Function vec_sro [type float]             ===> OK\n");
   5385 #endif
   5386 
   5387 /*    Function vec_st    */
   5388   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   5389   err = 0;
   5390   UCaux1.v = UCcons1;
   5391   vec_st( UCaux1.v, 0, UCmem );
   5392   Iaux = 1;
   5393   for ( i=0; i< 16; i++ )
   5394   {
   5395     Iaux = Iaux && (UCaux1.e[i]==UCmem[i]);
   5396   }
   5397   if (Iaux!=1) err++;
   5398 
   5399   if (err)
   5400     printf("Function vec_st [type unsigned char]      ===> Error\n");
   5401   else
   5402     printf("Function vec_st [type unsigned char]      ===> OK\n");
   5403 
   5404   err = 0;
   5405   Caux1.v = Ccons1;
   5406   vec_st( Caux1.v, 0, Cmem );
   5407   Iaux = 1;
   5408   for ( i=0; i< 16; i++ )
   5409   {
   5410     Iaux = Iaux && (Caux1.e[i]==Cmem[i]);
   5411   }
   5412   if (Iaux!=1) err++;
   5413 
   5414   if (err)
   5415     printf("Function vec_st [type char]               ===> Error\n");
   5416   else
   5417     printf("Function vec_st [type char]               ===> OK\n");
   5418 
   5419   err = 0;
   5420   USaux1.v = UScons3;
   5421   vec_st( USaux1.v, 0, USmem );
   5422   Iaux = 1;
   5423   for ( i=0; i< 8; i++ )
   5424   {
   5425     Iaux = Iaux && (USaux1.e[i]==USmem[i]);
   5426   }
   5427   if (Iaux!=1) err++;
   5428 
   5429   if (err)
   5430     printf("Function vec_st [type unsigned short]     ===> Error\n");
   5431   else
   5432     printf("Function vec_st [type unsigned short]     ===> OK\n");
   5433 
   5434   err = 0;
   5435   Saux1.v = Scons1;
   5436   vec_st( Saux1.v, 0, Smem );
   5437   Iaux = 1;
   5438   for ( i=0; i< 8; i++ )
   5439   {
   5440     Iaux = Iaux && (Saux1.e[i]==Smem[i]);
   5441   }
   5442   if (Iaux!=1) err++;
   5443 
   5444   if (err)
   5445     printf("Function vec_st [type short]              ===> Error\n");
   5446   else
   5447     printf("Function vec_st [type short]              ===> OK\n");
   5448 
   5449   err = 0;
   5450   UIaux1.v = UIcons1;
   5451   vec_st( UIaux1.v, 0, UImem );
   5452   Iaux = 1;
   5453   for ( i=0; i< 4; i++ )
   5454   {
   5455     Iaux = Iaux && (UIaux1.e[i]==UImem[i]);
   5456   }
   5457   if (Iaux!=1) err++;
   5458 
   5459   if (err)
   5460     printf("Function vec_st [type unsigned int]       ===> Error\n");
   5461   else
   5462     printf("Function vec_st [type unsigned int]       ===> OK\n");
   5463 
   5464   err = 0;
   5465   Iaux1.v = Icons1;
   5466   vec_st( Iaux1.v, 0, Imem );
   5467   Iaux = 1;
   5468   for ( i=0; i< 4; i++ )
   5469   {
   5470     Iaux = Iaux && (Iaux1.e[i]==Imem[i]);
   5471   }
   5472   if (Iaux!=1) err++;
   5473 
   5474   if (err)
   5475     printf("Function vec_st [type int]                ===> Error\n");
   5476   else
   5477     printf("Function vec_st [type int]                ===> OK\n");
   5478 
   5479 #if defined TEST_FLOATS
   5480   err = 0;
   5481   Faux1.v = Fcons1;
   5482   vec_st( Faux1.v, 0, Fmem );
   5483   Iaux = 1;
   5484   for ( i=0; i< 4; i++ )
   5485   {
   5486     Iaux = Iaux && (Faux1.e[i]==Fmem[i]);
   5487   }
   5488   if (Iaux!=1) err++;
   5489 
   5490   if (err)
   5491     printf("Function vec_st [type float]              ===> Error\n");
   5492   else
   5493     printf("Function vec_st [type float]              ===> OK\n");
   5494 #endif
   5495 
   5496 /*    Function vec_ste    */
   5497   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   5498   err = 0;
   5499   b = 11;
   5500   UCaux1.v = UCcons1;
   5501   vec_ste( UCaux1.v, b, UCmem );
   5502   i = b;
   5503   if (UCaux1.e[i]!=UCmem[i]) err++;
   5504 
   5505   if (err)
   5506     printf("Function vec_ste [type unsigned char]     ===> Error\n");
   5507   else
   5508     printf("Function vec_ste [type unsigned char]     ===> OK\n");
   5509 
   5510   err = 0;
   5511   b = 11;
   5512   Caux1.v = Ccons1;
   5513   vec_ste( Caux1.v, b, Cmem );
   5514   i = b;
   5515   if (Caux1.e[i]!=Cmem[i]) err++;
   5516 
   5517   if (err)
   5518     printf("Function vec_ste [type char]              ===> Error\n");
   5519   else
   5520     printf("Function vec_ste [type char]              ===> OK\n");
   5521 
   5522   err = 0;
   5523   b = 11;
   5524   USaux1.v = UScons1;
   5525   vec_ste( USaux1.v, b, USmem );
   5526   i = b/2;
   5527   if (USaux1.e[i]!=USmem[i]) err++;
   5528   if (err)
   5529     printf("Function vec_ste [type unsigned short]    ===> Error\n");
   5530   else
   5531     printf("Function vec_ste [type unsigned short]    ===> OK\n");
   5532 
   5533   err = 0;
   5534   b = 11;
   5535   Saux1.v = Scons1;
   5536   vec_ste( Saux1.v, b, Smem );
   5537   i = b/2;
   5538   if (Saux1.e[i]!=Smem[i]) err++;
   5539   if (err)
   5540     printf("Function vec_ste [type short]             ===> Error\n");
   5541   else
   5542     printf("Function vec_ste [type short]             ===> OK\n");
   5543 
   5544   err = 0;
   5545   b = 11;
   5546   UIaux1.v = UIcons1;
   5547   vec_ste( UIaux1.v, b, UImem );
   5548   i = b/4;
   5549   if (UIaux1.e[i]!=UImem[i]) err++;
   5550   if (err)
   5551     printf("Function vec_ste [type unsigned int]      ===> Error\n");
   5552   else
   5553     printf("Function vec_ste [type unsigned int]      ===> OK\n");
   5554 
   5555   err = 0;
   5556   b = 11;
   5557   Iaux1.v = Icons1;
   5558   vec_ste( Iaux1.v, b, Imem );
   5559   i = b/4;
   5560   if (Iaux1.e[i]!=Imem[i]) err++;
   5561   if (err)
   5562     printf("Function vec_ste [type int]               ===> Error\n");
   5563   else
   5564     printf("Function vec_ste [type int]               ===> OK\n");
   5565 
   5566 #if defined TEST_FLOATS
   5567   err = 0;
   5568   b = 11;
   5569   Faux1.v = Fcons1;
   5570   vec_ste( Faux1.v, b, Fmem );
   5571   i = b/4;
   5572   if (Faux1.e[i]!=Fmem[i]) err++;
   5573   if (err)
   5574     printf("Function vec_ste [type float]             ===> Error\n");
   5575   else
   5576     printf("Function vec_ste [type float]             ===> OK\n");
   5577 #endif
   5578 
   5579 #if 0
   5580 /*    Function vec_stl    */
   5581   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   5582   err = 0;
   5583   UCaux1.v = UCcons1;
   5584   vec_stl( UCaux1.v, 0, UCmem );
   5585   Iaux = 1;
   5586   for ( i=0; i< 16; i++ )
   5587   {
   5588     Iaux = Iaux && (UCaux1.e[i]==UCmem[i]);
   5589   }
   5590   if (Iaux!=1) err++;
   5591 
   5592   if (err)
   5593     printf("Function vec_stl [type unsigned char]     ===> Error\n");
   5594   else
   5595     printf("Function vec_stl [type unsigned char]     ===> OK\n");
   5596 
   5597   err = 0;
   5598   Caux1.v = Ccons1;
   5599   vec_stl( Caux1.v, 0, Cmem );
   5600   Iaux = 1;
   5601   for ( i=0; i< 16; i++ )
   5602   {
   5603     Iaux = Iaux && (Caux1.e[i]==Cmem[i]);
   5604   }
   5605   if (Iaux!=1) err++;
   5606 
   5607   if (err)
   5608     printf("Function vec_stl [type char]              ===> Error\n");
   5609   else
   5610     printf("Function vec_stl [type char]              ===> OK\n");
   5611 
   5612   err = 0;
   5613   USaux1.v = UScons3;
   5614   vec_stl( USaux1.v, 0, USmem );
   5615   Iaux = 1;
   5616   for ( i=0; i< 8; i++ )
   5617   {
   5618     Iaux = Iaux && (USaux1.e[i]==USmem[i]);
   5619   }
   5620   if (Iaux!=1) err++;
   5621 
   5622   if (err)
   5623     printf("Function vec_stl [type unsigned short]    ===> Error\n");
   5624   else
   5625     printf("Function vec_stl [type unsigned short]    ===> OK\n");
   5626 
   5627   err = 0;
   5628   Saux1.v = Scons1;
   5629   vec_stl( Saux1.v, 0, Smem );
   5630   Iaux = 1;
   5631   for ( i=0; i< 8; i++ )
   5632   {
   5633     Iaux = Iaux && (Saux1.e[i]==Smem[i]);
   5634   }
   5635   if (Iaux!=1) err++;
   5636 
   5637   if (err)
   5638     printf("Function vec_stl [type short]             ===> Error\n");
   5639   else
   5640     printf("Function vec_stl [type short]             ===> OK\n");
   5641 
   5642   err = 0;
   5643   UIaux1.v = UIcons1;
   5644   vec_stl( UIaux1.v, 0, UImem );
   5645   Iaux = 1;
   5646   for ( i=0; i< 4; i++ )
   5647   {
   5648     Iaux = Iaux && (UIaux1.e[i]==UImem[i]);
   5649   }
   5650   if (Iaux!=1) err++;
   5651 
   5652   if (err)
   5653     printf("Function vec_stl [type unsigned int]      ===> Error\n");
   5654   else
   5655     printf("Function vec_stl [type unsigned int]      ===> OK\n");
   5656 
   5657   err = 0;
   5658   Iaux1.v = Icons1;
   5659   vec_stl( Iaux1.v, 0, Imem );
   5660   Iaux = 1;
   5661   for ( i=0; i< 4; i++ )
   5662   {
   5663     Iaux = Iaux && (Iaux1.e[i]==Imem[i]);
   5664   }
   5665   if (Iaux!=1) err++;
   5666 
   5667   if (err)
   5668     printf("Function vec_stl [type int]               ===> Error\n");
   5669   else
   5670     printf("Function vec_stl [type int]               ===> OK\n");
   5671 
   5672 #if defined TEST_FLOATS
   5673   err = 0;
   5674   Faux1.v = Fcons1;
   5675   vec_stl( Faux1.v, 0, Fmem );
   5676   Iaux = 1;
   5677   for ( i=0; i< 4; i++ )
   5678   {
   5679     Iaux = Iaux && (Faux1.e[i]==Fmem[i]);
   5680   }
   5681   if (Iaux!=1) err++;
   5682 
   5683   if (err)
   5684     printf("Function vec_stl [type float]             ===> Error\n");
   5685   else
   5686     printf("Function vec_stl [type float]             ===> OK\n");
   5687 #endif
   5688 #endif // #if 0
   5689 
   5690   /* Free dynamic vector variables */
   5691   free_vec( UCmem );
   5692   free_vec( Cmem );
   5693   free_vec( USmem );
   5694   free_vec( Smem );
   5695   free_vec( UImem );
   5696   free_vec( Imem );
   5697 #if defined TEST_FLOATS
   5698   free_vec( Fmem );
   5699 #endif
   5700 
   5701   return 0;
   5702 }
   5703 
   5704 
   5705 
   5706 
   5707 int part4( )
   5708 {
   5709   TvecChar      Caux1,  Caux2,  Caux3;//,  Caux4;
   5710   TvecUChar     UCaux1, UCaux2, UCaux3;//, UCaux4;
   5711   TvecShort     Saux1,  Saux2,  Saux3;//,  Saux4;
   5712   TvecUShort    USaux1, USaux2, USaux3;//, USaux4;
   5713   TvecInt       Iaux1,  Iaux2,  Iaux3;//,  Iaux4;
   5714   TvecUInt      UIaux1, UIaux2, UIaux3;//, UIaux4;
   5715 #if defined TEST_FLOATS
   5716   TvecFloat     Faux1,  Faux2,  Faux3;//,  Faux4;
   5717 #endif
   5718 
   5719   int                  i, err, j;//, b, bAux;
   5720 //  signed   int         Ivec1, Ivec2, Ivec3;
   5721 //  signed   short       *Svec1;
   5722 //  unsigned int         *UIvec1;
   5723 //  unsigned short       *USvec1;
   5724 //  unsigned char        *UCvec1;
   5725 #if defined TEST_FLOATS
   5726 //  float                *Fvec1;
   5727 #endif
   5728 
   5729   /* For saturated rutines */
   5730   long long int         LLaux;
   5731 
   5732 #if defined TEST_FLOATS
   5733   float                 Faux;
   5734 #endif
   5735   signed   int          Iaux;//, I1, I2;
   5736   unsigned int          UIaux;//, UI1, UI2;
   5737   signed   short        Saux;
   5738   unsigned short        USaux;
   5739   signed   char         Caux;
   5740   unsigned char         UCaux;
   5741 
   5742 /*
   5743   union
   5744   {
   5745     float          f;
   5746     signed   int   si;
   5747     unsigned int   ui;
   5748     signed   short ss[2];
   5749     unsigned short us[2];
   5750     signed   char  sc[4];
   5751     unsigned char  uc[4];
   5752   } INTunion1, INTunion2;
   5753 
   5754   union
   5755   {
   5756     signed   short  ss;
   5757     unsigned short  us;
   5758     signed   char   sc[2];
   5759     unsigned char   uc[2];
   5760   } SHOunion1, SHOunion2;
   5761 */
   5762 
   5763 #if defined (GCC_COMPILER)
   5764   vector signed char    Ccons1   = (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   5765   vector signed char    Ccons2   = (vector signed char){1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
   5766   vector signed char    Ccons3   = (vector signed char){-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127};
   5767   vector unsigned char  UCcons1  = (vector unsigned char){248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7};
   5768   vector unsigned char  UCcons2  = (vector unsigned char){2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
   5769   vector unsigned char  UCcons3  = (vector unsigned char){1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8};
   5770   vector signed short   Scons1   = (vector signed short){-4, -3, -2, -1, 0, 1, 2, 3};
   5771   vector signed short   Scons2   = (vector signed short){-32768, 10000, 1, 1, 1, 1, -10000, -10000};
   5772   vector signed short   Scons3   = (vector signed short){-32768, 32767, -32768, 32767, -32768, 32767, -32768, 32767};
   5773   vector unsigned short UScons1  = (vector unsigned short){65532, 65533, 65534, 65535, 0, 1, 2, 3};
   5774   vector unsigned short UScons2  = (vector unsigned short){1, 1, 1, 1, 1, 1, 1, 1};
   5775   vector unsigned short UScons3  = (vector unsigned short){1, 2, 3, 4, 1, 2, 3, 4};
   5776   vector signed int     Icons1   = (vector signed int){-4, -1, 1, 4};
   5777   vector signed int     Icons2   = (vector signed int){1, 1, 1, 1};
   5778   vector signed int     Icons3   = (vector signed int){0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF};
   5779   vector unsigned int   UIcons1  = (vector unsigned int){0xFFFFFFFE, 0xFFFFFFFF, 0, 1};
   5780   vector unsigned int   UIcons2  = (vector unsigned int){1, 1, 1, 1};
   5781   vector unsigned int   UIcons3  = (vector unsigned int){1, 2, 1, 2};
   5782 
   5783 #if defined TEST_FLOATS
   5784   vector float          Fcons1   = (vector float){-1.5, 1.0, 0.5, -3.999};
   5785   vector float          Fcons2   = (vector float){1.0, 1.0, 1.0, 1.0};
   5786   vector float          Fcons3   = (vector float){100000000000.0, 1.0, -1.0, -1234567890.0};
   5787 #endif
   5788 
   5789 #elif defined (MAC_COMPILER) || defined(XLC_COMPILER)
   5790   vector signed char    Ccons1   = (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   5791   vector signed char    Ccons2   = (vector signed char)(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
   5792   vector signed char    Ccons3   = (vector signed char)(-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127);
   5793   vector unsigned char  UCcons1  = (vector unsigned char)(248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7);
   5794   vector unsigned char  UCcons2  = (vector unsigned char)(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
   5795   vector unsigned char  UCcons3  = (vector unsigned char)(1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8);
   5796   vector signed short   Scons1   = (vector signed short)(-4, -3, -2, -1, 0, 1, 2, 3);
   5797   vector signed short   Scons2   = (vector signed short)(-32768, 10000, 1, 1, 1, 1, -10000, -10000);
   5798   vector signed short   Scons3   = (vector signed short)(-32768, 32767, -32768, 32767, -32768, 32767, -32768, 32767);
   5799   vector unsigned short UScons1  = (vector unsigned short)(65532, 65533, 65534, 65535, 0, 1, 2, 3);
   5800   vector unsigned short UScons2  = (vector unsigned short)(1, 1, 1, 1, 1, 1, 1, 1);
   5801   vector unsigned short UScons3  = (vector unsigned short)(1, 2, 3, 4, 1, 2, 3, 4);
   5802   vector signed int     Icons1   = (vector signed int)(-4, -1, 1, 4);
   5803   vector signed int     Icons2   = (vector signed int)(1, 1, 1, 1);
   5804   vector signed int     Icons3   = (vector signed int)(0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF);
   5805   vector unsigned int   UIcons1  = (vector unsigned int)(0xFFFFFFFE, 0xFFFFFFFF, 0, 1);
   5806   vector unsigned int   UIcons2  = (vector unsigned int)(1, 1, 1, 1);
   5807   vector unsigned int   UIcons3  = (vector unsigned int)(1, 2, 1, 2);
   5808 
   5809 #if defined TEST_FLOATS
   5810   vector float          Fcons1   = (vector float)(-1.5, 1.0, 0.5, -3.999);
   5811   vector float          Fcons2   = (vector float)(1.0, 1.0, 1.0, 1.0);
   5812   vector float          Fcons3   = (vector float)(100000000000.0, 1.0, -1.0, -1234567890.0);
   5813 #endif
   5814 
   5815 #endif
   5816 
   5817 
   5818 /*    Function vec_sub    */
   5819   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   5820   err = 0;
   5821   Caux1.v = vec_sub( Ccons1, Ccons2 );
   5822   Caux2.v = Ccons1;
   5823   Caux3.v = Ccons2;
   5824   for( i=0; i< 16; i++ )
   5825   {
   5826     Caux = Caux2.e[i] - Caux3.e[i];
   5827     if (Caux1.e[i] != Caux)
   5828         err++;
   5829   }
   5830   if (err)
   5831     printf("Function vec_sub [type char]              ===> Error\n");
   5832   else
   5833     printf("Function vec_sub [type char]              ===> OK\n");
   5834 
   5835   err = 0;
   5836   UCaux1.v = vec_sub( UCcons1, UCcons2 );
   5837   UCaux2.v = UCcons1;
   5838   UCaux3.v = UCcons2;
   5839   for( i=0; i< 16; i++ )
   5840   {
   5841     UCaux = UCaux2.e[i] - UCaux3.e[i];
   5842     if (UCaux1.e[i] != UCaux)
   5843         err++;
   5844   }
   5845   if (err)
   5846     printf("Function vec_sub [type unsigned char]     ===> Error\n");
   5847   else
   5848     printf("Function vec_sub [type unsigned char]     ===> OK\n");
   5849 
   5850   err = 0;
   5851   Saux1.v = vec_sub( Scons1, Scons2 );
   5852   Saux2.v = Scons1;
   5853   Saux3.v = Scons2;
   5854   for( i=0; i< 8; i++ )
   5855   {
   5856     Saux = Saux2.e[i] - Saux3.e[i];
   5857     if (Saux1.e[i] != Saux)
   5858         err++;
   5859   }
   5860   if (err)
   5861     printf("Function vec_sub [type short]             ===> Error\n");
   5862   else
   5863     printf("Function vec_sub [type short]             ===> OK\n");
   5864 
   5865   err = 0;
   5866   USaux1.v = vec_sub( UScons1, UScons2 );
   5867   USaux2.v = UScons1;
   5868   USaux3.v = UScons2;
   5869   for( i=0; i< 8; i++ )
   5870   {
   5871     USaux = USaux2.e[i] - USaux3.e[i];
   5872     if (USaux1.e[i] != USaux)
   5873         err++;
   5874   }
   5875   if (err)
   5876     printf("Function vec_sub [type unsigned short]    ===> Error\n");
   5877   else
   5878     printf("Function vec_sub [type unsigned short]    ===> OK\n");
   5879 
   5880   err = 0;
   5881   Iaux1.v = vec_sub( Icons1, Icons2 );
   5882   Iaux2.v = Icons1;
   5883   Iaux3.v = Icons2;
   5884   for( i=0; i< 4; i++ )
   5885   {
   5886     Iaux = Iaux2.e[i] - Iaux3.e[i];
   5887     if (Iaux1.e[i] != Iaux)
   5888         err++;
   5889   }
   5890   if (err)
   5891     printf("Function vec_sub [type integer]           ===> Error\n");
   5892   else
   5893     printf("Function vec_sub [type integer]           ===> OK\n");
   5894 
   5895   err = 0;
   5896   UIaux1.v = vec_sub( UIcons1, UIcons2 );
   5897   UIaux2.v = UIcons1;
   5898   UIaux3.v = UIcons2;
   5899   for( i=0; i< 4; i++ )
   5900   {
   5901     UIaux = UIaux2.e[i] - UIaux3.e[i];
   5902     if (UIaux1.e[i] != UIaux)
   5903         err++;
   5904   }
   5905   if (err)
   5906     printf("Function vec_sub [type unsigned int]      ===> Error\n");
   5907   else
   5908     printf("Function vec_sub [type unsigned int]      ===> OK\n");
   5909 
   5910 #if defined TEST_FLOATS
   5911   err = 0;
   5912   Faux1.v = vec_sub( Fcons1, Fcons2 );
   5913   Faux2.v = Fcons1;
   5914   Faux3.v = Fcons2;
   5915   for( i=0; i< 4; i++ )
   5916   {
   5917     Faux = Faux2.e[i] - Faux3.e[i];
   5918     if (Faux1.e[i] != Faux)
   5919         err++;
   5920   }
   5921   if (err)
   5922     printf("Function vec_sub [type float]             ===> Error\n");
   5923   else
   5924     printf("Function vec_sub [type float]             ===> OK\n");
   5925 #endif
   5926 
   5927 /*    Function vec_subc    */
   5928   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   5929   err = 0;
   5930   UIaux1.v = vec_subc( UIcons2, UIcons3 );
   5931   UIaux2.v = UIcons2;
   5932   UIaux3.v = UIcons3;
   5933   for( i=0; i< 4; i++ )
   5934   {
   5935     if (UIaux3.e[i]>UIaux2.e[i])
   5936     {
   5937       if (UIaux1.e[i] != 0)
   5938         err++;
   5939     }
   5940     else
   5941     {
   5942       if (UIaux1.e[i] != 1)
   5943         err++;
   5944     }
   5945   }
   5946   if (err)
   5947     printf("Function vec_subc [type unsigned int]     ===> Error\n");
   5948   else
   5949     printf("Function vec_subc [type unsigned int]     ===> OK\n");
   5950 
   5951 /*    Function vec_subs    */
   5952   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   5953   err = 0;
   5954   Caux1.v = vec_subs( Ccons1, Ccons3 );
   5955   Caux2.v = Ccons1;
   5956   Caux3.v = Ccons3;
   5957   for( i=0; i< 16; i++ )
   5958   {
   5959     Caux = (signed char)Caux2.e[i]-Caux3.e[i];
   5960     if ((Caux2.e[i]>=0)&&(Caux3.e[i]<0))
   5961     {
   5962       if (Caux< Caux2.e[i])
   5963         Caux=0x7F;
   5964     }
   5965     else if ((Caux2.e[i]<0)&&(Caux3.e[i]>0))
   5966     {
   5967       if (Caux> Caux2.e[i])
   5968         Caux=0x80;
   5969     }
   5970     if (Caux1.e[i] != Caux)
   5971       err++;
   5972   }
   5973   if (err)
   5974     printf("Function vec_subs [type char]             ===> Error\n");
   5975   else
   5976     printf("Function vec_subs [type char]             ===> OK\n");
   5977 
   5978   err = 0;
   5979   UCaux1.v = vec_subs( UCcons1, UCcons3 );
   5980   UCaux2.v = UCcons1;
   5981   UCaux3.v = UCcons3;
   5982   for( i=0; i< 16; i++ )
   5983   {
   5984     UCaux = (unsigned char)(UCaux2.e[i]-UCaux3.e[i]);
   5985     if (UCaux> UCaux2.e[i])
   5986       UCaux=0;
   5987     if (UCaux1.e[i] != UCaux)
   5988       err++;
   5989   }
   5990   if (err)
   5991     printf("Function vec_subs [type unsigned char]    ===> Error\n");
   5992   else
   5993     printf("Function vec_subs [type unsigned char]    ===> OK\n");
   5994 
   5995   err = 0;
   5996   Saux1.v = vec_subs( Scons1, Scons3 );
   5997   Saux2.v = Scons1;
   5998   Saux3.v = Scons3;
   5999   for( i=0; i< 8; i++ )
   6000   {
   6001     Saux = (signed short)(Saux2.e[i] - Saux3.e[i]);
   6002     if ((Saux2.e[i]>=0)&&(Saux3.e[i]<0))
   6003     {
   6004       if (Saux< Saux2.e[i])
   6005         Saux=0x7FFF;
   6006     }
   6007     else if ((Saux2.e[i]<0)&&(Saux3.e[i]>0))
   6008     {
   6009       if (Saux> Saux2.e[i])
   6010         Saux=0x8000;
   6011     }
   6012     if (Saux1.e[i] != Saux)
   6013       err++;
   6014   }
   6015   if (err)
   6016     printf("Function vec_subs [type short]            ===> Error\n");
   6017   else
   6018     printf("Function vec_subs [type short]            ===> OK\n");
   6019 
   6020   err = 0;
   6021   USaux1.v = vec_subs( UScons1, UScons3 );
   6022   USaux2.v = UScons1;
   6023   USaux3.v = UScons3;
   6024   for( i=0; i< 8; i++ )
   6025   {
   6026     USaux = (unsigned short)(USaux2.e[i] - USaux3.e[i]);
   6027     if (USaux> USaux2.e[i])
   6028       USaux=0x0;
   6029     if (USaux1.e[i] != USaux)
   6030       err++;
   6031   }
   6032   if (err)
   6033     printf("Function vec_subs [type unsigned short]   ===> Error\n");
   6034   else
   6035     printf("Function vec_subs [type unsigned short]   ===> OK\n");
   6036 
   6037 
   6038   err = 0;
   6039   Iaux1.v = vec_subs( Icons1, Icons3 );
   6040   Iaux2.v = Icons1;
   6041   Iaux3.v = Icons3;
   6042   for( i=0; i< 4; i++ )
   6043   {
   6044     Iaux = (signed int)(Iaux2.e[i] - Iaux3.e[i]);
   6045     if ((Iaux2.e[i]>=0)&&(Iaux3.e[i]<0))
   6046     {
   6047       if (Iaux< Iaux2.e[i])
   6048         Iaux=0x7FFFFFFF;
   6049     }
   6050     else if ((Iaux2.e[i]<0)&&(Iaux3.e[i]>0))
   6051     {
   6052       if (Iaux> Iaux2.e[i])
   6053       {
   6054         printf("%d > %d\n", Iaux, Iaux2.e[i]);
   6055         Iaux=0x80000000;
   6056       }
   6057     }
   6058     if (Iaux1.e[i] != Iaux)
   6059       err++;
   6060   }
   6061   if (err)
   6062     printf("Function vec_subs [type integer]          ===> Error\n");
   6063   else
   6064     printf("Function vec_subs [type integer]          ===> OK\n");
   6065 
   6066   err = 0;
   6067   UIaux1.v = vec_subs( UIcons1, UIcons3 );
   6068   UIaux2.v = UIcons1;
   6069   UIaux3.v = UIcons3;
   6070   for( i=0; i< 4; i++ )
   6071   {
   6072     UIaux = (unsigned int)(UIaux2.e[i] - UIaux3.e[i]);
   6073     if (UIaux> UIaux2.e[i])
   6074       UIaux=0x0;
   6075     if (UIaux1.e[i] != UIaux)
   6076       err++;
   6077   }
   6078   if (err)
   6079     printf("Function vec_subs [type unsigned int]     ===> Error\n");
   6080   else
   6081     printf("Function vec_subs [type unsigned int]     ===> OK\n");
   6082 
   6083 /*    Function vec_sum4s    */
   6084   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   6085   err = 0;
   6086   Iaux1.v = vec_sum4s( Ccons2, Icons2 );
   6087   Caux1.v = Ccons2;
   6088   Iaux2.v = Icons2;
   6089   for( i=0; i< 4; i++ )
   6090   {
   6091     Iaux = Iaux2.e[i];
   6092     for( j=0; j< 4; j++ )
   6093       Iaux = Iaux + Caux1.e[4*i+j];
   6094     if (Iaux1.e[i] != Iaux)
   6095         err++;
   6096   }
   6097   if (err)
   6098     printf("Function vec_sum4s [type char]            ===> Error\n");
   6099   else
   6100     printf("Function vec_sum4s [type char]            ===> OK\n");
   6101 
   6102   err = 0;
   6103   UIaux1.v = vec_sum4s( UCcons2, UIcons2 );
   6104   UCaux1.v = UCcons2;
   6105   UIaux2.v = UIcons2;
   6106   for( i=0; i< 4; i++ )
   6107   {
   6108     UIaux = UIaux2.e[i];
   6109     for( j=0; j< 4; j++ )
   6110       UIaux = UIaux + UCaux1.e[4*i+j];
   6111     if (UIaux1.e[i] != UIaux)
   6112         err++;
   6113   }
   6114   if (err)
   6115     printf("Function vec_sum4s [type unsigned char]   ===> Error\n");
   6116   else
   6117     printf("Function vec_sum4s [type unsigned char]   ===> OK\n");
   6118 
   6119   err = 0;
   6120   Iaux1.v = vec_sum4s( Scons2, Icons2 );
   6121   Saux1.v = Scons2;
   6122   Iaux2.v = Icons2;
   6123   for( i=0; i< 4; i++ )
   6124   {
   6125     Iaux = Iaux2.e[i];
   6126     for( j=0; j< 2; j++ )
   6127       Iaux = Iaux + Saux1.e[2*i+j];
   6128     if (Iaux1.e[i] != Iaux)
   6129         err++;
   6130   }
   6131   if (err)
   6132     printf("Function vec_sum4s [type short]           ===> Error\n");
   6133   else
   6134     printf("Function vec_sum4s [type short]           ===> OK\n");
   6135 
   6136 /*    Function vec_sum2s    */
   6137   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   6138   err = 0;
   6139   Iaux1.v = Icons1;
   6140   Iaux2.v = Icons3;
   6141   Iaux3.v = vec_sum2s( Iaux1.v, Iaux2.v );
   6142   for( i=0; i< 2; i++ )
   6143   {
   6144     LLaux = (long long int) Iaux1.e[2*i] + Iaux1.e[(2*i)+1] + Iaux2.e[(2*i)+1];
   6145     if (LLaux > INT_MAX)
   6146     {
   6147       Iaux=0x7FFFFFFF;  /* INT_MAX */
   6148     }
   6149     else if (LLaux < INT_MIN)
   6150     {
   6151       Iaux=0x80000000;  /* INT_MIN */
   6152     }
   6153     else Iaux = (signed int) LLaux;
   6154 
   6155     if ((Iaux3.e[2*i] != 0) || (Iaux3.e[(2*i)+1] != Iaux))
   6156       err++;
   6157   }
   6158   if (err)
   6159     printf("Function vec_sum2s [type integer]         ===> Error\n");
   6160   else
   6161     printf("Function vec_sum2s [type integer]         ===> OK\n");
   6162 
   6163 /*    Function vec_sums    */
   6164   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   6165   err = 0;
   6166 
   6167   /* Not saturated test */
   6168   Iaux1.v = Icons1;
   6169   Iaux2.v = Icons3;
   6170   Iaux3.v = vec_sums( Iaux1.v, Iaux2.v );
   6171 
   6172   LLaux = (long long int) Iaux1.e[0] + Iaux1.e[1] + Iaux1.e[2] + Iaux1.e[3] + Iaux2.e[3];
   6173   if (LLaux > INT_MAX)
   6174   {
   6175     Iaux=0x7FFFFFFF;  /* INT_MAX */
   6176   }
   6177   else if (LLaux < INT_MIN)
   6178   {
   6179     Iaux=0x80000000;  /* INT_MIN */
   6180   }
   6181   else Iaux = (signed int) LLaux;
   6182 
   6183   if ((Iaux3.e[0] != 0) || (Iaux3.e[1] != 0) || (Iaux3.e[2] != 0) ||
   6184       (Iaux3.e[3] != Iaux))
   6185     err++;
   6186 
   6187   /* Saturated test */
   6188   Iaux1.v = Icons2;
   6189   Iaux2.v = Icons3;
   6190   Iaux3.v = vec_sums( Iaux1.v, Iaux2.v );
   6191 
   6192   LLaux = (long long int) Iaux1.e[0] + Iaux1.e[1] + Iaux1.e[2] + Iaux1.e[3] + Iaux2.e[3];
   6193   if (LLaux > INT_MAX)
   6194   {
   6195     Iaux=0x7FFFFFFF;  /* INT_MAX */
   6196   }
   6197   else if (LLaux < INT_MIN)
   6198   {
   6199     Iaux=0x80000000;  /* INT_MIN */
   6200   }
   6201   else Iaux = (signed int) LLaux;
   6202 
   6203   if ((Iaux3.e[0] != 0) || (Iaux3.e[1] != 0) || (Iaux3.e[2] != 0) ||
   6204       (Iaux3.e[3] != Iaux))
   6205     err++;
   6206 
   6207   if (err)
   6208     printf("Function vec_sums [type integer]          ===> Error\n");
   6209   else
   6210     printf("Function vec_sums [type integer]          ===> OK\n");
   6211 
   6212 #if defined TEST_FLOATS
   6213 /*    Function vec_trunc    */
   6214   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   6215   err = 0;
   6216   Faux1.v = Fcons1;
   6217   Faux2.v = vec_trunc( Faux1.v );
   6218   for( i=0; i< 4; i++ )
   6219   {
   6220     Faux = truncf(Faux1.e[i]);
   6221     if (Faux2.e[i] != Faux)
   6222       err++;
   6223   }
   6224   if (err)
   6225     printf("Function vec_trunc [type float]           ===> Error\n");
   6226   else
   6227     printf("Function vec_trunc [type float]           ===> OK\n");
   6228 #endif
   6229 
   6230 /*    Function vec_unpackh    */
   6231   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   6232   err = 0;
   6233   Caux1.v = Ccons1;
   6234   Saux1.v = vec_unpackh( Caux1.v );
   6235   for ( i=0; i< 8; i++ )
   6236   {
   6237     Saux = (signed short)Caux1.e[i];
   6238     if (Saux1.e[i] != Saux)
   6239       err++;
   6240   }
   6241 
   6242   if (err)
   6243     printf("Function vec_unpackh [type short-char]    ===> Error\n");
   6244   else
   6245     printf("Function vec_unpackh [type short-char]    ===> OK\n");
   6246 
   6247   err = 0;
   6248   Saux1.v = Scons3;
   6249   Iaux1.v = vec_unpackh( Saux1.v );
   6250   for ( i=0; i< 4; i++ )
   6251   {
   6252     Iaux = (signed int)Saux1.e[i];
   6253     if (Iaux1.e[i] != Iaux)
   6254       err++;
   6255   }
   6256 
   6257   if (err)
   6258     printf("Function vec_unpackh [type int-short]     ===> Error\n");
   6259   else
   6260     printf("Function vec_unpackh [type int-short]     ===> OK\n");
   6261 
   6262 /*    Function vec_unpackl    */
   6263   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   6264   err = 0;
   6265   Caux1.v = Ccons3;
   6266   Saux1.v = vec_unpackl( Caux1.v );
   6267   for ( i=0; i< 8; i++ )
   6268   {
   6269     Saux = (signed short)Caux1.e[i+8];
   6270     if (Saux1.e[i] != Saux)
   6271       err++;
   6272   }
   6273 
   6274   if (err)
   6275     printf("Function vec_unpackl [type short-char]    ===> Error\n");
   6276   else
   6277     printf("Function vec_unpackl [type short-char]    ===> OK\n");
   6278 
   6279   err = 0;
   6280   Saux1.v = Scons1;
   6281   Iaux1.v = vec_unpackl( Saux1.v );
   6282   for ( i=0; i< 4; i++ )
   6283   {
   6284     Iaux = (signed int)Saux1.e[i+4];
   6285     if (Iaux1.e[i] != Iaux)
   6286       err++;
   6287   }
   6288 
   6289   if (err)
   6290     printf("Function vec_unpackl [type int-short]     ===> Error\n");
   6291   else
   6292     printf("Function vec_unpackl [type int-short]     ===> OK\n");
   6293 
   6294 /*    Function vec_xor    */
   6295   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   6296   err = 0;
   6297   UCaux1.v = UCcons1;
   6298   UCaux2.v = UCcons3;
   6299   UCaux3.v = vec_xor( UCaux1.v, UCaux2.v );
   6300   for( i=0; i< 16; i++ )
   6301   {
   6302     UCaux = UCaux1.e[i] ^ UCaux2.e[i];
   6303     if (UCaux3.e[i] != UCaux)
   6304       err++;
   6305   }
   6306   if (err)
   6307     printf("Function vec_xor [type unsigned char]     ===> Error\n");
   6308   else
   6309     printf("Function vec_xor [type unsigned char]     ===> OK\n");
   6310 
   6311   err = 0;
   6312   Caux1.v = Ccons1;
   6313   Caux2.v = Ccons3;
   6314   Caux3.v = vec_xor( Caux1.v, Caux2.v );
   6315   for( i=0; i< 16; i++ )
   6316   {
   6317     Caux = Caux1.e[i] ^ Caux2.e[i];
   6318     if (Caux3.e[i] != Caux)
   6319       err++;
   6320   }
   6321   if (err)
   6322     printf("Function vec_xor [type char]              ===> Error\n");
   6323   else
   6324     printf("Function vec_xor [type char]              ===> OK\n");
   6325 
   6326   err = 0;
   6327   USaux1.v = UScons1;
   6328   USaux2.v = UScons3;
   6329   USaux3.v = vec_xor( USaux1.v, USaux2.v );
   6330   for( i=0; i< 8; i++ )
   6331   {
   6332     USaux = USaux1.e[i] ^ USaux2.e[i];
   6333     if (USaux3.e[i] != USaux)
   6334       err++;
   6335   }
   6336   if (err)
   6337     printf("Function vec_xor [type unsigned short]    ===> Error\n");
   6338   else
   6339     printf("Function vec_xor [type unsigned short]    ===> OK\n");
   6340 
   6341   err = 0;
   6342   Saux1.v = Scons1;
   6343   Saux2.v = Scons3;
   6344   Saux3.v = vec_xor( Saux1.v, Saux2.v );
   6345   for( i=0; i< 8; i++ )
   6346   {
   6347     Saux = Saux1.e[i] ^ Saux2.e[i];
   6348     if (Saux3.e[i] != Saux)
   6349       err++;
   6350   }
   6351   if (err)
   6352     printf("Function vec_xor [type short]             ===> Error\n");
   6353   else
   6354     printf("Function vec_xor [type short]             ===> OK\n");
   6355 
   6356   err = 0;
   6357   UIaux1.v = UIcons1;
   6358   UIaux2.v = UIcons3;
   6359   UIaux3.v = vec_xor( UIaux1.v, UIaux2.v );
   6360   for( i=0; i< 4; i++ )
   6361   {
   6362     UIaux = UIaux1.e[i] ^ UIaux2.e[i];
   6363     if (UIaux3.e[i] != UIaux)
   6364       err++;
   6365   }
   6366   if (err)
   6367     printf("Function vec_xor [type unsigned int]      ===> Error\n");
   6368   else
   6369     printf("Function vec_xor [type unsigned int]      ===> OK\n");
   6370 
   6371   err = 0;
   6372   Iaux1.v = Icons1;
   6373   Iaux2.v = Icons3;
   6374   Iaux3.v = vec_xor( Iaux1.v, Iaux2.v );
   6375   for( i=0; i< 4; i++ )
   6376   {
   6377     Iaux = Iaux1.e[i] ^ Iaux2.e[i];
   6378     if (Iaux3.e[i] != Iaux)
   6379       err++;
   6380   }
   6381   if (err)
   6382     printf("Function vec_xor [type int]               ===> Error\n");
   6383   else
   6384     printf("Function vec_xor [type int]               ===> OK\n");
   6385 
   6386 #if defined TEST_FLOATS
   6387   err = 0;
   6388   Faux1.v = Fcons1;
   6389   Faux2.v = Fcons3;
   6390   Faux3.v = vec_xor( Faux1.v, Faux2.v );
   6391   for( i=0; i< 4; i++ )
   6392   {
   6393     Iaux = Faux1.i[i] ^ Faux2.i[i];
   6394 
   6395     if (Faux3.i[i] != Iaux)
   6396       err++;
   6397   }
   6398   if (err)
   6399     printf("Function vec_xor [type float]             ===> Error\n");
   6400   else
   6401     printf("Function vec_xor [type float]             ===> OK\n");
   6402 #endif
   6403 
   6404   return 0;
   6405 }
   6406 
   6407 
   6408 
   6409 
   6410 int part5()
   6411 {
   6412   TvecChar      Caux1,  Caux2;//,  Caux3,  Caux4;
   6413   TvecUChar     UCaux1, UCaux2;//, UCaux3, UCaux4;
   6414   TvecShort     Saux1,  Saux2;//,  Saux3,  Saux4;
   6415   TvecUShort    USaux1, USaux2;//, USaux3, USaux4;
   6416   TvecInt       Iaux1,  Iaux2;//,  Iaux3,  Iaux4;
   6417   TvecUInt      UIaux1, UIaux2;//, UIaux3, UIaux4;
   6418 #if defined TEST_FLOATS
   6419   TvecFloat     Faux1,  Faux2;//,  Faux3,  Faux4;
   6420 #endif
   6421 
   6422   int                  i, err, /*j,*/ b, bAux;
   6423 //  signed   int         Ivec1, Ivec2, Ivec3;
   6424 //  signed   short       *Svec1;
   6425 //  unsigned int         *UIvec1;
   6426 //  unsigned short       *USvec1;
   6427 //  unsigned char        *UCvec1;
   6428 #if defined TEST_FLOATS
   6429 //  float                *Fvec1;
   6430 #endif
   6431 
   6432   /* For saturated rutines */
   6433 //  long long int         LLaux;
   6434 
   6435 #if defined TEST_FLOATS
   6436 //  float                 Faux;
   6437 #endif
   6438   signed   int          Iaux, I1;//, I2;
   6439 //  unsigned int          UIaux, UI1, UI2;
   6440 //  signed   short        Saux;
   6441 //  unsigned short        USaux;
   6442 //  signed   char         Caux;
   6443 //  unsigned char         UCaux;
   6444 
   6445 /*
   6446   union
   6447   {
   6448     float          f;
   6449     signed   int   si;
   6450     unsigned int   ui;
   6451     signed   short ss[2];
   6452     unsigned short us[2];
   6453     signed   char  sc[4];
   6454     unsigned char  uc[4];
   6455   } INTunion1, INTunion2;
   6456 
   6457   union
   6458   {
   6459     signed   short  ss;
   6460     unsigned short  us;
   6461     signed   char   sc[2];
   6462     unsigned char   uc[2];
   6463   } SHOunion1, SHOunion2;
   6464 */
   6465 
   6466 
   6467 #if defined (GCC_COMPILER)
   6468   vector signed char    Ccons1   = (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   6469   vector signed char    Ccons2   = (vector signed char){1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
   6470   vector signed char    Ccons3   = (vector signed char){-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127};
   6471   vector unsigned char  UCcons1  = (vector unsigned char){248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7};
   6472   vector unsigned char  UCcons2  = (vector unsigned char){2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
   6473   vector unsigned char  UCcons3  = (vector unsigned char){1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8};
   6474   vector signed short   Scons1   = (vector signed short){-4, -3, -2, -1, 0, 1, 2, 3};
   6475   vector signed short   Scons2   = (vector signed short){-32768, 10000, 1, 1, 1, 1, -10000, -10000};
   6476   vector signed short   Scons3   = (vector signed short){-32768, 32767, -32768, 32767, -32768, 32767, -32768, 32767};
   6477   vector unsigned short UScons1  = (vector unsigned short){65532, 65533, 65534, 65535, 0, 1, 2, 3};
   6478   vector unsigned short UScons2  = (vector unsigned short){1, 1, 1, 1, 1, 1, 1, 1};
   6479   vector unsigned short UScons3  = (vector unsigned short){1, 2, 3, 4, 1, 2, 3, 4};
   6480   vector signed int     Icons1   = (vector signed int){-4, -1, 1, 4};
   6481   vector signed int     Icons2   = (vector signed int){1, 1, 1, 1};
   6482   vector signed int     Icons3   = (vector signed int){0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF};
   6483   vector unsigned int   UIcons1  = (vector unsigned int){0xFFFFFFFE, 0xFFFFFFFF, 0, 1};
   6484   vector unsigned int   UIcons2  = (vector unsigned int){1, 1, 1, 1};
   6485   vector unsigned int   UIcons3  = (vector unsigned int){1, 2, 1, 2};
   6486 
   6487 #if defined TEST_FLOATS
   6488   vector float          Fcons1   = (vector float){-1.5, 1.0, 0.5, -3.999};
   6489   vector float          Fcons2   = (vector float){1.0, 1.0, 1.0, 1.0};
   6490   vector float          Fcons3   = (vector float){100000000000.0, 1.0, -1.0, -1234567890.0};
   6491 #endif
   6492 
   6493 #elif defined (MAC_COMPILER) || defined(XLC_COMPILER)
   6494   vector signed char    Ccons1   = (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   6495   vector signed char    Ccons2   = (vector signed char)(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
   6496   vector signed char    Ccons3   = (vector signed char)(-128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127, -128, 127);
   6497   vector unsigned char  UCcons1  = (vector unsigned char)(248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7);
   6498   vector unsigned char  UCcons2  = (vector unsigned char)(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
   6499   vector unsigned char  UCcons3  = (vector unsigned char)(1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8);
   6500   vector signed short   Scons1   = (vector signed short)(-4, -3, -2, -1, 0, 1, 2, 3);
   6501   vector signed short   Scons2   = (vector signed short)(-32768, 10000, 1, 1, 1, 1, -10000, -10000);
   6502   vector signed short   Scons3   = (vector signed short)(-32768, 32767, -32768, 32767, -32768, 32767, -32768, 32767);
   6503   vector unsigned short UScons1  = (vector unsigned short)(65532, 65533, 65534, 65535, 0, 1, 2, 3);
   6504   vector unsigned short UScons2  = (vector unsigned short)(1, 1, 1, 1, 1, 1, 1, 1);
   6505   vector unsigned short UScons3  = (vector unsigned short)(1, 2, 3, 4, 1, 2, 3, 4);
   6506   vector signed int     Icons1   = (vector signed int)(-4, -1, 1, 4);
   6507   vector signed int     Icons2   = (vector signed int)(1, 1, 1, 1);
   6508   vector signed int     Icons3   = (vector signed int)(0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF);
   6509   vector unsigned int   UIcons1  = (vector unsigned int)(0xFFFFFFFE, 0xFFFFFFFF, 0, 1);
   6510   vector unsigned int   UIcons2  = (vector unsigned int)(1, 1, 1, 1);
   6511   vector unsigned int   UIcons3  = (vector unsigned int)(1, 2, 1, 2);
   6512 
   6513 #if defined TEST_FLOATS
   6514   vector float          Fcons1   = (vector float)(-1.5, 1.0, 0.5, -3.999);
   6515   vector float          Fcons2   = (vector float)(1.0, 1.0, 1.0, 1.0);
   6516   vector float          Fcons3   = (vector float)(100000000000.0, 1.0, -1.0, -1234567890.0);
   6517 #endif
   6518 
   6519 #endif
   6520 
   6521 
   6522 /*    Function vec_all_eq    */
   6523   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   6524   err = 0;
   6525   UCaux1.v = UCcons1;
   6526   UCaux2.v = UCcons1;
   6527   I1 = vec_all_eq( UCaux1.v, UCaux2.v );
   6528   Iaux = 1;
   6529   for ( i=0; i< 16; i++ )
   6530   {
   6531     Iaux = Iaux && (UCaux1.e[i]==UCaux2.e[i]);
   6532   }
   6533   if (I1 != Iaux) err++;
   6534 
   6535   UCaux1.v = UCcons2;
   6536   UCaux2.v = UCcons3;
   6537   I1 = vec_all_eq( UCaux1.v, UCaux2.v );
   6538   Iaux = 1;
   6539   for ( i=0; i< 16; i++ )
   6540   {
   6541     Iaux = Iaux && (UCaux1.e[i]==UCaux2.e[i]);
   6542   }
   6543   if (I1 != Iaux) err++;
   6544 
   6545   if (err)
   6546     printf("Function vec_all_eq [type unsigned char]  ===> Error\n");
   6547   else
   6548     printf("Function vec_all_eq [type unsigned char]  ===> OK\n");
   6549 
   6550   err = 0;
   6551   Caux1.v = Ccons1;
   6552   Caux2.v = Ccons1;
   6553   I1 = vec_all_eq( Caux1.v, Caux2.v );
   6554   Iaux = 1;
   6555   for ( i=0; i< 16; i++ )
   6556   {
   6557     Iaux = Iaux && (Caux1.e[i]==Caux2.e[i]);
   6558   }
   6559   if (I1 != Iaux) err++;
   6560 
   6561   Caux1.v = Ccons1;
   6562   Caux2.v = Ccons2;
   6563   I1 = vec_all_eq( Caux1.v, Caux2.v );
   6564   Iaux = 1;
   6565   for ( i=0; i< 16; i++ )
   6566   {
   6567     Iaux = Iaux && (Caux1.e[i]==Caux2.e[i]);
   6568   }
   6569   if (I1 != Iaux) err++;
   6570 
   6571   if (err)
   6572     printf("Function vec_all_eq [type char]           ===> Error\n");
   6573   else
   6574     printf("Function vec_all_eq [type char]           ===> OK\n");
   6575 
   6576   err = 0;
   6577   USaux1.v = UScons1;
   6578   USaux2.v = UScons1;
   6579   I1 = vec_all_eq( USaux1.v, USaux2.v );
   6580   Iaux = 1;
   6581   for ( i=0; i< 8; i++ )
   6582   {
   6583     Iaux = Iaux && (USaux1.e[i]==USaux2.e[i]);
   6584   }
   6585   if (I1 != Iaux) err++;
   6586 
   6587   USaux1.v = UScons2;
   6588   USaux2.v = UScons3;
   6589   I1 = vec_all_eq( USaux1.v, USaux2.v );
   6590   Iaux = 1;
   6591   for ( i=0; i< 8; i++ )
   6592   {
   6593     Iaux = Iaux && (USaux1.e[i]==USaux2.e[i]);
   6594   }
   6595   if (I1 != Iaux) err++;
   6596 
   6597   if (err)
   6598     printf("Function vec_all_eq [type unsigned short] ===> Error\n");
   6599   else
   6600     printf("Function vec_all_eq [type unsigned short] ===> OK\n");
   6601 
   6602   err = 0;
   6603   Saux1.v = Scons1;
   6604   Saux2.v = Scons1;
   6605   I1 = vec_all_eq( Saux1.v, Saux2.v );
   6606   Iaux = 1;
   6607   for ( i=0; i< 8; i++ )
   6608   {
   6609     Iaux = Iaux && (Saux1.e[i]==Saux2.e[i]);
   6610   }
   6611   if (I1 != Iaux) err++;
   6612 
   6613   Saux1.v = Scons2;
   6614   Saux2.v = Scons3;
   6615   I1 = vec_all_eq( Saux1.v, Saux2.v );
   6616   Iaux = 1;
   6617   for ( i=0; i< 8; i++ )
   6618   {
   6619     Iaux = Iaux && (Saux1.e[i]==Saux2.e[i]);
   6620   }
   6621   if (I1 != Iaux) err++;
   6622 
   6623   if (err)
   6624     printf("Function vec_all_eq [type short]          ===> Error\n");
   6625   else
   6626     printf("Function vec_all_eq [type short]          ===> OK\n");
   6627 
   6628   err = 0;
   6629   UIaux1.v = UIcons1;
   6630   UIaux2.v = UIcons1;
   6631   I1 = vec_all_eq( UIaux1.v, UIaux2.v );
   6632   Iaux = 1;
   6633   for ( i=0; i< 4; i++ )
   6634   {
   6635     Iaux = Iaux && (UIaux1.e[i]==UIaux2.e[i]);
   6636   }
   6637   if (I1 != Iaux) err++;
   6638 
   6639   UIaux1.v = UIcons2;
   6640   UIaux2.v = UIcons3;
   6641   I1 = vec_all_eq( UIaux1.v, UIaux2.v );
   6642   Iaux = 1;
   6643   for ( i=0; i< 4; i++ )
   6644   {
   6645     Iaux = Iaux && (UIaux1.e[i]==UIaux2.e[i]);
   6646   }
   6647   if (I1 != Iaux) err++;
   6648 
   6649   if (err)
   6650     printf("Function vec_all_eq [type unsigned int]   ===> Error\n");
   6651   else
   6652     printf("Function vec_all_eq [type unsigned int]   ===> OK\n");
   6653 
   6654   err = 0;
   6655   Iaux1.v = Icons1;
   6656   Iaux2.v = Icons1;
   6657   I1 = vec_all_eq( Iaux1.v, Iaux2.v );
   6658   Iaux = 1;
   6659   for ( i=0; i< 4; i++ )
   6660   {
   6661     Iaux = Iaux && (Iaux1.e[i]==Iaux2.e[i]);
   6662   }
   6663   if (I1 != Iaux) err++;
   6664 
   6665   Iaux1.v = Icons1;
   6666   Iaux2.v = Icons2;
   6667   I1 = vec_all_eq( Iaux1.v, Iaux2.v );
   6668   Iaux = 1;
   6669   for ( i=0; i< 4; i++ )
   6670   {
   6671     Iaux = Iaux && (Iaux1.e[i]==Iaux2.e[i]);
   6672   }
   6673   if (I1 != Iaux) err++;
   6674 
   6675   if (err)
   6676     printf("Function vec_all_eq [type int]            ===> Error\n");
   6677   else
   6678     printf("Function vec_all_eq [type int]            ===> OK\n");
   6679 
   6680 #if defined TEST_FLOATS
   6681   err = 0;
   6682   Faux1.v = Fcons1;
   6683   Faux2.v = Fcons1;
   6684   I1 = vec_all_eq( Faux1.v, Faux2.v );
   6685   Iaux = 1;
   6686   for ( i=0; i< 4; i++ )
   6687   {
   6688     Iaux = Iaux && (Faux1.e[i]==Faux2.e[i]);
   6689   }
   6690   if (I1 != Iaux) err++;
   6691 
   6692   Faux1.v = Fcons1;
   6693   Faux2.v = Fcons2;
   6694   I1 = vec_all_eq( Faux1.v, Faux2.v );
   6695   Iaux = 1;
   6696   for ( i=0; i< 4; i++ )
   6697   {
   6698     Iaux = Iaux && (Faux1.e[i]==Faux2.e[i]);
   6699   }
   6700   if (I1 != Iaux) err++;
   6701 
   6702   if (err)
   6703     printf("Function vec_all_eq [type float]          ===> Error\n");
   6704   else
   6705     printf("Function vec_all_eq [type float]          ===> OK\n");
   6706 #endif
   6707 
   6708 /*    Function vec_all_ge    */
   6709   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   6710   err = 0;
   6711   UCaux1.v = UCcons2;
   6712   UCaux2.v = UCcons2;
   6713   I1 = vec_all_ge( UCaux1.v, UCaux2.v );
   6714   Iaux = 1;
   6715   for ( i=0; i< 16; i++ )
   6716   {
   6717     Iaux = Iaux && (UCaux1.e[i]>=UCaux2.e[i]);
   6718   }
   6719   if (I1 != Iaux) err++;
   6720 
   6721   UCaux1.v = UCcons2;
   6722   UCaux2.v = UCcons3;
   6723   I1 = vec_all_ge( UCaux1.v, UCaux2.v );
   6724   Iaux = 1;
   6725   for ( i=0; i< 16; i++ )
   6726   {
   6727     Iaux = Iaux && (UCaux1.e[i]>=UCaux2.e[i]);
   6728   }
   6729   if (I1 != Iaux) err++;
   6730 
   6731   if (err)
   6732     printf("Function vec_all_ge [type unsigned char]  ===> Error\n");
   6733   else
   6734     printf("Function vec_all_ge [type unsigned char]  ===> OK\n");
   6735 
   6736   err = 0;
   6737   Caux1.v = Ccons2;
   6738   Caux2.v = Ccons2;
   6739   I1 = vec_all_ge( Caux1.v, Caux2.v );
   6740   Iaux = 1;
   6741   for ( i=0; i< 16; i++ )
   6742   {
   6743     Iaux = Iaux && (Caux1.e[i]>=Caux2.e[i]);
   6744   }
   6745   if (I1 != Iaux) err++;
   6746 
   6747   Caux1.v = Ccons2;
   6748   Caux2.v = Ccons3;
   6749   I1 = vec_all_ge( Caux1.v, Caux2.v );
   6750   Iaux = 1;
   6751   for ( i=0; i< 16; i++ )
   6752   {
   6753     Iaux = Iaux && (Caux1.e[i]>=Caux2.e[i]);
   6754   }
   6755   if (I1 != Iaux) err++;
   6756 
   6757   if (err)
   6758     printf("Function vec_all_ge [type char]           ===> Error\n");
   6759   else
   6760     printf("Function vec_all_ge [type char]           ===> OK\n");
   6761 
   6762   err = 0;
   6763   USaux1.v = UScons3;
   6764   USaux2.v = UScons2;
   6765   I1 = vec_all_ge( USaux1.v, USaux2.v );
   6766   Iaux = 1;
   6767   for ( i=0; i< 8; i++ )
   6768   {
   6769     Iaux = Iaux && (USaux1.e[i]>=USaux2.e[i]);
   6770   }
   6771   if (I1 != Iaux) err++;
   6772 
   6773   USaux1.v = UScons1;
   6774   USaux2.v = UScons2;
   6775   I1 = vec_all_ge( USaux1.v, USaux2.v );
   6776   Iaux = 1;
   6777   for ( i=0; i< 8; i++ )
   6778   {
   6779     Iaux = Iaux && (USaux1.e[i]>=USaux2.e[i]);
   6780   }
   6781   if (I1 != Iaux) err++;
   6782 
   6783   if (err)
   6784     printf("Function vec_all_ge [type unsigned short] ===> Error\n");
   6785   else
   6786     printf("Function vec_all_ge [type unsigned short] ===> OK\n");
   6787 
   6788   err = 0;
   6789   Saux1.v = Scons1;
   6790   Saux2.v = Scons1;
   6791   I1 = vec_all_ge( Saux1.v, Saux2.v );
   6792   Iaux = 1;
   6793   for ( i=0; i< 8; i++ )
   6794   {
   6795     Iaux = Iaux && (Saux1.e[i]>=Saux2.e[i]);
   6796   }
   6797   if (I1 != Iaux) err++;
   6798 
   6799   Saux1.v = Scons2;
   6800   Saux2.v = Scons3;
   6801   I1 = vec_all_ge( Saux1.v, Saux2.v );
   6802   Iaux = 1;
   6803   for ( i=0; i< 8; i++ )
   6804   {
   6805     Iaux = Iaux && (Saux1.e[i]>=Saux2.e[i]);
   6806   }
   6807   if (I1 != Iaux) err++;
   6808 
   6809   if (err)
   6810     printf("Function vec_all_ge [type short]          ===> Error\n");
   6811   else
   6812     printf("Function vec_all_ge [type short]          ===> OK\n");
   6813 
   6814   err = 0;
   6815   UIaux1.v = UIcons3;
   6816   UIaux2.v = UIcons2;
   6817   I1 = vec_all_ge( UIaux1.v, UIaux2.v );
   6818   Iaux = 1;
   6819   for ( i=0; i< 4; i++ )
   6820   {
   6821     Iaux = Iaux && (UIaux1.e[i]>=UIaux2.e[i]);
   6822   }
   6823   if (I1 != Iaux) err++;
   6824 
   6825   UIaux1.v = UIcons1;
   6826   UIaux2.v = UIcons2;
   6827   I1 = vec_all_ge( UIaux1.v, UIaux2.v );
   6828   Iaux = 1;
   6829   for ( i=0; i< 4; i++ )
   6830   {
   6831     Iaux = Iaux && (UIaux1.e[i]>=UIaux2.e[i]);
   6832   }
   6833   if (I1 != Iaux) err++;
   6834 
   6835   if (err)
   6836     printf("Function vec_all_ge [type unsigned int]   ===> Error\n");
   6837   else
   6838     printf("Function vec_all_ge [type unsigned int]   ===> OK\n");
   6839 
   6840   err = 0;
   6841   Iaux1.v = Icons2;
   6842   Iaux2.v = Icons2;
   6843   I1 = vec_all_ge( Iaux1.v, Iaux2.v );
   6844   Iaux = 1;
   6845   for ( i=0; i< 4; i++ )
   6846   {
   6847     Iaux = Iaux && (Iaux1.e[i]>=Iaux2.e[i]);
   6848   }
   6849   if (I1 != Iaux) err++;
   6850 
   6851   Iaux1.v = Icons2;
   6852   Iaux2.v = Icons1;
   6853   I1 = vec_all_ge( Iaux1.v, Iaux2.v );
   6854   Iaux = 1;
   6855   for ( i=0; i< 4; i++ )
   6856   {
   6857     Iaux = Iaux && (Iaux1.e[i]>=Iaux2.e[i]);
   6858   }
   6859   if (I1 != Iaux) err++;
   6860 
   6861   if (err)
   6862     printf("Function vec_all_ge [type int]            ===> Error\n");
   6863   else
   6864     printf("Function vec_all_ge [type int]            ===> OK\n");
   6865 
   6866 #if defined TEST_FLOATS
   6867   err = 0;
   6868   Faux1.v = Fcons2;
   6869   Faux2.v = Fcons1;
   6870   I1 = vec_all_ge( Faux1.v, Faux2.v );
   6871   Iaux = 1;
   6872   for ( i=0; i< 4; i++ )
   6873   {
   6874     Iaux = Iaux && (Faux1.e[i]>=Faux2.e[i]);
   6875   }
   6876   if (I1 != Iaux) err++;
   6877 
   6878   Faux1.v = Fcons2;
   6879   Faux2.v = Fcons3;
   6880   I1 = vec_all_ge( Faux1.v, Faux2.v );
   6881   Iaux = 1;
   6882   for ( i=0; i< 4; i++ )
   6883   {
   6884     Iaux = Iaux && (Faux1.e[i]>=Faux2.e[i]);
   6885   }
   6886   if (I1 != Iaux) err++;
   6887 
   6888   if (err)
   6889     printf("Function vec_all_ge [type float]          ===> Error\n");
   6890   else
   6891     printf("Function vec_all_ge [type float]          ===> OK\n");
   6892 #endif
   6893 
   6894 /*    Function vec_all_gt    */
   6895   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   6896   err = 0;
   6897 # if defined (GCC_COMPILER)
   6898    UCaux1.v = (vector unsigned char){248, 249, 250, 251, 252, 253, 254, 255, 2, 3, 4, 5, 6, 7, 8, 9};
   6899 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   6900    UCaux1.v = (vector unsigned char)(248, 249, 250, 251, 252, 253, 254, 255, 2, 3, 4, 5, 6, 7, 8, 9);
   6901 # endif
   6902   UCaux2.v = UCcons2;
   6903   I1 = vec_all_gt( UCaux1.v, UCaux2.v );
   6904   Iaux = 1;
   6905   for ( i=0; i< 16; i++ )
   6906   {
   6907     Iaux = Iaux && (UCaux1.e[i]>UCaux2.e[i]);
   6908   }
   6909   if (I1 != Iaux) err++;
   6910 
   6911   UCaux1.v = UCcons2;
   6912   UCaux2.v = UCcons3;
   6913   I1 = vec_all_gt( UCaux1.v, UCaux2.v );
   6914   Iaux = 1;
   6915   for ( i=0; i< 16; i++ )
   6916   {
   6917     Iaux = Iaux && (UCaux1.e[i]>UCaux2.e[i]);
   6918   }
   6919   if (I1 != Iaux) err++;
   6920 
   6921   if (err)
   6922     printf("Function vec_all_gt [type unsigned char]  ===> Error\n");
   6923   else
   6924     printf("Function vec_all_gt [type unsigned char]  ===> OK\n");
   6925 
   6926   err = 0;
   6927 # if defined (GCC_COMPILER)
   6928    Caux1.v = (vector signed char){9, 8, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7, 8, 9, 10};
   6929 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   6930    Caux1.v = (vector signed char)(9, 8, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7, 8, 9, 10);
   6931 # endif
   6932   Caux2.v = Ccons2;
   6933   I1 = vec_all_gt( Caux1.v, Caux2.v );
   6934   Iaux = 1;
   6935   for ( i=0; i< 16; i++ )
   6936   {
   6937     Iaux = Iaux && (Caux1.e[i]>Caux2.e[i]);
   6938   }
   6939   if (I1 != Iaux) err++;
   6940 
   6941   Caux1.v = Ccons2;
   6942   Caux2.v = Ccons3;
   6943   I1 = vec_all_gt( Caux1.v, Caux2.v );
   6944   Iaux = 1;
   6945   for ( i=0; i< 16; i++ )
   6946   {
   6947     Iaux = Iaux && (Caux1.e[i]>Caux2.e[i]);
   6948   }
   6949   if (I1 != Iaux) err++;
   6950 
   6951   if (err)
   6952     printf("Function vec_all_gt [type char]           ===> Error\n");
   6953   else
   6954     printf("Function vec_all_gt [type char]           ===> OK\n");
   6955 
   6956   err = 0;
   6957 # if defined (GCC_COMPILER)
   6958    USaux1.v = (vector unsigned short){65532, 65533, 65534, 65535, 2, 3, 4, 5};
   6959 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   6960    USaux1.v = (vector unsigned short)(65532, 65533, 65534, 65535, 2, 3, 4, 5);
   6961 # endif
   6962   USaux2.v = UScons2;
   6963   I1 = vec_all_gt( USaux1.v, USaux2.v );
   6964   Iaux = 1;
   6965   for ( i=0; i< 8; i++ )
   6966   {
   6967     Iaux = Iaux && (USaux1.e[i]>USaux2.e[i]);
   6968   }
   6969   if (I1 != Iaux) err++;
   6970 
   6971   USaux1.v = UScons1;
   6972   USaux2.v = UScons2;
   6973   I1 = vec_all_gt( USaux1.v, USaux2.v );
   6974   Iaux = 1;
   6975   for ( i=0; i< 8; i++ )
   6976   {
   6977     Iaux = Iaux && (USaux1.e[i]>USaux2.e[i]);
   6978   }
   6979   if (I1 != Iaux) err++;
   6980 
   6981   if (err)
   6982     printf("Function vec_all_gt [type unsigned short] ===> Error\n");
   6983   else
   6984     printf("Function vec_all_gt [type unsigned short] ===> OK\n");
   6985 
   6986   err = 0;
   6987 # if defined (GCC_COMPILER)
   6988    Saux1.v = (vector signed short){4, 3, 2, 1, 2, 3, 4, 5};
   6989 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   6990    Saux1.v = (vector signed short)(4, 3, 2, 1, 2, 3, 4, 5);
   6991 # endif
   6992   Saux2.v = Scons1;
   6993   I1 = vec_all_gt( Saux1.v, Saux2.v );
   6994   Iaux = 1;
   6995   for ( i=0; i< 8; i++ )
   6996   {
   6997     Iaux = Iaux && (Saux1.e[i]>Saux2.e[i]);
   6998   }
   6999   if (I1 != Iaux) err++;
   7000 
   7001   Saux1.v = Scons2;
   7002   Saux2.v = Scons3;
   7003   I1 = vec_all_gt( Saux1.v, Saux2.v );
   7004   Iaux = 1;
   7005   for ( i=0; i< 8; i++ )
   7006   {
   7007     Iaux = Iaux && (Saux1.e[i]>Saux2.e[i]);
   7008   }
   7009   if (I1 != Iaux) err++;
   7010 
   7011   if (err)
   7012     printf("Function vec_all_gt [type short]          ===> Error\n");
   7013   else
   7014     printf("Function vec_all_gt [type short]          ===> OK\n");
   7015 
   7016   err = 0;
   7017 # if defined (GCC_COMPILER)
   7018    UIaux1.v = (vector unsigned int){3, 2, 3, 2};
   7019 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7020    UIaux1.v = (vector unsigned int)(3, 2, 3, 2);
   7021 # endif
   7022   UIaux2.v = UIcons2;
   7023   I1 = vec_all_gt( UIaux1.v, UIaux2.v );
   7024   Iaux = 1;
   7025   for ( i=0; i< 4; i++ )
   7026   {
   7027     Iaux = Iaux && (UIaux1.e[i]>UIaux2.e[i]);
   7028   }
   7029   if (I1 != Iaux) err++;
   7030 
   7031   UIaux1.v = UIcons1;
   7032   UIaux2.v = UIcons2;
   7033   I1 = vec_all_gt( UIaux1.v, UIaux2.v );
   7034   Iaux = 1;
   7035   for ( i=0; i< 4; i++ )
   7036   {
   7037     Iaux = Iaux && (UIaux1.e[i]>UIaux2.e[i]);
   7038   }
   7039   if (I1 != Iaux) err++;
   7040 
   7041   if (err)
   7042     printf("Function vec_all_gt [type unsigned int]   ===> Error\n");
   7043   else
   7044     printf("Function vec_all_gt [type unsigned int]   ===> OK\n");
   7045 
   7046   err = 0;
   7047 # if defined (GCC_COMPILER)
   7048    Iaux1.v = (vector signed int){4, 10, 10, 4};
   7049 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7050    Iaux1.v = (vector signed int)(4, 10, 10, 4);
   7051 # endif
   7052   Iaux2.v = Icons2;
   7053   I1 = vec_all_gt( Iaux1.v, Iaux2.v );
   7054   Iaux = 1;
   7055   for ( i=0; i< 4; i++ )
   7056   {
   7057     Iaux = Iaux && (Iaux1.e[i]>Iaux2.e[i]);
   7058   }
   7059   if (I1 != Iaux) err++;
   7060 
   7061   Iaux1.v = Icons2;
   7062   Iaux2.v = Icons1;
   7063   I1 = vec_all_gt( Iaux1.v, Iaux2.v );
   7064   Iaux = 1;
   7065   for ( i=0; i< 4; i++ )
   7066   {
   7067     Iaux = Iaux && (Iaux1.e[i]>Iaux2.e[i]);
   7068   }
   7069   if (I1 != Iaux) err++;
   7070 
   7071   if (err)
   7072     printf("Function vec_all_gt [type int]            ===> Error\n");
   7073   else
   7074     printf("Function vec_all_gt [type int]            ===> OK\n");
   7075 
   7076 #if defined TEST_FLOATS
   7077   err = 0;
   7078 # if defined (GCC_COMPILER)
   7079    Faux1.v = (vector float){100000000000.0, 12.0, 12.0, 1234567890.0};
   7080 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7081    Faux1.v = (vector float)(100000000000.0, 12.0, 12.0, 1234567890.0);
   7082 # endif
   7083   Faux2.v = Fcons1;
   7084   I1 = vec_all_gt( Faux1.v, Faux2.v );
   7085   Iaux = 1;
   7086   for ( i=0; i< 4; i++ )
   7087   {
   7088     Iaux = Iaux && (Faux1.e[i]>Faux2.e[i]);
   7089   }
   7090   if (I1 != Iaux) err++;
   7091 
   7092   Faux1.v = Fcons2;
   7093   Faux2.v = Fcons3;
   7094   I1 = vec_all_gt( Faux1.v, Faux2.v );
   7095   Iaux = 1;
   7096   for ( i=0; i< 4; i++ )
   7097   {
   7098     Iaux = Iaux && (Faux1.e[i]>Faux2.e[i]);
   7099   }
   7100   if (I1 != Iaux) err++;
   7101 
   7102   if (err)
   7103     printf("Function vec_all_gt [type float]          ===> Error\n");
   7104   else
   7105     printf("Function vec_all_gt [type float]          ===> OK\n");
   7106 #endif
   7107 
   7108 #if defined TEST_FLOATS
   7109 /*    Function vec_all_in    */
   7110   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   7111   err = 0;
   7112   Faux1.v = Fcons1;
   7113   Faux2.v = Fcons2;
   7114   I1 = vec_all_in( Faux1.v, Faux2.v );
   7115   Iaux = 1;
   7116   for ( i=0; i< 4; i++ )
   7117   {
   7118     Iaux = Iaux && ((Faux1.e[i]<=Faux2.e[i]) && (Faux1.e[i]>=-Faux2.e[i]));
   7119   }
   7120   if (I1 != Iaux) err++;
   7121 
   7122   Faux1.v = Fcons2;
   7123 # if defined (GCC_COMPILER)
   7124    Faux2.v = (vector float){100000000000.0, 1.0, 1.0, 1234567890.0};
   7125 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7126    Faux2.v = (vector float)(100000000000.0, 1.0, 1.0, 1234567890.0);
   7127 # endif
   7128   I1 = vec_all_in( Faux1.v, Faux2.v );
   7129   Iaux = 1;
   7130   for ( i=0; i< 4; i++ )
   7131   {
   7132     Iaux = Iaux && ((Faux1.e[i]<=Faux2.e[i]) && (Faux1.e[i]>=-Faux2.e[i]));
   7133   }
   7134   if (I1 != Iaux) err++;
   7135 
   7136   if (err)
   7137     printf("Function vec_all_in [type float]          ===> Error\n");
   7138   else
   7139     printf("Function vec_all_in [type float]          ===> OK\n");
   7140 #endif
   7141 
   7142 /*    Function vec_all_le    */
   7143   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   7144   err = 0;
   7145   UCaux1.v = UCcons2;
   7146   UCaux2.v = UCcons3;
   7147   I1 = vec_all_le( UCaux1.v, UCaux2.v );
   7148   Iaux = 1;
   7149   for ( i=0; i< 16; i++ )
   7150   {
   7151     Iaux = Iaux && (UCaux1.e[i]<=UCaux2.e[i]);
   7152   }
   7153   if (I1 != Iaux) err++;
   7154 
   7155   UCaux1.v = UCcons1;
   7156   UCaux2.v = UCcons2;
   7157   I1 = vec_all_le( UCaux1.v, UCaux2.v );
   7158   Iaux = 1;
   7159   for ( i=0; i< 16; i++ )
   7160   {
   7161     Iaux = Iaux && (UCaux1.e[i]<=UCaux2.e[i]);
   7162   }
   7163   if (I1 != Iaux) err++;
   7164 
   7165   if (err)
   7166     printf("Function vec_all_le [type unsigned char]  ===> Error\n");
   7167   else
   7168     printf("Function vec_all_le [type unsigned char]  ===> OK\n");
   7169 
   7170   err = 0;
   7171   Caux1.v = Ccons2;
   7172   Caux2.v = Ccons2;
   7173   I1 = vec_all_le( Caux1.v, Caux2.v );
   7174   Iaux = 1;
   7175   for ( i=0; i< 16; i++ )
   7176   {
   7177     Iaux = Iaux && (Caux1.e[i]<=Caux2.e[i]);
   7178   }
   7179   if (I1 != Iaux) err++;
   7180 
   7181   Caux1.v = Ccons2;
   7182   Caux2.v = Ccons3;
   7183   I1 = vec_all_le( Caux1.v, Caux2.v );
   7184   Iaux = 1;
   7185   for ( i=0; i< 16; i++ )
   7186   {
   7187     Iaux = Iaux && (Caux1.e[i]<=Caux2.e[i]);
   7188   }
   7189   if (I1 != Iaux) err++;
   7190 
   7191   if (err)
   7192     printf("Function vec_all_le [type char]           ===> Error\n");
   7193   else
   7194     printf("Function vec_all_le [type char]           ===> OK\n");
   7195 
   7196   err = 0;
   7197   USaux1.v = UScons2;
   7198   USaux2.v = UScons3;
   7199   I1 = vec_all_le( USaux1.v, USaux2.v );
   7200   Iaux = 1;
   7201   for ( i=0; i< 8; i++ )
   7202   {
   7203     Iaux = Iaux && (USaux1.e[i]<=USaux2.e[i]);
   7204   }
   7205   if (I1 != Iaux) err++;
   7206 
   7207   USaux1.v = UScons1;
   7208   USaux2.v = UScons2;
   7209   I1 = vec_all_le( USaux1.v, USaux2.v );
   7210   Iaux = 1;
   7211   for ( i=0; i< 8; i++ )
   7212   {
   7213     Iaux = Iaux && (USaux1.e[i]<=USaux2.e[i]);
   7214   }
   7215   if (I1 != Iaux) err++;
   7216 
   7217   if (err)
   7218     printf("Function vec_all_le [type unsigned short] ===> Error\n");
   7219   else
   7220     printf("Function vec_all_le [type unsigned short] ===> OK\n");
   7221 
   7222   err = 0;
   7223   Saux1.v = Scons1;
   7224   Saux2.v = Scons1;
   7225   I1 = vec_all_le( Saux1.v, Saux2.v );
   7226   Iaux = 1;
   7227   for ( i=0; i< 8; i++ )
   7228   {
   7229     Iaux = Iaux && (Saux1.e[i]<=Saux2.e[i]);
   7230   }
   7231   if (I1 != Iaux) err++;
   7232 
   7233   Saux1.v = Scons2;
   7234   Saux2.v = Scons3;
   7235   I1 = vec_all_le( Saux1.v, Saux2.v );
   7236   Iaux = 1;
   7237   for ( i=0; i< 8; i++ )
   7238   {
   7239     Iaux = Iaux && (Saux1.e[i]<=Saux2.e[i]);
   7240   }
   7241   if (I1 != Iaux) err++;
   7242 
   7243   if (err)
   7244     printf("Function vec_all_le [type short]          ===> Error\n");
   7245   else
   7246     printf("Function vec_all_le [type short]          ===> OK\n");
   7247 
   7248   err = 0;
   7249   UIaux1.v = UIcons2;
   7250   UIaux2.v = UIcons3;
   7251   I1 = vec_all_le( UIaux1.v, UIaux2.v );
   7252   Iaux = 1;
   7253   for ( i=0; i< 4; i++ )
   7254   {
   7255     Iaux = Iaux && (UIaux1.e[i]<=UIaux2.e[i]);
   7256   }
   7257   if (I1 != Iaux) err++;
   7258 
   7259   UIaux1.v = UIcons1;
   7260   UIaux2.v = UIcons2;
   7261   I1 = vec_all_le( UIaux1.v, UIaux2.v );
   7262   Iaux = 1;
   7263   for ( i=0; i< 4; i++ )
   7264   {
   7265     Iaux = Iaux && (UIaux1.e[i]<=UIaux2.e[i]);
   7266   }
   7267   if (I1 != Iaux) err++;
   7268 
   7269   if (err)
   7270     printf("Function vec_all_le [type unsigned int]   ===> Error\n");
   7271   else
   7272     printf("Function vec_all_le [type unsigned int]   ===> OK\n");
   7273 
   7274   err = 0;
   7275   Iaux1.v = Icons2;
   7276   Iaux2.v = Icons2;
   7277   I1 = vec_all_le( Iaux1.v, Iaux2.v );
   7278   Iaux = 1;
   7279   for ( i=0; i< 4; i++ )
   7280   {
   7281     Iaux = Iaux && (Iaux1.e[i]<=Iaux2.e[i]);
   7282   }
   7283   if (I1 != Iaux) err++;
   7284 
   7285   Iaux1.v = Icons1;
   7286   Iaux2.v = Icons2;
   7287   I1 = vec_all_le( Iaux1.v, Iaux2.v );
   7288   Iaux = 1;
   7289   for ( i=0; i< 4; i++ )
   7290   {
   7291     Iaux = Iaux && (Iaux1.e[i]<=Iaux2.e[i]);
   7292   }
   7293   if (I1 != Iaux) err++;
   7294 
   7295   if (err)
   7296     printf("Function vec_all_le [type int]            ===> Error\n");
   7297   else
   7298     printf("Function vec_all_le [type int]            ===> OK\n");
   7299 
   7300 #if defined TEST_FLOATS
   7301   err = 0;
   7302   Faux1.v = Fcons1;
   7303   Faux2.v = Fcons2;
   7304   I1 = vec_all_le( Faux1.v, Faux2.v );
   7305   Iaux = 1;
   7306   for ( i=0; i< 4; i++ )
   7307   {
   7308     Iaux = Iaux && (Faux1.e[i]<=Faux2.e[i]);
   7309   }
   7310   if (I1 != Iaux) err++;
   7311 
   7312   Faux1.v = Fcons2;
   7313   Faux2.v = Fcons3;
   7314   I1 = vec_all_le( Faux1.v, Faux2.v );
   7315   Iaux = 1;
   7316   for ( i=0; i< 4; i++ )
   7317   {
   7318     Iaux = Iaux && (Faux1.e[i]<=Faux2.e[i]);
   7319   }
   7320   if (I1 != Iaux) err++;
   7321 
   7322   if (err)
   7323     printf("Function vec_all_le [type float]          ===> Error\n");
   7324   else
   7325     printf("Function vec_all_le [type float]          ===> OK\n");
   7326 #endif
   7327 
   7328 /*    Function vec_all_lt    */
   7329   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   7330   err = 0;
   7331   UCaux1.v = UCcons2;
   7332 # if defined (GCC_COMPILER)
   7333    UCaux2.v = (vector unsigned char){248, 249, 250, 251, 252, 253, 254, 255, 2, 3, 4, 5, 6, 7, 8, 9};
   7334 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7335    UCaux2.v = (vector unsigned char)(248, 249, 250, 251, 252, 253, 254, 255, 2, 3, 4, 5, 6, 7, 8, 9);
   7336 # endif
   7337   I1 = vec_all_lt( UCaux1.v, UCaux2.v );
   7338   Iaux = 1;
   7339   for ( i=0; i< 16; i++ )
   7340   {
   7341     Iaux = Iaux && (UCaux1.e[i]<UCaux2.e[i]);
   7342   }
   7343   if (I1 != Iaux) err++;
   7344 
   7345   UCaux1.v = UCcons3;
   7346   UCaux2.v = UCcons2;
   7347   I1 = vec_all_lt( UCaux1.v, UCaux2.v );
   7348   Iaux = 1;
   7349   for ( i=0; i< 16; i++ )
   7350   {
   7351     Iaux = Iaux && (UCaux1.e[i]<UCaux2.e[i]);
   7352   }
   7353   if (I1 != Iaux) err++;
   7354 
   7355   if (err)
   7356     printf("Function vec_all_lt [type unsigned char]  ===> Error\n");
   7357   else
   7358     printf("Function vec_all_lt [type unsigned char]  ===> OK\n");
   7359 
   7360   err = 0;
   7361   Caux1.v = Ccons2;
   7362 # if defined (GCC_COMPILER)
   7363    Caux2.v = (vector signed char){9, 8, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7, 8, 9, 10};
   7364 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7365    Caux2.v = (vector signed char)(9, 8, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7, 8, 9, 10);
   7366 # endif
   7367   I1 = vec_all_lt( Caux1.v, Caux2.v );
   7368   Iaux = 1;
   7369   for ( i=0; i< 16; i++ )
   7370   {
   7371     Iaux = Iaux && (Caux1.e[i]<Caux2.e[i]);
   7372   }
   7373   if (I1 != Iaux) err++;
   7374 
   7375   Caux1.v = Ccons3;
   7376   Caux2.v = Ccons2;
   7377   I1 = vec_all_lt( Caux1.v, Caux2.v );
   7378   Iaux = 1;
   7379   for ( i=0; i< 16; i++ )
   7380   {
   7381     Iaux = Iaux && (Caux1.e[i]<Caux2.e[i]);
   7382   }
   7383   if (I1 != Iaux) err++;
   7384 
   7385   if (err)
   7386     printf("Function vec_all_lt [type char]           ===> Error\n");
   7387   else
   7388     printf("Function vec_all_lt [type char]           ===> OK\n");
   7389 
   7390   err = 0;
   7391   USaux1.v = UScons2;
   7392 # if defined (GCC_COMPILER)
   7393    USaux2.v = (vector unsigned short){65532, 65533, 65534, 65535, 2, 3, 4, 5};
   7394 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7395    USaux2.v = (vector unsigned short)(65532, 65533, 65534, 65535, 2, 3, 4, 5);
   7396 # endif
   7397   I1 = vec_all_lt( USaux1.v, USaux2.v );
   7398   Iaux = 1;
   7399   for ( i=0; i< 8; i++ )
   7400   {
   7401     Iaux = Iaux && (USaux1.e[i]<USaux2.e[i]);
   7402   }
   7403   if (I1 != Iaux) err++;
   7404 
   7405   USaux1.v = UScons2;
   7406   USaux2.v = UScons1;
   7407   I1 = vec_all_lt( USaux1.v, USaux2.v );
   7408   Iaux = 1;
   7409   for ( i=0; i< 8; i++ )
   7410   {
   7411     Iaux = Iaux && (USaux1.e[i]<USaux2.e[i]);
   7412   }
   7413   if (I1 != Iaux) err++;
   7414 
   7415   if (err)
   7416     printf("Function vec_all_lt [type unsigned short] ===> Error\n");
   7417   else
   7418     printf("Function vec_all_lt [type unsigned short] ===> OK\n");
   7419 
   7420   err = 0;
   7421   Saux1.v = Scons1;
   7422 # if defined (GCC_COMPILER)
   7423    Saux2.v = (vector signed short){4, 3, 2, 1, 2, 3, 4, 5};
   7424 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7425    Saux2.v = (vector signed short)(4, 3, 2, 1, 2, 3, 4, 5);
   7426 # endif
   7427   I1 = vec_all_lt( Saux1.v, Saux2.v );
   7428   Iaux = 1;
   7429   for ( i=0; i< 8; i++ )
   7430   {
   7431     Iaux = Iaux && (Saux1.e[i]<Saux2.e[i]);
   7432   }
   7433   if (I1 != Iaux) err++;
   7434 
   7435   Saux1.v = Scons3;
   7436   Saux2.v = Scons2;
   7437   I1 = vec_all_lt( Saux1.v, Saux2.v );
   7438   Iaux = 1;
   7439   for ( i=0; i< 8; i++ )
   7440   {
   7441     Iaux = Iaux && (Saux1.e[i]<Saux2.e[i]);
   7442   }
   7443   if (I1 != Iaux) err++;
   7444 
   7445   if (err)
   7446     printf("Function vec_all_lt [type short]          ===> Error\n");
   7447   else
   7448     printf("Function vec_all_lt [type short]          ===> OK\n");
   7449 
   7450   err = 0;
   7451   UIaux1.v = UIcons2;
   7452 # if defined (GCC_COMPILER)
   7453    UIaux2.v = (vector unsigned int){3, 2, 3, 2};
   7454 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7455    UIaux2.v = (vector unsigned int)(3, 2, 3, 2);
   7456 # endif
   7457   I1 = vec_all_lt( UIaux1.v, UIaux2.v );
   7458   Iaux = 1;
   7459   for ( i=0; i< 4; i++ )
   7460   {
   7461     Iaux = Iaux && (UIaux1.e[i]<UIaux2.e[i]);
   7462   }
   7463   if (I1 != Iaux) err++;
   7464 
   7465   UIaux1.v = UIcons2;
   7466   UIaux2.v = UIcons1;
   7467   I1 = vec_all_lt( UIaux1.v, UIaux2.v );
   7468   Iaux = 1;
   7469   for ( i=0; i< 4; i++ )
   7470   {
   7471     Iaux = Iaux && (UIaux1.e[i]<UIaux2.e[i]);
   7472   }
   7473   if (I1 != Iaux) err++;
   7474 
   7475   if (err)
   7476     printf("Function vec_all_lt [type unsigned int]   ===> Error\n");
   7477   else
   7478     printf("Function vec_all_lt [type unsigned int]   ===> OK\n");
   7479 
   7480   err = 0;
   7481   Iaux1.v = Icons2;
   7482 # if defined (GCC_COMPILER)
   7483    Iaux2.v = (vector signed int){4, 10, 10, 4};
   7484 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7485    Iaux2.v = (vector signed int)(4, 10, 10, 4);
   7486 # endif
   7487   I1 = vec_all_lt( Iaux1.v, Iaux2.v );
   7488   Iaux = 1;
   7489   for ( i=0; i< 4; i++ )
   7490   {
   7491     Iaux = Iaux && (Iaux1.e[i]<Iaux2.e[i]);
   7492   }
   7493   if (I1 != Iaux) err++;
   7494 
   7495   Iaux1.v = Icons1;
   7496   Iaux2.v = Icons2;
   7497   I1 = vec_all_lt( Iaux1.v, Iaux2.v );
   7498   Iaux = 1;
   7499   for ( i=0; i< 4; i++ )
   7500   {
   7501     Iaux = Iaux && (Iaux1.e[i]<Iaux2.e[i]);
   7502   }
   7503   if (I1 != Iaux) err++;
   7504 
   7505   if (err)
   7506     printf("Function vec_all_lt [type int]            ===> Error\n");
   7507   else
   7508     printf("Function vec_all_lt [type int]            ===> OK\n");
   7509 
   7510 #if defined TEST_FLOATS
   7511   err = 0;
   7512   Faux1.v = Fcons1;
   7513 # if defined (GCC_COMPILER)
   7514    Faux2.v = (vector float){100000000000.0, 12.0, 12.0, 1234567890.0};
   7515 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7516    Faux2.v = (vector float)(100000000000.0, 12.0, 12.0, 1234567890.0);
   7517 # endif
   7518   I1 = vec_all_lt( Faux1.v, Faux2.v );
   7519   Iaux = 1;
   7520   for ( i=0; i< 4; i++ )
   7521   {
   7522     Iaux = Iaux && (Faux1.e[i]<Faux2.e[i]);
   7523   }
   7524   if (I1 != Iaux) err++;
   7525 
   7526   Faux1.v = Fcons3;
   7527   Faux2.v = Fcons2;
   7528   I1 = vec_all_lt( Faux1.v, Faux2.v );
   7529   Iaux = 1;
   7530   for ( i=0; i< 4; i++ )
   7531   {
   7532     Iaux = Iaux && (Faux1.e[i]<Faux2.e[i]);
   7533   }
   7534   if (I1 != Iaux) err++;
   7535 
   7536   if (err)
   7537     printf("Function vec_all_lt [type float]          ===> Error\n");
   7538   else
   7539     printf("Function vec_all_lt [type float]          ===> OK\n");
   7540 #endif
   7541 
   7542 #if defined TEST_FLOATS
   7543 /*    Function vec_all_nan    */
   7544   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   7545   err = 0;
   7546 # if defined (GCC_COMPILER)
   7547    Faux1.v = (vector float){NAN, NAN, NAN, NAN};
   7548 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7549    Faux1.v = (vector float)(NAN, NAN, NAN, NAN);
   7550 # endif
   7551   I1 = vec_all_nan( Faux1.v );
   7552   Iaux = 1;
   7553   for ( i=0; i< 4; i++ )
   7554   {
   7555     Iaux = Iaux && (isnan(Faux1.e[i]));
   7556   }
   7557   if (I1 != Iaux) err++;
   7558 
   7559   Faux1.v = Fcons1;
   7560   I1 = vec_all_nan( Faux1.v );
   7561   Iaux = 1;
   7562   for ( i=0; i< 4; i++ )
   7563   {
   7564     Iaux = Iaux && (isnan(Faux1.e[i]));
   7565   }
   7566   if (I1 != Iaux) err++;
   7567 
   7568   if (err)
   7569     printf("Function vec_all_nan [type float]         ===> Error\n");
   7570   else
   7571     printf("Function vec_all_nan [type float]         ===> OK\n");
   7572 #endif
   7573 
   7574 /*    Function vec_all_ne   */
   7575   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   7576   err = 0;
   7577 # if defined (GCC_COMPILER)
   7578    Caux1.v = (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6,  7};
   7579    Caux2.v = (vector signed char){-7, -6, -5, -4, -3, -2, -1,  0, 1, 2, 3, 4, 5, 6, 7, -8};
   7580 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7581    Caux1.v = (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6,  7);
   7582    Caux2.v = (vector signed char)(-7, -6, -5, -4, -3, -2, -1,  0, 1, 2, 3, 4, 5, 6, 7, -8);
   7583 # endif
   7584   b = vec_all_ne (Caux1.v, Caux2.v);
   7585   bAux = 1;
   7586   for (i=0; i<16; i++)
   7587     bAux = bAux && (Caux1.e[i]!=Caux2.e[i]);
   7588   if (bAux != b) err = 1;
   7589 
   7590 # if defined (GCC_COMPILER)
   7591    Caux1.v = (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6,  7};
   7592    Caux2.v = (vector signed char){-7, -6, -5, -4, -3, -2, -1,  0, 1, 2, 3, 4, 4, 6, 7, -8};
   7593 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7594    Caux1.v = (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6,  7);
   7595    Caux2.v = (vector signed char)(-7, -6, -5, -4, -3, -2, -1,  0, 1, 2, 3, 4, 4, 6, 7, -8);
   7596 # endif
   7597   b = vec_all_ne (Caux1.v, Caux2.v);
   7598   bAux= 1;
   7599   for (i=0; i<16; i++)
   7600     bAux= bAux && (Caux1.e[i]!=Caux2.e[i]);
   7601   if (bAux!=b) err= 1;
   7602 
   7603 # if defined (GCC_COMPILER)
   7604    Caux1.v = (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6,  7};
   7605    Caux2.v = (vector signed char){-7, -6, -5, -4, -3, -2, -1,  0, 1, 2, 3, 4, 4, 6, 7, -8};
   7606 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7607    Caux1.v = (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6,  7);
   7608    Caux2.v = (vector signed char)(-7, -6, -5, -4, -3, -2, -1,  0, 1, 2, 3, 4, 4, 6, 7, -8);
   7609 # endif
   7610   b = vec_all_ne (Caux1.v, Caux2.v);
   7611   bAux = 1;
   7612   for (i=0; i<16; i++)
   7613     bAux = bAux && (Caux1.e[i] != Caux2.e[i]);
   7614   if (bAux != b) err = 1;
   7615 
   7616   if (err)
   7617     printf("Function vec_all_ne [type char]           ===> Error\n");
   7618   else
   7619     printf("Function vec_all_ne [type char]           ===> OK\n");
   7620 
   7621 
   7622   err = 0;
   7623 # if defined (GCC_COMPILER)
   7624    UCaux1.v = (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15, 16, 17};
   7625    UCaux2.v = (vector unsigned char){201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17,200};
   7626 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7627    UCaux1.v = (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15, 16, 17);
   7628    UCaux2.v = (vector unsigned char)(201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17,200);
   7629 # endif
   7630 
   7631   b = vec_all_ne (UCaux1.v, UCaux2.v);
   7632   bAux= 1;
   7633   for (i=0; i<16; i++)
   7634     bAux= bAux && (UCaux1.e[i]!=UCaux2.e[i]);
   7635   if (bAux!=b) err= 1;
   7636 
   7637 # if defined (GCC_COMPILER)
   7638    UCaux1.v = (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15, 16, 17};
   7639    UCaux2.v = (vector unsigned char){201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17,200};
   7640 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7641    UCaux1.v = (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15, 16, 17);
   7642    UCaux2.v = (vector unsigned char)(201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17,200);
   7643 # endif
   7644   b = vec_all_ne (UCaux1.v, UCaux2.v);
   7645   bAux = 1;
   7646   for (i=0; i<16; i++)
   7647     bAux = bAux && (UCaux1.e[i] != UCaux2.e[i]);
   7648   if (bAux != b) err = 1;
   7649 
   7650 # if defined (GCC_COMPILER)
   7651    UCaux1.v = (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15, 16, 17};
   7652    UCaux2.v = (vector unsigned char){201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17,200};
   7653 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7654    UCaux1.v = (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15, 16, 17);
   7655    UCaux2.v = (vector unsigned char)(201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17,200);
   7656 # endif
   7657   b = vec_all_ne (UCaux1.v, UCaux2.v);
   7658   bAux = 1;
   7659   for (i=0; i<16; i++)
   7660     bAux = bAux && (UCaux1.e[i] != UCaux2.e[i]);
   7661   if (bAux != b) err = 1;
   7662 
   7663   if (err)
   7664     printf("Function vec_all_ne [type unsigned char]  ===> Error\n");
   7665   else
   7666     printf("Function vec_all_ne [type unsigned char]  ===> OK\n");
   7667 
   7668 
   7669   err = 0;
   7670 # if defined (GCC_COMPILER)
   7671    Saux1.v = (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   7672    Saux2.v = (vector signed short){-3700, -3600, -3500,     0, 3300, 3200, 3100,-3800};
   7673 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7674    Saux1.v = (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   7675    Saux2.v = (vector signed short)(-3700, -3600, -3500,     0, 3300, 3200, 3100,-3800);
   7676 # endif
   7677   b = vec_all_ne (Saux1.v, Saux2.v);
   7678   bAux = 1;
   7679   for (i=0; i<8; i++)
   7680     bAux = bAux && (Saux1.e[i] != Saux2.e[i]);
   7681   if (bAux != b) err = 1;
   7682 
   7683 # if defined (GCC_COMPILER)
   7684    Saux1.v = (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   7685    Saux2.v = (vector signed short){-3700, -3600, -3500,     0, 3300, 3200, 3100,-3800};
   7686 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7687    Saux1.v = (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   7688    Saux2.v = (vector signed short)(-3700, -3600, -3500,     0, 3300, 3200, 3100,-3800);
   7689 # endif
   7690   b = vec_all_ne (Saux1.v, Saux2.v);
   7691   bAux = 1;
   7692   for (i=0; i<8; i++)
   7693     bAux = bAux && (Saux1.e[i] != Saux2.e[i]);
   7694   if (bAux != b) err = 1;
   7695 
   7696 # if defined (GCC_COMPILER)
   7697    Saux1.v = (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   7698    Saux2.v = (vector signed short){-3700, -3600, -3500,     0, 3300, 3200, 3100,-3800};
   7699 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7700    Saux1.v = (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   7701    Saux2.v = (vector signed short)(-3700, -3600, -3500,     0, 3300, 3200, 3100,-3800);
   7702 # endif
   7703   b = vec_all_ne (Saux1.v, Saux2.v);
   7704   bAux = 1;
   7705   for (i=0; i<8; i++)
   7706     bAux = bAux && (Saux1.e[i] != Saux2.e[i]);
   7707   if (bAux != b) err = 1;
   7708 
   7709   if (err)
   7710     printf("Function vec_all_ne [type short]          ===> Error\n");
   7711   else
   7712     printf("Function vec_all_ne [type short]          ===> OK\n");
   7713 
   7714 
   7715   err = 0;
   7716 # if defined (GCC_COMPILER)
   7717    USaux1.v = (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   7718    USaux2.v = (vector unsigned short){47000, 46000, 45000,     0, 3300, 3200, 3100,48000};
   7719 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7720    USaux1.v = (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   7721    USaux2.v = (vector unsigned short)(47000, 46000, 45000,     0, 3300, 3200, 3100,48000);
   7722 # endif
   7723   b = vec_all_ne (USaux1.v, USaux2.v);
   7724   bAux = 1;
   7725   for (i=0; i<8; i++)
   7726     bAux = bAux && (USaux1.e[i] != USaux2.e[i]);
   7727   if (bAux != b) err = 1;
   7728 
   7729 # if defined (GCC_COMPILER)
   7730    USaux1.v = (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   7731    USaux2.v = (vector unsigned short){47000, 46000, 45000,     0, 3300, 3200, 3100,48000};
   7732 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7733    USaux1.v = (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   7734    USaux2.v = (vector unsigned short)(47000, 46000, 45000,     0, 3300, 3200, 3100,48000);
   7735 # endif
   7736   b = vec_all_ne (USaux1.v, USaux2.v);
   7737   bAux = 1;
   7738   for (i=0; i<8; i++)
   7739     bAux = bAux && (USaux1.e[i] != USaux2.e[i]);
   7740   if (bAux != b) err = 1;
   7741 
   7742 # if defined (GCC_COMPILER)
   7743    USaux1.v = (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   7744    USaux2.v = (vector unsigned short){47000, 46000, 45000,     0, 3300, 3200, 3100,48000};
   7745 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7746    USaux1.v = (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   7747    USaux2.v = (vector unsigned short)(47000, 46000, 45000,     0, 3300, 3200, 3100,48000);
   7748 # endif
   7749   b = vec_all_ne (USaux1.v, USaux2.v);
   7750   bAux = 1;
   7751   for (i=0; i<8; i++)
   7752     bAux = bAux && (USaux1.e[i] != USaux2.e[i]);
   7753   if (bAux != b) err = 1;
   7754 
   7755   if (err)
   7756     printf("Function vec_all_ne [type unsigned short] ===> Error\n");
   7757   else
   7758     printf("Function vec_all_ne [type unsigned short] ===> OK\n");
   7759 
   7760 
   7761   err = 0;
   7762 # if defined (GCC_COMPILER)
   7763    Iaux1.v = (vector signed int){-1003800, -1003700,       0, 1003300};
   7764    Iaux2.v = (vector signed int){-1003700,        0, 1003300,-1003800};
   7765 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7766    Iaux1.v = (vector signed int)(-1003800, -1003700,       0, 1003300);
   7767    Iaux2.v = (vector signed int)(-1003700,        0, 1003300,-1003800);
   7768 # endif
   7769   b = vec_all_ne (Iaux1.v, Iaux2.v);
   7770   bAux = 1;
   7771   for (i=0; i<4; i++)
   7772     bAux = bAux && (Iaux1.e[i] != Iaux2.e[i]);
   7773   if (bAux != b) err = 1;
   7774 
   7775 # if defined (GCC_COMPILER)
   7776    Iaux1.v = (vector signed int){-1003800, -1003700,       0, 1003300};
   7777    Iaux2.v = (vector signed int){-1003700,        0, 1003300,-1003800};
   7778 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7779    Iaux1.v = (vector signed int)(-1003800, -1003700,       0, 1003300);
   7780    Iaux2.v = (vector signed int)(-1003700,        0, 1003300,-1003800);
   7781 # endif
   7782   b = vec_all_ne (Iaux1.v, Iaux2.v);
   7783   bAux = 1;
   7784   for (i=0; i<4; i++)
   7785     bAux = bAux && (Iaux1.e[i] != Iaux2.e[i]);
   7786   if (bAux != b) err = 1;
   7787 
   7788 # if defined (GCC_COMPILER)
   7789    Iaux1.v= (vector signed int){-1003800, -1003700,       0, 1003300};
   7790    Iaux2.v= (vector signed int){-1003700,        0, 1003300,-1003800};
   7791 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7792    Iaux1.v= (vector signed int)(-1003800, -1003700,       0, 1003300);
   7793    Iaux2.v= (vector signed int)(-1003700,        0, 1003300,-1003800);
   7794 # endif
   7795   b = vec_all_ne (Iaux1.v, Iaux2.v);
   7796   bAux = 1;
   7797   for (i=0; i<4; i++)
   7798     bAux = bAux && (Iaux1.e[i] != Iaux2.e[i]);
   7799   if (bAux != b) err = 1;
   7800 
   7801   if (err)
   7802     printf("Function vec_all_ne [type int]            ===> Error\n");
   7803   else
   7804     printf("Function vec_all_ne [type int]            ===> OK\n");
   7805 
   7806 
   7807   err = 0;
   7808 # if defined (GCC_COMPILER)
   7809    UIaux1.v = (vector unsigned int){0xFFFFF000, 12345678, 0,         1};
   7810    UIaux2.v = (vector unsigned int){  12345678,        0, 1,0xFFFFF000};
   7811 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7812    UIaux1.v = (vector unsigned int)(0xFFFFF000, 12345678, 0,         1);
   7813    UIaux2.v = (vector unsigned int)(  12345678,        0, 1,0xFFFFF000);
   7814 # endif
   7815   b = vec_all_ne (UIaux1.v, UIaux2.v);
   7816   bAux = 1;
   7817   for (i=0; i<4; i++)
   7818     bAux = bAux && (UIaux1.e[i] != UIaux2.e[i]);
   7819   if (bAux != b) err = 1;
   7820 
   7821 # if defined (GCC_COMPILER)
   7822    UIaux1.v = (vector unsigned int){0xFFFFF000, 12345678, 0,         1};
   7823    UIaux2.v = (vector unsigned int){  12345678,        0, 1,0xFFFFF000};
   7824 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7825    UIaux1.v = (vector unsigned int)(0xFFFFF000, 12345678, 0,         1);
   7826    UIaux2.v = (vector unsigned int)(  12345678,        0, 1,0xFFFFF000);
   7827 # endif
   7828   b = vec_all_ne (UIaux1.v, UIaux2.v);
   7829   bAux = 1;
   7830   for (i=0; i<4; i++)
   7831     bAux = bAux && (UIaux1.e[i] != UIaux2.e[i]);
   7832   if (bAux != b) err = 1;
   7833 
   7834 # if defined (GCC_COMPILER)
   7835    UIaux1.v = (vector unsigned int){0xFFFFF000, 12345678, 0,         1};
   7836    UIaux2.v = (vector unsigned int){  12345678,        0, 1,0xFFFFF000};
   7837 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7838    UIaux1.v = (vector unsigned int)(0xFFFFF000, 12345678, 0,         1);
   7839    UIaux2.v = (vector unsigned int)(  12345678,        0, 1,0xFFFFF000);
   7840 # endif
   7841   b = vec_all_ne (UIaux1.v, UIaux2.v);
   7842   bAux = 1;
   7843   for (i=0; i<4; i++)
   7844     bAux = bAux && (UIaux1.e[i] != UIaux2.e[i]);
   7845   if (bAux != b) err = 1;
   7846 
   7847   if (err)
   7848     printf("Function vec_all_ne [type unsigned int]   ===> Error\n");
   7849   else
   7850     printf("Function vec_all_ne [type unsigned int]   ===> OK\n");
   7851 
   7852 #if defined TEST_FLOATS
   7853   err = 0;
   7854 # if defined (GCC_COMPILER)
   7855    Faux1.v = (vector float) {-1.5, 1.0,    0.5, -3.999};
   7856    Faux2.v = (vector float) { 1.0, 0.5, -3.999, -1.5};
   7857 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7858    Faux1.v = (vector float) (-1.5, 1.0,    0.5, -3.999);
   7859    Faux2.v = (vector float) ( 1.0, 0.5, -3.999, -1.5);
   7860 # endif
   7861   b = vec_all_ne (Faux1.v, Faux2.v);
   7862   bAux = 1;
   7863   for (i=0; i<4; i++)
   7864     bAux = bAux && (Faux1.e[i] != Faux2.e[i]);
   7865   if (bAux != b) err = 1;
   7866 
   7867 # if defined (GCC_COMPILER)
   7868    Faux1.v = (vector float) {-1.5, 1.0,    0.5, -3.999};
   7869    Faux2.v = (vector float) { 1.0, 0.5, -3.999, -1.5};
   7870 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7871    Faux1.v = (vector float) (-1.5, 1.0,    0.5, -3.999);
   7872    Faux2.v = (vector float) ( 1.0, 0.5, -3.999, -1.5);
   7873 # endif
   7874   b = vec_all_ne (Faux1.v, Faux2.v);
   7875   bAux = 1;
   7876   for (i=0; i<4; i++)
   7877     bAux = bAux && (Faux1.e[i] != Faux2.e[i]);
   7878   if (bAux != b) err = 1;
   7879 
   7880 # if defined (GCC_COMPILER)
   7881    Faux1.v = (vector float) {-1.5, 1.0,    0.5, -3.999};
   7882    Faux2.v = (vector float) { 1.0, 0.5, -3.999, -1.5};
   7883 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7884    Faux1.v = (vector float) (-1.5, 1.0,    0.5, -3.999);
   7885    Faux2.v = (vector float) ( 1.0, 0.5, -3.999, -1.5);
   7886 # endif
   7887   b = vec_all_ne (Faux1.v, Faux2.v);
   7888   bAux = 1;
   7889   for (i=0; i<4; i++)
   7890     bAux = bAux && (Faux1.e[i] != Faux2.e[i]);
   7891   if (bAux != b) err = 1;
   7892 
   7893   if (err)
   7894     printf("Function vec_all_ne [type float]          ===> Error\n");
   7895   else
   7896     printf("Function vec_all_ne [type float]          ===> OK\n");
   7897 #endif
   7898 
   7899 #if defined TEST_FLOATS
   7900 /*    Function vec_all_nge    */
   7901   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   7902   err = 0;
   7903 # if defined (GCC_COMPILER)
   7904    Faux1.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   7905    Faux2.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   7906 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7907    Faux1.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   7908    Faux2.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   7909 # endif
   7910   b = vec_all_nge (Faux1.v, Faux2.v);
   7911   bAux = 1;
   7912   for (i=0; i<4; i++)
   7913     bAux = bAux && (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   7914          (Faux1.e[i] < Faux2.e[i]));
   7915   if (bAux != b) err = 1;
   7916 
   7917 # if defined (GCC_COMPILER)
   7918    Faux1.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   7919    Faux2.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   7920 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7921    Faux1.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   7922    Faux2.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   7923 # endif
   7924   b = vec_all_nge (Faux1.v, Faux2.v);
   7925   bAux = 1;
   7926   for (i=0; i<4; i++)
   7927     bAux = bAux && (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   7928          (Faux1.e[i] < Faux2.e[i]));
   7929   if (bAux != b) err = 1;
   7930 
   7931 # if defined (GCC_COMPILER)
   7932    Faux1.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   7933    Faux2.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   7934 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7935    Faux1.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   7936    Faux2.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   7937 # endif
   7938   b = vec_all_nge (Faux1.v, Faux2.v);
   7939   bAux = 1;
   7940   for (i=0; i<4; i++)
   7941     bAux = bAux && (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   7942          (Faux1.e[i] < Faux2.e[i]));
   7943   if (bAux != b) err = 1;
   7944 
   7945 # if defined (GCC_COMPILER)
   7946    Faux1.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   7947    Faux2.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   7948 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7949    Faux1.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   7950    Faux2.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   7951 # endif
   7952   b = vec_all_nge (Faux1.v, Faux2.v);
   7953   bAux = 1;
   7954   for (i=0; i<4; i++)
   7955     bAux = bAux && (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   7956          (Faux1.e[i] < Faux2.e[i]));
   7957   if (bAux != b) err = 1;
   7958 
   7959   if (err)
   7960     printf("Function vec_all_nge [type float]         ===> Error\n");
   7961   else
   7962     printf("Function vec_all_nge [type float]         ===> OK\n");
   7963 #endif
   7964 
   7965 #if defined TEST_FLOATS
   7966 /*    Function vec_all_ngt    */
   7967   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   7968   err = 0;
   7969 # if defined (GCC_COMPILER)
   7970    Faux1.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   7971    Faux2.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   7972 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7973    Faux1.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   7974    Faux2.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   7975 # endif
   7976   b = vec_all_ngt (Faux1.v, Faux2.v);
   7977   bAux = 1;
   7978   for (i=0; i<4; i++)
   7979     bAux = bAux &&
   7980          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] > Faux2.e[i]));
   7981   if (bAux != b) err = 1;
   7982 
   7983 # if defined (GCC_COMPILER)
   7984    Faux1.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   7985    Faux2.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   7986 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   7987    Faux1.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   7988    Faux2.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   7989 # endif
   7990   b = vec_all_ngt (Faux1.v, Faux2.v);
   7991   bAux = 1;
   7992   for (i=0; i<4; i++)
   7993     bAux = bAux &&
   7994          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] > Faux2.e[i]));
   7995   if (bAux != b) err = 1;
   7996 
   7997 # if defined (GCC_COMPILER)
   7998    Faux1.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   7999    Faux2.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   8000 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8001    Faux1.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   8002    Faux2.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8003 # endif
   8004   b = vec_all_ngt (Faux1.v, Faux2.v);
   8005   bAux = 1;
   8006   for (i=0; i<4; i++)
   8007     bAux = bAux &&
   8008          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] > Faux2.e[i]));
   8009   if (bAux!=b) err= 1;
   8010 
   8011 # if defined (GCC_COMPILER)
   8012    Faux1.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   8013    Faux2.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   8014 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8015    Faux1.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   8016    Faux2.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8017 # endif
   8018   b = vec_all_ngt (Faux1.v, Faux2.v);
   8019   bAux = 1;
   8020   for (i=0; i<4; i++)
   8021     bAux = bAux &&
   8022          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] > Faux2.e[i]));
   8023   if (bAux != b) err = 1;
   8024 
   8025   if (err)
   8026     printf("Function vec_all_ngt [type float]         ===> Error\n");
   8027   else
   8028     printf("Function vec_all_ngt [type float]         ===> OK\n");
   8029 #endif
   8030 
   8031 #if defined TEST_FLOATS
   8032 /*    Function vec_all_nle    */
   8033   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   8034   err = 0;
   8035 # if defined (GCC_COMPILER)
   8036    Faux1.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   8037    Faux2.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   8038 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8039    Faux1.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8040    Faux2.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   8041 # endif
   8042   b = vec_all_nle (Faux1.v, Faux2.v);
   8043   bAux = 1;
   8044   for (i=0; i<4; i++)
   8045     bAux = bAux &&
   8046          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] <= Faux2.e[i]));
   8047   if (bAux != b) err = 1;
   8048 
   8049 # if defined (GCC_COMPILER)
   8050    Faux1.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   8051    Faux2.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   8052 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8053    Faux1.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8054    Faux2.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   8055 # endif
   8056   b = vec_all_nle (Faux1.v, Faux2.v);
   8057   bAux = 1;
   8058   for (i=0; i<4; i++)
   8059     bAux = bAux &&
   8060          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] <= Faux2.e[i]));
   8061   if (bAux != b) err = 1;
   8062 
   8063 # if defined (GCC_COMPILER)
   8064    Faux1.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   8065    Faux2.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   8066 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8067    Faux1.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8068    Faux2.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   8069 # endif
   8070   b = vec_all_nle (Faux1.v, Faux2.v);
   8071   bAux = 1;
   8072   for (i=0; i<4; i++)
   8073     bAux = bAux &&
   8074          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] <=Faux2.e[i]));
   8075   if (bAux != b) err = 1;
   8076 
   8077 # if defined (GCC_COMPILER)
   8078    Faux1.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   8079    Faux2.v = (vector float) {-1.5, 1.0, NAN, -3.999};
   8080 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8081    Faux1.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8082    Faux2.v = (vector float) (-1.5, 1.0, NAN, -3.999);
   8083 # endif
   8084   b = vec_all_nle (Faux1.v, Faux2.v);
   8085   bAux = 1;
   8086   for (i=0; i<4; i++)
   8087     bAux = bAux &&
   8088          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] <= Faux2.e[i]));
   8089   if (bAux != b) err = 1;
   8090 
   8091   if (err)
   8092     printf("Function vec_all_nle [type float]         ===> Error\n");
   8093   else
   8094     printf("Function vec_all_nle [type float]         ===> OK\n");
   8095 #endif
   8096 
   8097 
   8098 #if defined TEST_FLOATS
   8099 /*    Function vec_all_nlt    */
   8100   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   8101   err = 0;
   8102 # if defined (GCC_COMPILER)
   8103    Faux1.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   8104    Faux2.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   8105 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8106    Faux1.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8107    Faux2.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   8108 # endif
   8109   b = vec_all_nlt (Faux1.v, Faux2.v);
   8110   bAux = 1;
   8111   for (i=0; i<4; i++)
   8112     bAux = bAux &&
   8113          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] < Faux2.e[i]));
   8114   if (bAux != b) err = 1;
   8115 
   8116 # if defined (GCC_COMPILER)
   8117    Faux1.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   8118    Faux2.v = (vector float) {-1.5, 5.0, 0.5, -3.999};
   8119 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8120    Faux1.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8121    Faux2.v = (vector float) (-1.5, 5.0, 0.5, -3.999);
   8122 # endif
   8123   b = vec_all_nlt (Faux1.v, Faux2.v);
   8124   bAux = 1;
   8125   for (i=0; i<4; i++)
   8126     bAux = bAux &&
   8127          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] < Faux2.e[i]));
   8128   if (bAux != b) err = 1;
   8129 
   8130 # if defined (GCC_COMPILER)
   8131    Faux1.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   8132    Faux2.v = (vector float) {-1.5, 1.0, 0.55, -3.999};
   8133 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8134    Faux1.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8135    Faux2.v = (vector float) (-1.5, 1.0, 0.55, -3.999);
   8136 # endif
   8137   b = vec_all_nlt (Faux1.v, Faux2.v);
   8138   bAux = 1;
   8139   for (i=0; i<4; i++)
   8140     bAux = bAux &&
   8141          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] < Faux2.e[i]));
   8142   if (bAux != b) err = 1;
   8143 
   8144 # if defined (GCC_COMPILER)
   8145    Faux1.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   8146    Faux2.v = (vector float) {-1.5, 1.0, NAN, -3.999};
   8147 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8148    Faux1.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8149    Faux2.v = (vector float) (-1.5, 1.0, NAN, -3.999);
   8150 # endif
   8151   b = vec_all_nlt (Faux1.v, Faux2.v);
   8152   bAux = 1;
   8153   for (i=0; i<4; i++)
   8154     bAux = bAux &&
   8155          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i] < Faux2.e[i]));
   8156   if (bAux != b) err = 1;
   8157 
   8158   if (err)
   8159     printf("Function vec_all_nlt [type float]         ===> Error\n");
   8160   else
   8161     printf("Function vec_all_nlt [type float]         ===> OK\n");
   8162 #endif
   8163 
   8164 
   8165 #if defined TEST_FLOATS
   8166 /*    Function vec_all_numeric    */
   8167   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   8168   err = 0;
   8169 # if defined (GCC_COMPILER)
   8170    Faux1.v = (vector float) {0.0, 3.5, 0.55, -1.5};
   8171 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8172    Faux1.v = (vector float) (0.0, 3.5, 0.55, -1.5);
   8173 # endif
   8174   b = vec_all_numeric (Faux1.v);
   8175   bAux = 1;
   8176   for (i=0; i<4; i++)
   8177     bAux = bAux && !isnan(Faux1.e[i]);
   8178   if (bAux != b) err = 1;
   8179 
   8180 # if defined (GCC_COMPILER)
   8181    Faux1.v = (vector float) {0.0, 3.5, 0.5, -1.5};
   8182 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8183    Faux1.v = (vector float) (0.0, 3.5, 0.5, -1.5);
   8184 # endif
   8185   b = vec_all_numeric (Faux1.v);
   8186   bAux = 1;
   8187   for (i=0; i<4; i++)
   8188     bAux = bAux && !isnan(Faux1.e[i]);
   8189   if (bAux != b) err = 1;
   8190 
   8191 # if defined (GCC_COMPILER)
   8192    Faux1.v = (vector float) {0.0, 3.5, NAN, -1.5};
   8193 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8194    Faux1.v = (vector float) (0.0, 3.5, NAN, -1.5);
   8195 # endif
   8196   b = vec_all_numeric (Faux1.v);
   8197   bAux = 1;
   8198   for (i=0; i<4; i++)
   8199     bAux = bAux && !isnan(Faux1.e[i]);
   8200   if (bAux != b) err = 1;
   8201 
   8202 # if defined (GCC_COMPILER)
   8203    Faux1.v = (vector float) {NAN, NAN, NAN, NAN};
   8204 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8205    Faux1.v = (vector float) (NAN, NAN, NAN, NAN);
   8206 # endif
   8207   b = vec_all_numeric (Faux1.v);
   8208   bAux = 1;
   8209   for (i=0; i<4; i++)
   8210     bAux = bAux && !isnan(Faux1.e[i]);
   8211   if (bAux != b) err = 1;
   8212 
   8213   if (err)
   8214     printf("Function vec_all_numeric [type float]     ===> Error\n");
   8215   else
   8216     printf("Function vec_all_numeric [type float]     ===> OK\n");
   8217 #endif
   8218 
   8219 /*    Function vec_any_eq    */
   8220   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   8221   err = 0;
   8222   Caux1.v= Ccons1;
   8223   Caux2.v= Ccons3;
   8224   b= vec_any_eq (Caux1.v, Caux2.v);
   8225   bAux= 0;
   8226   for (i=0; i<16; i++)
   8227     bAux= bAux || (Caux1.e[i]==Caux2.e[i]);
   8228   if (bAux!=b) err= 1;
   8229 
   8230   Caux1.v= Ccons1;
   8231   Caux2.v= Ccons2;
   8232   b= vec_any_eq (Caux1.v, Caux2.v);
   8233   bAux= 0;
   8234   for (i=0; i<16; i++)
   8235     bAux= bAux || (Caux1.e[i]==Caux2.e[i]);
   8236   if (bAux!=b) err= 1;
   8237 
   8238   if (err)
   8239     printf("Function vec_any_eq [type char]           ===> Error\n");
   8240   else
   8241     printf("Function vec_any_eq [type char]           ===> OK\n");
   8242 
   8243 
   8244   err = 0;
   8245   UCaux1.v= UCcons1;
   8246   UCaux2.v= UCcons3;
   8247   b= vec_any_eq (UCaux1.v, UCaux2.v);
   8248   bAux= 0;
   8249   for (i=0; i<16; i++)
   8250     bAux= bAux || (UCaux1.e[i]==UCaux2.e[i]);
   8251   if (bAux!=b) err= 1;
   8252 
   8253   UCaux1.v= UCcons1;
   8254   UCaux2.v= UCcons2;
   8255   b= vec_any_eq (UCaux1.v, UCaux2.v);
   8256   bAux= 0;
   8257   for (i=0; i<16; i++)
   8258     bAux= bAux || (UCaux1.e[i]==UCaux2.e[i]);
   8259   if (bAux!=b) err= 1;
   8260 
   8261   if (err)
   8262     printf("Function vec_any_eq [type unsigned char]  ===> Error\n");
   8263   else
   8264     printf("Function vec_any_eq [type unsigned char]  ===> OK\n");
   8265 
   8266 
   8267   err = 0;
   8268   Saux1.v= Scons1;
   8269   Saux2.v= Scons3;
   8270   b= vec_any_eq (Saux1.v, Saux2.v);
   8271   bAux= 0;
   8272   for (i=0; i<8; i++)
   8273     bAux= bAux || (Saux1.e[i]==Saux2.e[i]);
   8274   if (bAux!=b) err= 1;
   8275 
   8276   Saux1.v= Scons1;
   8277   Saux2.v= Scons2;
   8278   b= vec_any_eq (Saux1.v, Saux2.v);
   8279   bAux= 0;
   8280   for (i=0; i<8; i++)
   8281     bAux= bAux || (Saux1.e[i]==Saux2.e[i]);
   8282   if (bAux!=b) err= 1;
   8283 
   8284   if (err)
   8285     printf("Function vec_any_eq [type short]          ===> Error\n");
   8286   else
   8287     printf("Function vec_any_eq [type short]          ===> OK\n");
   8288 
   8289 
   8290   err = 0;
   8291   USaux1.v= UScons1;
   8292   USaux2.v= UScons3;
   8293   b= vec_any_eq (USaux1.v, USaux2.v);
   8294   bAux= 0;
   8295   for (i=0; i<8; i++)
   8296     bAux= bAux || (USaux1.e[i]==USaux2.e[i]);
   8297   if (bAux!=b) err= 1;
   8298 
   8299   USaux1.v= UScons1;
   8300   USaux2.v= UScons2;
   8301   b= vec_any_eq (USaux1.v, USaux2.v);
   8302   bAux= 0;
   8303   for (i=0; i<8; i++)
   8304     bAux= bAux || (USaux1.e[i]==USaux2.e[i]);
   8305   if (bAux!=b) err= 1;
   8306 
   8307   if (err)
   8308     printf("Function vec_any_eq [type unsigned short] ===> Error\n");
   8309   else
   8310     printf("Function vec_any_eq [type unsigned short] ===> OK\n");
   8311 
   8312 
   8313   err = 0;
   8314   Iaux1.v= Icons1;
   8315   Iaux2.v= Icons3;
   8316   b= vec_any_eq (Iaux1.v, Iaux2.v);
   8317   bAux= 0;
   8318   for (i=0; i<4; i++)
   8319     bAux= bAux || (Iaux1.e[i]==Iaux2.e[i]);
   8320   if (bAux!=b) err= 1;
   8321 
   8322   Iaux1.v= Icons1;
   8323   Iaux2.v= Icons2;
   8324   b= vec_any_eq (Iaux1.v, Iaux2.v);
   8325   bAux= 0;
   8326   for (i=0; i<4; i++)
   8327     bAux= bAux || (Iaux1.e[i]==Iaux2.e[i]);
   8328   if (bAux!=b) err= 1;
   8329 
   8330   if (err)
   8331     printf("Function vec_any_eq [type int]            ===> Error\n");
   8332   else
   8333     printf("Function vec_any_eq [type int]            ===> OK\n");
   8334 
   8335 
   8336   err = 0;
   8337   UIaux1.v= UIcons1;
   8338   UIaux2.v= UIcons3;
   8339   b= vec_any_eq (UIaux1.v, UIaux2.v);
   8340   bAux= 0;
   8341   for (i=0; i<4; i++)
   8342     bAux= bAux || (UIaux1.e[i]==UIaux2.e[i]);
   8343   if (bAux!=b) err= 1;
   8344 
   8345   UIaux1.v= UIcons1;
   8346   UIaux2.v= UIcons2;
   8347   b= vec_any_eq (UIaux1.v, UIaux2.v);
   8348   bAux= 0;
   8349   for (i=0; i<4; i++)
   8350     bAux= bAux || (UIaux1.e[i]==UIaux2.e[i]);
   8351   if (bAux!=b) err= 1;
   8352 
   8353   if (err)
   8354     printf("Function vec_any_eq [type unsigned int]   ===> Error\n");
   8355   else
   8356     printf("Function vec_any_eq [type unsigned int]   ===> OK\n");
   8357 
   8358 
   8359 #if defined TEST_FLOATS
   8360   err = 0;
   8361 # if defined (GCC_COMPILER)
   8362    Faux1.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   8363    Faux2.v = (vector float) { 0.0, 3.5, 0.55, -1.5};
   8364 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8365    Faux1.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   8366    Faux2.v = (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8367 # endif
   8368   b = vec_any_eq (Faux1.v, Faux2.v);
   8369   bAux = 0;
   8370   for (i=0; i<4; i++)
   8371     bAux = bAux || (Faux1.e[i] == Faux2.e[i]);
   8372   if (bAux != b) err = 1;
   8373 
   8374 # if defined (GCC_COMPILER)
   8375    Faux1.v = (vector float) {-1.5, 1.0, 0.5, -3.999};
   8376    Faux2.v = (vector float) { 0.0, 3.5, 0.5, -1.5};
   8377 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8378    Faux1.v = (vector float) (-1.5, 1.0, 0.5, -3.999);
   8379    Faux2.v = (vector float) ( 0.0, 3.5, 0.5, -1.5);
   8380 # endif
   8381   b= vec_any_eq (Faux1.v, Faux2.v);
   8382   bAux= 0;
   8383   for (i=0; i<4; i++)
   8384     bAux= bAux || (Faux1.e[i]==Faux2.e[i]);
   8385   if (bAux!=b) err= 1;
   8386 
   8387   if (err)
   8388     printf("Function vec_any_eq [type float]          ===> Error\n");
   8389   else
   8390     printf("Function vec_any_eq [type float]          ===> OK\n");
   8391 #endif
   8392 
   8393 /*    Function vec_any_ge    */
   8394   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   8395   err = 0;
   8396 # if defined (GCC_COMPILER)
   8397    Caux1.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   8398    Caux2.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   8399 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8400    Caux1.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   8401    Caux2.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   8402 # endif
   8403   b= vec_any_ge (Caux1.v, Caux2.v);
   8404   bAux= 0;
   8405   for (i=0; i<16; i++)
   8406     bAux= bAux || (Caux1.e[i]>=Caux2.e[i]);
   8407   if (bAux!=b) err= 1;
   8408 
   8409 # if defined (GCC_COMPILER)
   8410    Caux1.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   8411    Caux2.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   8412 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8413    Caux1.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   8414    Caux2.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   8415 # endif
   8416   b= vec_any_ge (Caux1.v, Caux2.v);
   8417   bAux= 0;
   8418   for (i=0; i<16; i++)
   8419     bAux= bAux || (Caux1.e[i]>=Caux2.e[i]);
   8420   if (bAux!=b) err= 1;
   8421 
   8422 # if defined (GCC_COMPILER)
   8423    Caux1.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   8424    Caux2.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   8425 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8426    Caux1.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   8427    Caux2.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   8428 # endif
   8429   b= vec_any_ge (Caux1.v, Caux2.v);
   8430   bAux= 0;
   8431   for (i=0; i<16; i++)
   8432     bAux= bAux || (Caux1.e[i]>=Caux2.e[i]);
   8433   if (bAux!=b) err= 1;
   8434 
   8435   if (err)
   8436     printf("Function vec_any_ge [type char]           ===> Error\n");
   8437   else
   8438     printf("Function vec_any_ge [type char]           ===> OK\n");
   8439 
   8440 
   8441   err = 0;
   8442 # if defined (GCC_COMPILER)
   8443    UCaux1.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   8444    UCaux2.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   8445 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8446    UCaux1.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   8447    UCaux2.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   8448 # endif
   8449   b= vec_any_ge (UCaux1.v, UCaux2.v);
   8450   bAux= 0;
   8451   for (i=0; i<16; i++)
   8452     bAux= bAux || (UCaux1.e[i]>=UCaux2.e[i]);
   8453   if (bAux!=b) err= 1;
   8454 
   8455 # if defined (GCC_COMPILER)
   8456    UCaux1.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   8457    UCaux2.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   8458 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8459    UCaux1.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   8460    UCaux2.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   8461 # endif
   8462   b= vec_any_ge (UCaux1.v, UCaux2.v);
   8463   bAux= 0;
   8464   for (i=0; i<16; i++)
   8465     bAux= bAux || (UCaux1.e[i]>=UCaux2.e[i]);
   8466   if (bAux!=b) err= 1;
   8467 
   8468 # if defined (GCC_COMPILER)
   8469    UCaux1.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   8470    UCaux2.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   8471 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8472    UCaux1.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   8473    UCaux2.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   8474 # endif
   8475   b= vec_any_ge (UCaux1.v, UCaux2.v);
   8476   bAux= 0;
   8477   for (i=0; i<16; i++)
   8478     bAux= bAux || (UCaux1.e[i]>=UCaux2.e[i]);
   8479   if (bAux!=b) err= 1;
   8480 
   8481   if (err)
   8482     printf("Function vec_any_ge [type unsigned char]  ===> Error\n");
   8483   else
   8484     printf("Function vec_any_ge [type unsigned char]  ===> OK\n");
   8485 
   8486 
   8487   err = 0;
   8488 # if defined (GCC_COMPILER)
   8489    Saux1.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   8490    Saux2.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   8491 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8492    Saux1.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   8493    Saux2.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   8494 # endif
   8495   b= vec_any_ge (Saux1.v, Saux2.v);
   8496   bAux= 0;
   8497   for (i=0; i<8; i++)
   8498     bAux= bAux || (Saux1.e[i]>=Saux2.e[i]);
   8499   if (bAux!=b) err= 1;
   8500 
   8501 # if defined (GCC_COMPILER)
   8502    Saux1.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   8503    Saux2.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   8504 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8505    Saux1.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   8506    Saux2.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   8507 # endif
   8508   b= vec_any_ge (Saux1.v, Saux2.v);
   8509   bAux= 0;
   8510   for (i=0; i<8; i++)
   8511     bAux= bAux || (Saux1.e[i]>=Saux2.e[i]);
   8512   if (bAux!=b) err= 1;
   8513 
   8514 # if defined (GCC_COMPILER)
   8515    Saux1.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   8516    Saux2.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   8517 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8518    Saux1.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   8519    Saux2.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   8520 # endif
   8521   b= vec_any_ge (Saux1.v, Saux2.v);
   8522   bAux= 0;
   8523   for (i=0; i<8; i++)
   8524     bAux= bAux || (Saux1.e[i]>=Saux2.e[i]);
   8525   if (bAux!=b) err= 1;
   8526 
   8527   if (err)
   8528     printf("Function vec_any_ge [type short]          ===> Error\n");
   8529   else
   8530     printf("Function vec_any_ge [type short]          ===> OK\n");
   8531 
   8532 
   8533   err = 0;
   8534 # if defined (GCC_COMPILER)
   8535    USaux1.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   8536    USaux2.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   8537 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8538    USaux1.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   8539    USaux2.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   8540 # endif
   8541   b= vec_any_ge (USaux1.v, USaux2.v);
   8542   bAux= 0;
   8543   for (i=0; i<8; i++)
   8544     bAux= bAux || (USaux1.e[i]>=USaux2.e[i]);
   8545   if (bAux!=b) err= 1;
   8546 
   8547 # if defined (GCC_COMPILER)
   8548    USaux1.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   8549    USaux2.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   8550 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8551    USaux1.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   8552    USaux2.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   8553 # endif
   8554   b= vec_any_ge (USaux1.v, USaux2.v);
   8555   bAux= 0;
   8556   for (i=0; i<8; i++)
   8557     bAux= bAux || (USaux1.e[i]>=USaux2.e[i]);
   8558   if (bAux!=b) err= 1;
   8559 
   8560 # if defined (GCC_COMPILER)
   8561    USaux1.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   8562    USaux2.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   8563 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8564    USaux1.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   8565    USaux2.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   8566 # endif
   8567   b= vec_any_ge (USaux1.v, USaux2.v);
   8568   bAux= 0;
   8569   for (i=0; i<8; i++)
   8570     bAux= bAux || (USaux1.e[i]>=USaux2.e[i]);
   8571   if (bAux!=b) err= 1;
   8572 
   8573   if (err)
   8574     printf("Function vec_any_ge [type unsigned short] ===> Error\n");
   8575   else
   8576     printf("Function vec_any_ge [type unsigned short] ===> OK\n");
   8577 
   8578 
   8579   err = 0;
   8580 # if defined (GCC_COMPILER)
   8581    Iaux1.v= (vector signed int){-1003800, -1003700,       0,1003300};
   8582    Iaux2.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   8583 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8584    Iaux1.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   8585    Iaux2.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   8586 # endif
   8587   b= vec_any_ge (Iaux1.v, Iaux2.v);
   8588   bAux= 0;
   8589   for (i=0; i<4; i++)
   8590     bAux= bAux || (Iaux1.e[i]>=Iaux2.e[i]);
   8591   if (bAux!=b) err= 1;
   8592 
   8593 # if defined (GCC_COMPILER)
   8594    Iaux1.v= (vector signed int){-1003800, -1003700,       0,1003300};
   8595    Iaux2.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   8596 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8597    Iaux1.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   8598    Iaux2.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   8599 # endif
   8600   b= vec_any_ge (Iaux1.v, Iaux2.v);
   8601   bAux= 0;
   8602   for (i=0; i<4; i++)
   8603     bAux= bAux || (Iaux1.e[i]>=Iaux2.e[i]);
   8604   if (bAux!=b) err= 1;
   8605 
   8606 # if defined (GCC_COMPILER)
   8607    Iaux1.v= (vector signed int){-1003800, -1003700,       0,1003300};
   8608    Iaux2.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   8609 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8610    Iaux1.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   8611    Iaux2.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   8612 # endif
   8613   b= vec_any_ge (Iaux1.v, Iaux2.v);
   8614   bAux= 0;
   8615   for (i=0; i<4; i++)
   8616     bAux= bAux || (Iaux1.e[i]>=Iaux2.e[i]);
   8617   if (bAux!=b) err= 1;
   8618 
   8619   if (err)
   8620     printf("Function vec_any_ge [type int]            ===> Error\n");
   8621   else
   8622     printf("Function vec_any_ge [type int]            ===> OK\n");
   8623 
   8624 
   8625   err = 0;
   8626 # if defined (GCC_COMPILER)
   8627    UIaux1.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   8628    UIaux2.v= (vector unsigned int){0xFFFFFFF0, 20000000, 9, 9};
   8629 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8630    UIaux1.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   8631    UIaux2.v= (vector unsigned int)(0xFFFFFFF0, 20000000, 9, 9);
   8632 # endif
   8633   b= vec_any_ge (UIaux1.v, UIaux2.v);
   8634   bAux= 0;
   8635   for (i=0; i<4; i++)
   8636     bAux= bAux || (UIaux1.e[i]>=UIaux2.e[i]);
   8637   if (bAux!=b) err= 1;
   8638 
   8639 # if defined (GCC_COMPILER)
   8640    UIaux1.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   8641    UIaux2.v= (vector unsigned int){0xFFFFFFF0, 20000000, 9, 9};
   8642 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8643    UIaux1.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   8644    UIaux2.v= (vector unsigned int)(0xFFFFFFF0, 20000000, 9, 9);
   8645 # endif
   8646   b= vec_any_ge (UIaux1.v, UIaux2.v);
   8647   bAux= 0;
   8648   for (i=0; i<4; i++)
   8649     bAux= bAux || (UIaux1.e[i]>=UIaux2.e[i]);
   8650   if (bAux!=b) err= 1;
   8651 
   8652 # if defined (GCC_COMPILER)
   8653    UIaux1.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   8654    UIaux2.v= (vector unsigned int){0xFFFFFFF0, 20000000, 9, 9};
   8655 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8656    UIaux1.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   8657    UIaux2.v= (vector unsigned int)(0xFFFFFFF0, 20000000, 9, 9);
   8658 # endif
   8659   b= vec_any_ge (UIaux1.v, UIaux2.v);
   8660   bAux= 0;
   8661   for (i=0; i<4; i++)
   8662     bAux= bAux || (UIaux1.e[i]>=UIaux2.e[i]);
   8663   if (bAux!=b) err= 1;
   8664 
   8665   if (err)
   8666     printf("Function vec_any_ge [type unsigned int]   ===> Error\n");
   8667   else
   8668     printf("Function vec_any_ge [type unsigned int]   ===> OK\n");
   8669 
   8670 #if defined TEST_FLOATS
   8671   err = 0;
   8672 # if defined (GCC_COMPILER)
   8673    Faux1.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   8674    Faux2.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   8675 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8676    Faux1.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   8677    Faux2.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   8678 # endif
   8679   b= vec_any_ge (Faux1.v, Faux2.v);
   8680   bAux= 0;
   8681   for (i=0; i<4; i++)
   8682     bAux= bAux || (Faux1.e[i]>=Faux2.e[i]);
   8683   if (bAux!=b) err= 1;
   8684 
   8685 # if defined (GCC_COMPILER)
   8686    Faux1.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   8687    Faux2.v= (vector float) { 0.0, 3.5, 0.5, -1.5};
   8688 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8689    Faux1.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   8690    Faux2.v= (vector float) ( 0.0, 3.5, 0.5, -1.5);
   8691 # endif
   8692   b= vec_any_ge (Faux1.v, Faux2.v);
   8693   bAux= 0;
   8694   for (i=0; i<4; i++)
   8695     bAux= bAux || (Faux1.e[i]>=Faux2.e[i]);
   8696   if (bAux!=b) err= 1;
   8697 
   8698 # if defined (GCC_COMPILER)
   8699    Faux1.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   8700    Faux2.v= (vector float) { 0.0, 3.5,-0.5, -1.5};
   8701 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8702    Faux1.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   8703    Faux2.v= (vector float) ( 0.0, 3.5,-0.5, -1.5);
   8704 # endif
   8705   b= vec_any_ge (Faux1.v, Faux2.v);
   8706   bAux= 0;
   8707   for (i=0; i<4; i++)
   8708     bAux= bAux || (Faux1.e[i]>=Faux2.e[i]);
   8709   if (bAux!=b) err= 1;
   8710 
   8711   if (err)
   8712     printf("Function vec_any_ge [type float]          ===> Error\n");
   8713   else
   8714     printf("Function vec_any_ge [type float]          ===> OK\n");
   8715 #endif
   8716 
   8717 /*    Function vec_any_gt    */
   8718   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   8719   err = 0;
   8720 # if defined (GCC_COMPILER)
   8721    Caux1.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   8722    Caux2.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   8723 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8724    Caux1.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   8725    Caux2.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   8726 # endif
   8727   b= vec_any_gt (Caux1.v, Caux2.v);
   8728   bAux= 0;
   8729   for (i=0; i<16; i++)
   8730     bAux= bAux || (Caux1.e[i]>Caux2.e[i]);
   8731   if (bAux!=b) err= 1;
   8732 
   8733 # if defined (GCC_COMPILER)
   8734    Caux1.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   8735    Caux2.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   8736 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8737    Caux1.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   8738    Caux2.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   8739 # endif
   8740   b= vec_any_gt (Caux1.v, Caux2.v);
   8741   bAux= 0;
   8742   for (i=0; i<16; i++)
   8743     bAux= bAux || (Caux1.e[i]>Caux2.e[i]);
   8744   if (bAux!=b) err= 1;
   8745 
   8746 # if defined (GCC_COMPILER)
   8747    Caux1.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   8748    Caux2.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   8749 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8750    Caux1.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   8751    Caux2.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   8752 # endif
   8753   b= vec_any_gt (Caux1.v, Caux2.v);
   8754   bAux= 0;
   8755   for (i=0; i<16; i++)
   8756     bAux= bAux || (Caux1.e[i]>Caux2.e[i]);
   8757   if (bAux!=b) err= 1;
   8758 
   8759   if (err)
   8760     printf("Function vec_any_gt [type char]           ===> Error\n");
   8761   else
   8762     printf("Function vec_any_gt [type char]           ===> OK\n");
   8763 
   8764 
   8765   err = 0;
   8766 # if defined (GCC_COMPILER)
   8767    UCaux1.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   8768    UCaux2.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   8769 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8770    UCaux1.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   8771    UCaux2.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   8772 # endif
   8773   b= vec_any_gt (UCaux1.v, UCaux2.v);
   8774   bAux= 0;
   8775   for (i=0; i<16; i++)
   8776     bAux= bAux || (UCaux1.e[i]>UCaux2.e[i]);
   8777   if (bAux!=b) err= 1;
   8778 
   8779 # if defined (GCC_COMPILER)
   8780    UCaux1.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   8781    UCaux2.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   8782 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8783    UCaux1.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   8784    UCaux2.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   8785 # endif
   8786   b= vec_any_gt (UCaux1.v, UCaux2.v);
   8787   bAux= 0;
   8788   for (i=0; i<16; i++)
   8789     bAux= bAux || (UCaux1.e[i]>UCaux2.e[i]);
   8790   if (bAux!=b) err= 1;
   8791 
   8792 # if defined (GCC_COMPILER)
   8793    UCaux1.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   8794    UCaux2.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   8795 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8796    UCaux1.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   8797    UCaux2.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   8798 # endif
   8799   b= vec_any_gt (UCaux1.v, UCaux2.v);
   8800   bAux= 0;
   8801   for (i=0; i<16; i++)
   8802     bAux= bAux || (UCaux1.e[i]>UCaux2.e[i]);
   8803   if (bAux!=b) err= 1;
   8804 
   8805   if (err)
   8806     printf("Function vec_any_gt [type unsigned char]  ===> Error\n");
   8807   else
   8808     printf("Function vec_any_gt [type unsigned char]  ===> OK\n");
   8809 
   8810 
   8811   err = 0;
   8812 # if defined (GCC_COMPILER)
   8813    Saux1.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   8814    Saux2.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   8815 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8816    Saux1.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   8817    Saux2.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   8818 # endif
   8819   b= vec_any_gt (Saux1.v, Saux2.v);
   8820   bAux= 0;
   8821   for (i=0; i<8; i++)
   8822     bAux= bAux || (Saux1.e[i]>Saux2.e[i]);
   8823   if (bAux!=b) err= 1;
   8824 
   8825 # if defined (GCC_COMPILER)
   8826    Saux1.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   8827    Saux2.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   8828 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8829    Saux1.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   8830    Saux2.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   8831 # endif
   8832   b= vec_any_gt (Saux1.v, Saux2.v);
   8833   bAux= 0;
   8834   for (i=0; i<8; i++)
   8835     bAux= bAux || (Saux1.e[i]>Saux2.e[i]);
   8836   if (bAux!=b) err= 1;
   8837 
   8838 # if defined (GCC_COMPILER)
   8839    Saux1.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   8840    Saux2.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   8841 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8842    Saux1.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   8843    Saux2.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   8844 # endif
   8845   b= vec_any_gt (Saux1.v, Saux2.v);
   8846   bAux= 0;
   8847   for (i=0; i<8; i++)
   8848     bAux= bAux || (Saux1.e[i]>Saux2.e[i]);
   8849   if (bAux!=b) err= 1;
   8850 
   8851   if (err)
   8852     printf("Function vec_any_gt [type short]          ===> Error\n");
   8853   else
   8854     printf("Function vec_any_gt [type short]          ===> OK\n");
   8855 
   8856 
   8857   err = 0;
   8858 # if defined (GCC_COMPILER)
   8859    USaux1.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   8860    USaux2.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   8861 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8862    USaux1.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   8863    USaux2.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   8864 # endif
   8865   b= vec_any_gt (USaux1.v, USaux2.v);
   8866   bAux= 0;
   8867   for (i=0; i<8; i++)
   8868     bAux= bAux || (USaux1.e[i]>USaux2.e[i]);
   8869   if (bAux!=b) err= 1;
   8870 
   8871 # if defined (GCC_COMPILER)
   8872    USaux1.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   8873    USaux2.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   8874 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8875    USaux1.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   8876    USaux2.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   8877 # endif
   8878   b= vec_any_gt (USaux1.v, USaux2.v);
   8879   bAux= 0;
   8880   for (i=0; i<8; i++)
   8881     bAux= bAux || (USaux1.e[i]>USaux2.e[i]);
   8882   if (bAux!=b) err= 1;
   8883 
   8884 # if defined (GCC_COMPILER)
   8885    USaux1.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   8886    USaux2.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   8887 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8888    USaux1.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   8889    USaux2.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   8890 # endif
   8891   b= vec_any_gt (USaux1.v, USaux2.v);
   8892   bAux= 0;
   8893   for (i=0; i<8; i++)
   8894     bAux= bAux || (USaux1.e[i]>USaux2.e[i]);
   8895   if (bAux!=b) err= 1;
   8896 
   8897   if (err)
   8898     printf("Function vec_any_gt [type unsigned short] ===> Error\n");
   8899   else
   8900     printf("Function vec_any_gt [type unsigned short] ===> OK\n");
   8901 
   8902 
   8903   err = 0;
   8904 # if defined (GCC_COMPILER)
   8905    Iaux1.v= (vector signed int){-1003800, -1003700,       0,1003300};
   8906    Iaux2.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   8907 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8908    Iaux1.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   8909    Iaux2.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   8910 # endif
   8911   b= vec_any_gt (Iaux1.v, Iaux2.v);
   8912   bAux= 0;
   8913   for (i=0; i<4; i++)
   8914     bAux= bAux || (Iaux1.e[i]>Iaux2.e[i]);
   8915   if (bAux!=b) err= 1;
   8916 
   8917 # if defined (GCC_COMPILER)
   8918    Iaux1.v= (vector signed int){-1003800, -1003700,       0,1003300};
   8919    Iaux2.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   8920 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8921    Iaux1.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   8922    Iaux2.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   8923 # endif
   8924   b= vec_any_gt (Iaux1.v, Iaux2.v);
   8925   bAux= 0;
   8926   for (i=0; i<4; i++)
   8927     bAux= bAux || (Iaux1.e[i]>Iaux2.e[i]);
   8928   if (bAux!=b) err= 1;
   8929 
   8930 # if defined (GCC_COMPILER)
   8931    Iaux1.v= (vector signed int){-1003800, -1003700,       0,1003300};
   8932    Iaux2.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   8933 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8934    Iaux1.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   8935    Iaux2.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   8936 # endif
   8937   b= vec_any_gt (Iaux1.v, Iaux2.v);
   8938   bAux= 0;
   8939   for (i=0; i<4; i++)
   8940     bAux= bAux || (Iaux1.e[i]>Iaux2.e[i]);
   8941   if (bAux!=b) err= 1;
   8942 
   8943   if (err)
   8944     printf("Function vec_any_gt [type int]            ===> Error\n");
   8945   else
   8946     printf("Function vec_any_gt [type int]            ===> OK\n");
   8947 
   8948 
   8949   err = 0;
   8950 # if defined (GCC_COMPILER)
   8951    UIaux1.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   8952    UIaux2.v= (vector unsigned int){0xFFFFFFF0, 20000000, 9, 9};
   8953 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8954    UIaux1.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   8955    UIaux2.v= (vector unsigned int)(0xFFFFFFF0, 20000000, 9, 9);
   8956 # endif
   8957   b= vec_any_gt (UIaux1.v, UIaux2.v);
   8958   bAux= 0;
   8959   for (i=0; i<4; i++)
   8960     bAux= bAux || (UIaux1.e[i]>UIaux2.e[i]);
   8961   if (bAux!=b) err= 1;
   8962 
   8963 # if defined (GCC_COMPILER)
   8964    UIaux1.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   8965    UIaux2.v= (vector unsigned int){0xFFFFFFF0, 20000000, 9, 9};
   8966 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8967    UIaux1.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   8968    UIaux2.v= (vector unsigned int)(0xFFFFFFF0, 20000000, 9, 9);
   8969 # endif
   8970   b= vec_any_gt (UIaux1.v, UIaux2.v);
   8971   bAux= 0;
   8972   for (i=0; i<4; i++)
   8973     bAux= bAux || (UIaux1.e[i]>UIaux2.e[i]);
   8974   if (bAux!=b) err= 1;
   8975 
   8976 # if defined (GCC_COMPILER)
   8977    UIaux1.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   8978    UIaux2.v= (vector unsigned int){0xFFFFFFF0, 20000000, 9, 9};
   8979 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   8980    UIaux1.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   8981    UIaux2.v= (vector unsigned int)(0xFFFFFFF0, 20000000, 9, 9);
   8982 # endif
   8983   b= vec_any_gt (UIaux1.v, UIaux2.v);
   8984   bAux= 0;
   8985   for (i=0; i<4; i++)
   8986     bAux= bAux || (UIaux1.e[i]>UIaux2.e[i]);
   8987   if (bAux!=b) err= 1;
   8988 
   8989   if (err)
   8990     printf("Function vec_any_gt [type unsigned int]   ===> Error\n");
   8991   else
   8992     printf("Function vec_any_gt [type unsigned int]   ===> OK\n");
   8993 
   8994 #if defined TEST_FLOATS
   8995   err = 0;
   8996 # if defined (GCC_COMPILER)
   8997    Faux1.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   8998    Faux2.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   8999 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9000    Faux1.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   9001    Faux2.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   9002 # endif
   9003   b= vec_any_gt (Faux1.v, Faux2.v);
   9004   bAux= 0;
   9005   for (i=0; i<4; i++)
   9006     bAux= bAux || (Faux1.e[i]>Faux2.e[i]);
   9007   if (bAux!=b) err= 1;
   9008 
   9009 # if defined (GCC_COMPILER)
   9010    Faux1.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   9011    Faux2.v= (vector float) { 0.0, 3.5, 0.5, -1.5};
   9012 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9013    Faux1.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   9014    Faux2.v= (vector float) ( 0.0, 3.5, 0.5, -1.5);
   9015 # endif
   9016   b= vec_any_gt (Faux1.v, Faux2.v);
   9017   bAux= 0;
   9018   for (i=0; i<4; i++)
   9019     bAux= bAux || (Faux1.e[i]>Faux2.e[i]);
   9020   if (bAux!=b) err= 1;
   9021 
   9022 # if defined (GCC_COMPILER)
   9023    Faux1.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   9024    Faux2.v= (vector float) { 0.0, 3.5,-0.5, -1.5};
   9025 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9026    Faux1.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   9027    Faux2.v= (vector float) ( 0.0, 3.5,-0.5, -1.5);
   9028 # endif
   9029   b= vec_any_gt (Faux1.v, Faux2.v);
   9030   bAux= 0;
   9031   for (i=0; i<4; i++)
   9032     bAux= bAux || (Faux1.e[i]>Faux2.e[i]);
   9033   if (bAux!=b) err= 1;
   9034 
   9035   if (err)
   9036     printf("Function vec_any_gt [type float]          ===> Error\n");
   9037   else
   9038     printf("Function vec_any_gt [type float]          ===> OK\n");
   9039 #endif
   9040 
   9041 
   9042 /*    Function vec_any_le   */
   9043   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   9044   err = 0;
   9045 # if defined (GCC_COMPILER)
   9046    Caux2.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9047    Caux1.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   9048 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9049    Caux2.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9050    Caux1.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   9051 # endif
   9052   b= vec_any_le (Caux1.v, Caux2.v);
   9053   bAux= 0;
   9054   for (i=0; i<16; i++)
   9055     bAux= bAux || (Caux1.e[i]<=Caux2.e[i]);
   9056   if (bAux!=b) err= 1;
   9057 
   9058 # if defined (GCC_COMPILER)
   9059    Caux2.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9060    Caux1.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   9061 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9062    Caux2.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9063    Caux1.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   9064 # endif
   9065   b= vec_any_le (Caux1.v, Caux2.v);
   9066   bAux= 0;
   9067   for (i=0; i<16; i++)
   9068     bAux= bAux || (Caux1.e[i]<=Caux2.e[i]);
   9069   if (bAux!=b) err= 1;
   9070 
   9071 # if defined (GCC_COMPILER)
   9072    Caux2.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9073    Caux1.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   9074 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9075    Caux2.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9076    Caux1.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   9077 # endif
   9078   b= vec_any_le (Caux1.v, Caux2.v);
   9079   bAux= 0;
   9080   for (i=0; i<16; i++)
   9081     bAux= bAux || (Caux1.e[i]<=Caux2.e[i]);
   9082   if (bAux!=b) err= 1;
   9083 
   9084   if (err)
   9085     printf("Function vec_any_le [type char]           ===> Error\n");
   9086   else
   9087     printf("Function vec_any_le [type char]           ===> OK\n");
   9088 
   9089 
   9090   err = 0;
   9091 # if defined (GCC_COMPILER)
   9092    UCaux2.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9093    UCaux1.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   9094 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9095    UCaux2.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9096    UCaux1.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   9097 # endif
   9098   b= vec_any_le (UCaux1.v, UCaux2.v);
   9099   bAux= 0;
   9100   for (i=0; i<16; i++)
   9101     bAux= bAux || (UCaux1.e[i]<=UCaux2.e[i]);
   9102   if (bAux!=b) err= 1;
   9103 
   9104 # if defined (GCC_COMPILER)
   9105    UCaux2.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9106    UCaux1.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   9107 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9108    UCaux2.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9109    UCaux1.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   9110 # endif
   9111   b= vec_any_le (UCaux1.v, UCaux2.v);
   9112   bAux= 0;
   9113   for (i=0; i<16; i++)
   9114     bAux= bAux || (UCaux1.e[i]<=UCaux2.e[i]);
   9115   if (bAux!=b) err= 1;
   9116 
   9117 # if defined (GCC_COMPILER)
   9118    UCaux2.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9119    UCaux1.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   9120 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9121    UCaux2.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9122    UCaux1.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   9123 # endif
   9124   b= vec_any_le (UCaux1.v, UCaux2.v);
   9125   bAux= 0;
   9126   for (i=0; i<16; i++)
   9127     bAux= bAux || (UCaux1.e[i]<=UCaux2.e[i]);
   9128   if (bAux!=b) err= 1;
   9129 
   9130   if (err)
   9131     printf("Function vec_any_le [type unsigned char]  ===> Error\n");
   9132   else
   9133     printf("Function vec_any_le [type unsigned char]  ===> OK\n");
   9134 
   9135 
   9136   err = 0;
   9137 # if defined (GCC_COMPILER)
   9138    Saux2.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   9139    Saux1.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   9140 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9141    Saux2.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   9142    Saux1.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   9143 # endif
   9144   b= vec_any_le (Saux1.v, Saux2.v);
   9145   bAux= 0;
   9146   for (i=0; i<8; i++)
   9147     bAux= bAux || (Saux1.e[i]<=Saux2.e[i]);
   9148   if (bAux!=b) err= 1;
   9149 
   9150 # if defined (GCC_COMPILER)
   9151    Saux2.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   9152    Saux1.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   9153 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9154    Saux2.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   9155    Saux1.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   9156 # endif
   9157   b= vec_any_le (Saux1.v, Saux2.v);
   9158   bAux= 0;
   9159   for (i=0; i<8; i++)
   9160     bAux= bAux || (Saux1.e[i]<=Saux2.e[i]);
   9161   if (bAux!=b) err= 1;
   9162 
   9163 # if defined (GCC_COMPILER)
   9164    Saux2.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   9165    Saux1.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   9166 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9167    Saux2.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   9168    Saux1.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   9169 # endif
   9170   b= vec_any_le (Saux1.v, Saux2.v);
   9171   bAux= 0;
   9172   for (i=0; i<8; i++)
   9173     bAux= bAux || (Saux1.e[i]<=Saux2.e[i]);
   9174   if (bAux!=b) err= 1;
   9175 
   9176   if (err)
   9177     printf("Function vec_any_le [type short]          ===> Error\n");
   9178   else
   9179     printf("Function vec_any_le [type short]          ===> OK\n");
   9180 
   9181 
   9182   err = 0;
   9183 # if defined (GCC_COMPILER)
   9184    USaux2.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   9185    USaux1.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   9186 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9187    USaux2.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   9188    USaux1.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   9189 # endif
   9190   b= vec_any_le (USaux1.v, USaux2.v);
   9191   bAux= 0;
   9192   for (i=0; i<8; i++)
   9193     bAux= bAux || (USaux1.e[i]<=USaux2.e[i]);
   9194   if (bAux!=b) err= 1;
   9195 
   9196 # if defined (GCC_COMPILER)
   9197    USaux2.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   9198    USaux1.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   9199 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9200    USaux2.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   9201    USaux1.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   9202 # endif
   9203   b= vec_any_le (USaux1.v, USaux2.v);
   9204   bAux= 0;
   9205   for (i=0; i<8; i++)
   9206     bAux= bAux || (USaux1.e[i]<=USaux2.e[i]);
   9207   if (bAux!=b) err= 1;
   9208 
   9209 # if defined (GCC_COMPILER)
   9210    USaux2.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   9211    USaux1.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   9212 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9213    USaux2.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   9214    USaux1.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   9215 # endif
   9216   b= vec_any_le (USaux1.v, USaux2.v);
   9217   bAux= 0;
   9218   for (i=0; i<8; i++)
   9219     bAux= bAux || (USaux1.e[i]<=USaux2.e[i]);
   9220   if (bAux!=b) err= 1;
   9221 
   9222   if (err)
   9223     printf("Function vec_any_le [type unsigned short] ===> Error\n");
   9224   else
   9225     printf("Function vec_any_le [type unsigned short] ===> OK\n");
   9226 
   9227 
   9228   err = 0;
   9229 # if defined (GCC_COMPILER)
   9230    Iaux2.v= (vector signed int){-1003800, -1003700,       0,1003300};
   9231    Iaux1.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   9232 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9233    Iaux2.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   9234    Iaux1.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   9235 # endif
   9236   b= vec_any_le (Iaux1.v, Iaux2.v);
   9237   bAux= 0;
   9238   for (i=0; i<4; i++)
   9239     bAux= bAux || (Iaux1.e[i]<=Iaux2.e[i]);
   9240   if (bAux!=b) err= 1;
   9241 
   9242 # if defined (GCC_COMPILER)
   9243    Iaux2.v= (vector signed int){-1003800, -1003700,       0,1003300};
   9244    Iaux1.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   9245 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9246    Iaux2.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   9247    Iaux1.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   9248 # endif
   9249   b= vec_any_le (Iaux1.v, Iaux2.v);
   9250   bAux= 0;
   9251   for (i=0; i<4; i++)
   9252     bAux= bAux || (Iaux1.e[i]<=Iaux2.e[i]);
   9253   if (bAux!=b) err= 1;
   9254 
   9255 # if defined (GCC_COMPILER)
   9256    Iaux2.v= (vector signed int){-1003800, -1003700,       0,1003300};
   9257    Iaux1.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   9258 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9259    Iaux2.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   9260    Iaux1.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   9261 # endif
   9262   b= vec_any_le (Iaux1.v, Iaux2.v);
   9263   bAux= 0;
   9264   for (i=0; i<4; i++)
   9265     bAux= bAux || (Iaux1.e[i]<=Iaux2.e[i]);
   9266   if (bAux!=b) err= 1;
   9267 
   9268   if (err)
   9269     printf("Function vec_any_le [type int]            ===> Error\n");
   9270   else
   9271     printf("Function vec_any_le [type int]            ===> OK\n");
   9272 
   9273 
   9274   err = 0;
   9275 # if defined (GCC_COMPILER)
   9276    UIaux2.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   9277    UIaux1.v= (vector unsigned int){0xFFFFFFF0, 20000000, 9, 9};
   9278 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9279    UIaux2.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   9280    UIaux1.v= (vector unsigned int)(0xFFFFFFF0, 20000000, 9, 9);
   9281 # endif
   9282   b= vec_any_le (UIaux1.v, UIaux2.v);
   9283   bAux= 0;
   9284   for (i=0; i<4; i++)
   9285     bAux= bAux || (UIaux1.e[i]<=UIaux2.e[i]);
   9286   if (bAux!=b) err= 1;
   9287 
   9288 # if defined (GCC_COMPILER)
   9289    UIaux2.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   9290    UIaux1.v= (vector unsigned int){0xFFFFFFF0, 20000000, 9, 9};
   9291 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9292    UIaux2.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   9293    UIaux1.v= (vector unsigned int)(0xFFFFFFF0, 20000000, 9, 9);
   9294 # endif
   9295   b= vec_any_le (UIaux1.v, UIaux2.v);
   9296   bAux= 0;
   9297   for (i=0; i<4; i++)
   9298     bAux= bAux || (UIaux1.e[i]<=UIaux2.e[i]);
   9299   if (bAux!=b) err= 1;
   9300 
   9301 # if defined (GCC_COMPILER)
   9302    UIaux2.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   9303    UIaux1.v= (vector unsigned int){0xFFFFFFF0, 20000000, 9, 9};
   9304 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9305    UIaux2.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   9306    UIaux1.v= (vector unsigned int)(0xFFFFFFF0, 20000000, 9, 9);
   9307 # endif
   9308   b= vec_any_le (UIaux1.v, UIaux2.v);
   9309   bAux= 0;
   9310   for (i=0; i<4; i++)
   9311     bAux= bAux || (UIaux1.e[i]<=UIaux2.e[i]);
   9312   if (bAux!=b) err= 1;
   9313 
   9314   if (err)
   9315     printf("Function vec_any_le [type unsigned int]   ===> Error\n");
   9316   else
   9317     printf("Function vec_any_le [type unsigned int]   ===> OK\n");
   9318 
   9319 #if defined TEST_FLOATS
   9320   err = 0;
   9321 # if defined (GCC_COMPILER)
   9322    Faux2.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   9323    Faux1.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   9324 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9325    Faux2.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   9326    Faux1.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   9327 # endif
   9328   b= vec_any_le (Faux1.v, Faux2.v);
   9329   bAux= 0;
   9330   for (i=0; i<4; i++)
   9331     bAux= bAux || (Faux1.e[i]<=Faux2.e[i]);
   9332   if (bAux!=b) err= 1;
   9333 
   9334 # if defined (GCC_COMPILER)
   9335    Faux2.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   9336    Faux1.v= (vector float) { 0.0, 3.5, 0.5, -1.5};
   9337 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9338    Faux2.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   9339    Faux1.v= (vector float) ( 0.0, 3.5, 0.5, -1.5);
   9340 # endif
   9341   b= vec_any_le (Faux1.v, Faux2.v);
   9342   bAux= 0;
   9343   for (i=0; i<4; i++)
   9344     bAux= bAux || (Faux1.e[i]<=Faux2.e[i]);
   9345   if (bAux!=b) err= 1;
   9346 
   9347 # if defined (GCC_COMPILER)
   9348    Faux2.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   9349    Faux1.v= (vector float) { 0.0, 3.5,-0.5, -1.5};
   9350 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9351    Faux2.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   9352    Faux1.v= (vector float) ( 0.0, 3.5,-0.5, -1.5);
   9353 # endif
   9354   b= vec_any_le (Faux1.v, Faux2.v);
   9355   bAux= 0;
   9356   for (i=0; i<4; i++)
   9357     bAux= bAux || (Faux1.e[i]<=Faux2.e[i]);
   9358   if (bAux!=b) err= 1;
   9359 
   9360   if (err)
   9361     printf("Function vec_any_le [type float]          ===> Error\n");
   9362   else
   9363     printf("Function vec_any_le [type float]          ===> OK\n");
   9364 #endif
   9365 
   9366 
   9367 /*    Function vec_any_lt   */
   9368   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   9369   err = 0;
   9370 # if defined (GCC_COMPILER)
   9371    Caux2.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9372    Caux1.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   9373 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9374    Caux2.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9375    Caux1.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   9376 # endif
   9377   b= vec_any_lt (Caux1.v, Caux2.v);
   9378   bAux= 0;
   9379   for (i=0; i<16; i++)
   9380     bAux= bAux || (Caux1.e[i]<Caux2.e[i]);
   9381   if (bAux!=b) err= 1;
   9382 
   9383 # if defined (GCC_COMPILER)
   9384    Caux2.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9385    Caux1.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   9386 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9387    Caux2.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9388    Caux1.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   9389 # endif
   9390   b= vec_any_lt (Caux1.v, Caux2.v);
   9391   bAux= 0;
   9392   for (i=0; i<16; i++)
   9393     bAux= bAux || (Caux1.e[i]<Caux2.e[i]);
   9394   if (bAux!=b) err= 1;
   9395 
   9396 # if defined (GCC_COMPILER)
   9397    Caux2.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9398    Caux1.v= (vector signed char){ 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9};
   9399 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9400    Caux2.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9401    Caux1.v= (vector signed char)( 9,  9,  9,  9,  9,  9,  9,  9, 9, 9, 9, 9, 9, 9, 9, 9);
   9402 # endif
   9403   b= vec_any_lt (Caux1.v, Caux2.v);
   9404   bAux= 0;
   9405   for (i=0; i<16; i++)
   9406     bAux= bAux || (Caux1.e[i]<Caux2.e[i]);
   9407   if (bAux!=b) err= 1;
   9408 
   9409   if (err)
   9410     printf("Function vec_any_lt [type char]           ===> Error\n");
   9411   else
   9412     printf("Function vec_any_lt [type char]           ===> OK\n");
   9413 
   9414 
   9415   err = 0;
   9416 # if defined (GCC_COMPILER)
   9417    UCaux2.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9418    UCaux1.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   9419 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9420    UCaux2.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9421    UCaux1.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   9422 # endif
   9423   b= vec_any_lt (UCaux1.v, UCaux2.v);
   9424   bAux= 0;
   9425   for (i=0; i<16; i++)
   9426     bAux= bAux || (UCaux1.e[i]<UCaux2.e[i]);
   9427   if (bAux!=b) err= 1;
   9428 
   9429 # if defined (GCC_COMPILER)
   9430    UCaux2.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9431    UCaux1.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   9432 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9433    UCaux2.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9434    UCaux1.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   9435 # endif
   9436   b= vec_any_lt (UCaux1.v, UCaux2.v);
   9437   bAux= 0;
   9438   for (i=0; i<16; i++)
   9439     bAux= bAux || (UCaux1.e[i]<UCaux2.e[i]);
   9440   if (bAux!=b) err= 1;
   9441 
   9442 # if defined (GCC_COMPILER)
   9443    UCaux2.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9444    UCaux1.v= (vector unsigned char){250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250};
   9445 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9446    UCaux2.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9447    UCaux1.v= (vector unsigned char)(250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250);
   9448 # endif
   9449   b= vec_any_lt (UCaux1.v, UCaux2.v);
   9450   bAux= 0;
   9451   for (i=0; i<16; i++)
   9452     bAux= bAux || (UCaux1.e[i]<UCaux2.e[i]);
   9453   if (bAux!=b) err= 1;
   9454 
   9455   if (err)
   9456     printf("Function vec_any_lt [type unsigned char]  ===> Error\n");
   9457   else
   9458     printf("Function vec_any_lt [type unsigned char]  ===> OK\n");
   9459 
   9460 
   9461   err = 0;
   9462 # if defined (GCC_COMPILER)
   9463    Saux2.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   9464    Saux1.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   9465 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9466    Saux2.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   9467    Saux1.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   9468 # endif
   9469   b= vec_any_lt (Saux1.v, Saux2.v);
   9470   bAux= 0;
   9471   for (i=0; i<8; i++)
   9472     bAux= bAux || (Saux1.e[i]<Saux2.e[i]);
   9473   if (bAux!=b) err= 1;
   9474 
   9475 # if defined (GCC_COMPILER)
   9476    Saux2.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   9477    Saux1.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   9478 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9479    Saux2.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   9480    Saux1.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   9481 # endif
   9482   b= vec_any_lt (Saux1.v, Saux2.v);
   9483   bAux= 0;
   9484   for (i=0; i<8; i++)
   9485     bAux= bAux || (Saux1.e[i]<Saux2.e[i]);
   9486   if (bAux!=b) err= 1;
   9487 
   9488 # if defined (GCC_COMPILER)
   9489    Saux2.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   9490    Saux1.v= (vector signed short){ 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000};
   9491 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9492    Saux2.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   9493    Saux1.v= (vector signed short)( 9000,  9000,  9000,  9000, 9000, 9000, 9000, 9000);
   9494 # endif
   9495   b= vec_any_lt (Saux1.v, Saux2.v);
   9496   bAux= 0;
   9497   for (i=0; i<8; i++)
   9498     bAux= bAux || (Saux1.e[i]<Saux2.e[i]);
   9499   if (bAux!=b) err= 1;
   9500 
   9501   if (err)
   9502     printf("Function vec_any_lt [type short]          ===> Error\n");
   9503   else
   9504     printf("Function vec_any_lt [type short]          ===> OK\n");
   9505 
   9506 
   9507   err = 0;
   9508 # if defined (GCC_COMPILER)
   9509    USaux2.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   9510    USaux1.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   9511 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9512    USaux2.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   9513    USaux1.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   9514 # endif
   9515   b= vec_any_lt (USaux1.v, USaux2.v);
   9516   bAux= 0;
   9517   for (i=0; i<8; i++)
   9518     bAux= bAux || (USaux1.e[i]<USaux2.e[i]);
   9519   if (bAux!=b) err= 1;
   9520 
   9521 # if defined (GCC_COMPILER)
   9522    USaux2.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   9523    USaux1.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   9524 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9525    USaux2.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   9526    USaux1.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   9527 # endif
   9528   b= vec_any_lt (USaux1.v, USaux2.v);
   9529   bAux= 0;
   9530   for (i=0; i<8; i++)
   9531     bAux= bAux || (USaux1.e[i]<USaux2.e[i]);
   9532   if (bAux!=b) err= 1;
   9533 
   9534 # if defined (GCC_COMPILER)
   9535    USaux2.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   9536    USaux1.v= (vector unsigned short){59000, 59000, 59000, 59000,59000, 9000, 9000, 9000};
   9537 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9538    USaux2.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   9539    USaux1.v= (vector unsigned short)(59000, 59000, 59000, 59000,59000, 9000, 9000, 9000);
   9540 # endif
   9541   b= vec_any_lt (USaux1.v, USaux2.v);
   9542   bAux= 0;
   9543   for (i=0; i<8; i++)
   9544     bAux= bAux || (USaux1.e[i]<USaux2.e[i]);
   9545   if (bAux!=b) err= 1;
   9546 
   9547   if (err)
   9548     printf("Function vec_any_lt [type unsigned short] ===> Error\n");
   9549   else
   9550     printf("Function vec_any_lt [type unsigned short] ===> OK\n");
   9551 
   9552 
   9553   err = 0;
   9554 # if defined (GCC_COMPILER)
   9555    Iaux2.v= (vector signed int){-1003800, -1003700,       0,1003300};
   9556    Iaux1.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   9557 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9558    Iaux2.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   9559    Iaux1.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   9560 # endif
   9561   b= vec_any_lt (Iaux1.v, Iaux2.v);
   9562   bAux= 0;
   9563   for (i=0; i<4; i++)
   9564     bAux= bAux || (Iaux1.e[i]<Iaux2.e[i]);
   9565   if (bAux!=b) err= 1;
   9566 
   9567 # if defined (GCC_COMPILER)
   9568    Iaux2.v= (vector signed int){-1003800, -1003700,       0,1003300};
   9569    Iaux1.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   9570 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9571    Iaux2.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   9572    Iaux1.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   9573 # endif
   9574   b= vec_any_lt (Iaux1.v, Iaux2.v);
   9575   bAux= 0;
   9576   for (i=0; i<4; i++)
   9577     bAux= bAux || (Iaux1.e[i]<Iaux2.e[i]);
   9578   if (bAux!=b) err= 1;
   9579 
   9580 # if defined (GCC_COMPILER)
   9581    Iaux2.v= (vector signed int){-1003800, -1003700,       0,1003300};
   9582    Iaux1.v= (vector signed int){ 9000000,  9000000, 9000000,9000000};
   9583 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9584    Iaux2.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   9585    Iaux1.v= (vector signed int)( 9000000,  9000000, 9000000,9000000);
   9586 # endif
   9587   b= vec_any_lt (Iaux1.v, Iaux2.v);
   9588   bAux= 0;
   9589   for (i=0; i<4; i++)
   9590     bAux= bAux || (Iaux1.e[i]<Iaux2.e[i]);
   9591   if (bAux!=b) err= 1;
   9592 
   9593   if (err)
   9594     printf("Function vec_any_lt [type int]            ===> Error\n");
   9595   else
   9596     printf("Function vec_any_lt [type int]            ===> OK\n");
   9597 
   9598 
   9599   err = 0;
   9600 # if defined (GCC_COMPILER)
   9601    UIaux2.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   9602    UIaux1.v= (vector unsigned int){0xFFFFFFF0, 20000000, 9, 9};
   9603 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9604    UIaux2.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   9605    UIaux1.v= (vector unsigned int)(0xFFFFFFF0, 20000000, 9, 9);
   9606 # endif
   9607   b= vec_any_lt (UIaux1.v, UIaux2.v);
   9608   bAux= 0;
   9609   for (i=0; i<4; i++)
   9610     bAux= bAux || (UIaux1.e[i]<UIaux2.e[i]);
   9611   if (bAux!=b) err= 1;
   9612 
   9613 # if defined (GCC_COMPILER)
   9614    UIaux2.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   9615    UIaux1.v= (vector unsigned int){0xFFFFFFF0, 12345678, 9, 9};
   9616 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9617    UIaux2.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   9618    UIaux1.v= (vector unsigned int)(0xFFFFFFF0, 12345678, 9, 9);
   9619 # endif
   9620   b= vec_any_lt (UIaux1.v, UIaux2.v);
   9621   bAux= 0;
   9622   for (i=0; i<4; i++)
   9623     bAux= bAux || (UIaux1.e[i]<UIaux2.e[i]);
   9624   if (bAux!=b) err= 1;
   9625 
   9626 # if defined (GCC_COMPILER)
   9627    UIaux2.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   9628    UIaux1.v= (vector unsigned int){0xFFFFFFF0, 10000000, 9, 9};
   9629 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9630    UIaux2.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   9631    UIaux1.v= (vector unsigned int)(0xFFFFFFF0, 10000000, 9, 9);
   9632 # endif
   9633   b= vec_any_lt (UIaux1.v, UIaux2.v);
   9634   bAux= 0;
   9635   for (i=0; i<4; i++)
   9636     bAux= bAux || (UIaux1.e[i]<UIaux2.e[i]);
   9637   if (bAux!=b) err= 1;
   9638 
   9639   if (err)
   9640     printf("Function vec_any_lt [type unsigned int]   ===> Error\n");
   9641   else
   9642     printf("Function vec_any_lt [type unsigned int]   ===> OK\n");
   9643 
   9644 #if defined TEST_FLOATS
   9645   err = 0;
   9646 # if defined (GCC_COMPILER)
   9647    Faux2.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   9648    Faux1.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   9649 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9650    Faux2.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   9651    Faux1.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   9652 # endif
   9653   b= vec_any_lt (Faux1.v, Faux2.v);
   9654   bAux= 0;
   9655   for (i=0; i<4; i++)
   9656     bAux= bAux || (Faux1.e[i]<Faux2.e[i]);
   9657   if (bAux!=b) err= 1;
   9658 
   9659 # if defined (GCC_COMPILER)
   9660    Faux2.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   9661    Faux1.v= (vector float) { 0.0, 3.5, 0.5, -1.5};
   9662 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9663    Faux2.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   9664    Faux1.v= (vector float) ( 0.0, 3.5, 0.5, -1.5);
   9665 # endif
   9666   b= vec_any_lt (Faux1.v, Faux2.v);
   9667   bAux= 0;
   9668   for (i=0; i<4; i++)
   9669     bAux= bAux || (Faux1.e[i]<Faux2.e[i]);
   9670   if (bAux!=b) err= 1;
   9671 
   9672 # if defined (GCC_COMPILER)
   9673    Faux2.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   9674    Faux1.v= (vector float) { 0.0, 3.5,-0.5, -1.5};
   9675 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9676    Faux2.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   9677    Faux1.v= (vector float) ( 0.0, 3.5,-0.5, -1.5);
   9678 # endif
   9679   b= vec_any_lt (Faux1.v, Faux2.v);
   9680   bAux= 0;
   9681   for (i=0; i<4; i++)
   9682     bAux= bAux || (Faux1.e[i]<Faux2.e[i]);
   9683   if (bAux!=b) err= 1;
   9684 
   9685   if (err)
   9686     printf("Function vec_any_lt [type float]          ===> Error\n");
   9687   else
   9688     printf("Function vec_any_lt [type float]          ===> OK\n");
   9689 #endif
   9690 
   9691 
   9692 #if defined TEST_FLOATS
   9693 /*    Function vec_any_nan    */
   9694   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   9695   err = 0;
   9696 # if defined (GCC_COMPILER)
   9697    Faux1.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   9698 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9699    Faux1.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   9700 # endif
   9701   b= vec_any_nan (Faux1.v);
   9702   bAux= 0;
   9703   for (i=0; i<4; i++)
   9704     bAux= bAux || isnan(Faux1.e[i]);
   9705   if (bAux!=b) err= 1;
   9706 
   9707 # if defined (GCC_COMPILER)
   9708    Faux1.v= (vector float) { 0.0, 3.5, NAN, -1.5};
   9709 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9710    Faux1.v= (vector float) ( 0.0, 3.5, NAN, -1.5);
   9711 # endif
   9712   b= vec_any_nan (Faux1.v);
   9713   bAux= 0;
   9714   for (i=0; i<4; i++)
   9715     bAux= bAux || isnan(Faux1.e[i]);
   9716   if (bAux!=b) err= 1;
   9717 
   9718 # if defined (GCC_COMPILER)
   9719    Faux1.v= (vector float) { NAN, 3.5, NAN, -1.5};
   9720 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9721    Faux1.v= (vector float) ( NAN, 3.5, NAN, -1.5);
   9722 # endif
   9723   b= vec_any_nan (Faux1.v);
   9724   bAux= 0;
   9725   for (i=0; i<4; i++)
   9726     bAux= bAux || isnan(Faux1.e[i]);
   9727   if (bAux!=b) err= 1;
   9728 
   9729   if (err)
   9730     printf("Function vec_any_nan [type float]         ===> Error\n");
   9731   else
   9732     printf("Function vec_any_nan [type float]         ===> OK\n");
   9733 #endif
   9734 
   9735 
   9736 /*    Function vec_any_ne   */
   9737   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   9738   err = 0;
   9739 # if defined (GCC_COMPILER)
   9740    Caux1.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9741    Caux2.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9742 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9743    Caux1.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9744    Caux2.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9745 # endif
   9746   b= vec_any_ne (Caux1.v, Caux2.v);
   9747   bAux= 0;
   9748   for (i=0; i<16; i++)
   9749     bAux= bAux || (Caux1.e[i]!=Caux2.e[i]);
   9750   if (bAux!=b) err= 1;
   9751 
   9752 # if defined (GCC_COMPILER)
   9753    Caux1.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9754    Caux2.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9755 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9756    Caux1.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9757    Caux2.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9758 # endif
   9759   b= vec_any_ne (Caux1.v, Caux2.v);
   9760   bAux= 0;
   9761   for (i=0; i<16; i++)
   9762     bAux= bAux || (Caux1.e[i]!=Caux2.e[i]);
   9763   if (bAux!=b) err= 1;
   9764 
   9765 # if defined (GCC_COMPILER)
   9766    Caux1.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9767    Caux2.v= (vector signed char){-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7};
   9768 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9769    Caux1.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9770    Caux2.v= (vector signed char)(-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7);
   9771 # endif
   9772   b= vec_any_ne (Caux1.v, Caux2.v);
   9773   bAux= 0;
   9774   for (i=0; i<16; i++)
   9775     bAux= bAux || (Caux1.e[i]!=Caux2.e[i]);
   9776   if (bAux!=b) err= 1;
   9777 
   9778   if (err)
   9779     printf("Function vec_any_ne [type char]           ===> Error\n");
   9780   else
   9781     printf("Function vec_any_ne [type char]           ===> OK\n");
   9782 
   9783 
   9784   err = 0;
   9785 # if defined (GCC_COMPILER)
   9786    UCaux1.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9787    UCaux2.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9788 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9789    UCaux1.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9790    UCaux2.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9791 # endif
   9792   b= vec_any_ne (UCaux1.v, UCaux2.v);
   9793   bAux= 0;
   9794   for (i=0; i<16; i++)
   9795     bAux= bAux || (UCaux1.e[i]!=UCaux2.e[i]);
   9796   if (bAux!=b) err= 1;
   9797 
   9798 # if defined (GCC_COMPILER)
   9799    UCaux1.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9800    UCaux2.v= (vector unsigned char){200, 201, 206, 205,   0, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9801 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9802    UCaux1.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9803    UCaux2.v= (vector unsigned char)(200, 201, 206, 205,   0, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9804 # endif
   9805   b= vec_any_ne (UCaux1.v, UCaux2.v);
   9806   bAux= 0;
   9807   for (i=0; i<16; i++)
   9808     bAux= bAux || (UCaux1.e[i]!=UCaux2.e[i]);
   9809   if (bAux!=b) err= 1;
   9810 
   9811 # if defined (GCC_COMPILER)
   9812    UCaux1.v= (vector unsigned char){200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9813    UCaux2.v= (vector unsigned char){200, 201, 206, 206,   0, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17};
   9814 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9815    UCaux1.v= (vector unsigned char)(200, 201, 206, 205, 204, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9816    UCaux2.v= (vector unsigned char)(200, 201, 206, 206,   0, 203, 202, 201, 200, 101, 102,  13,  14,  15,  16, 17);
   9817 # endif
   9818   b= vec_any_ne (UCaux1.v, UCaux2.v);
   9819   bAux= 0;
   9820   for (i=0; i<16; i++)
   9821     bAux= bAux || (UCaux1.e[i]!=UCaux2.e[i]);
   9822   if (bAux!=b) err= 1;
   9823 
   9824   if (err)
   9825     printf("Function vec_any_ne [type unsigned char]  ===> Error\n");
   9826   else
   9827     printf("Function vec_any_ne [type unsigned char]  ===> OK\n");
   9828 
   9829 
   9830   err = 0;
   9831 # if defined (GCC_COMPILER)
   9832    Saux1.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   9833    Saux2.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   9834 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9835    Saux1.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   9836    Saux2.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   9837 # endif
   9838   b= vec_any_ne (Saux1.v, Saux2.v);
   9839   bAux= 0;
   9840   for (i=0; i<8; i++)
   9841     bAux= bAux || (Saux1.e[i]!=Saux2.e[i]);
   9842   if (bAux!=b) err= 1;
   9843 
   9844 # if defined (GCC_COMPILER)
   9845    Saux1.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   9846    Saux2.v= (vector signed short){-3800,  3700, -3600, -3500,    0, 3300, 3200, 3100};
   9847 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9848    Saux1.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   9849    Saux2.v= (vector signed short)(-3800,  3700, -3600, -3500,    0, 3300, 3200, 3100);
   9850 # endif
   9851   b= vec_any_ne (Saux1.v, Saux2.v);
   9852   bAux= 0;
   9853   for (i=0; i<8; i++)
   9854     bAux= bAux || (Saux1.e[i]!=Saux2.e[i]);
   9855   if (bAux!=b) err= 1;
   9856 
   9857 # if defined (GCC_COMPILER)
   9858    Saux1.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100};
   9859    Saux2.v= (vector signed short){-3800, -3700, -3600, -3500,    0, 3300, 3100, 3100};
   9860 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9861    Saux1.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3200, 3100);
   9862    Saux2.v= (vector signed short)(-3800, -3700, -3600, -3500,    0, 3300, 3100, 3100);
   9863 # endif
   9864   b= vec_any_ne (Saux1.v, Saux2.v);
   9865   bAux= 0;
   9866   for (i=0; i<8; i++)
   9867     bAux= bAux || (Saux1.e[i]!=Saux2.e[i]);
   9868   if (bAux!=b) err= 1;
   9869 
   9870   if (err)
   9871     printf("Function vec_any_ne [type short]          ===> Error\n");
   9872   else
   9873     printf("Function vec_any_ne [type short]          ===> OK\n");
   9874 
   9875 
   9876   err = 0;
   9877 # if defined (GCC_COMPILER)
   9878    USaux1.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   9879    USaux2.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   9880 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9881    USaux1.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   9882    USaux2.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   9883 # endif
   9884   b= vec_any_ne (USaux1.v, USaux2.v);
   9885   bAux= 0;
   9886   for (i=0; i<8; i++)
   9887     bAux= bAux || (USaux1.e[i]!=USaux2.e[i]);
   9888   if (bAux!=b) err= 1;
   9889 
   9890 # if defined (GCC_COMPILER)
   9891    USaux1.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   9892    USaux2.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3100, 3100};
   9893 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9894    USaux1.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   9895    USaux2.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3100, 3100);
   9896 # endif
   9897   b= vec_any_ne (USaux1.v, USaux2.v);
   9898   bAux= 0;
   9899   for (i=0; i<8; i++)
   9900     bAux= bAux || (USaux1.e[i]!=USaux2.e[i]);
   9901   if (bAux!=b) err= 1;
   9902 
   9903 # if defined (GCC_COMPILER)
   9904    USaux1.v= (vector unsigned short){48000, 47000, 46000, 45000,    0, 3300, 3200, 3100};
   9905    USaux2.v= (vector unsigned short){48000, 47000, 46000,     0,    0, 3300, 3100, 3100};
   9906 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9907    USaux1.v= (vector unsigned short)(48000, 47000, 46000, 45000,    0, 3300, 3200, 3100);
   9908    USaux2.v= (vector unsigned short)(48000, 47000, 46000,     0,    0, 3300, 3100, 3100);
   9909 # endif
   9910   b= vec_any_ne (USaux1.v, USaux2.v);
   9911   bAux= 0;
   9912   for (i=0; i<8; i++)
   9913     bAux= bAux || (USaux1.e[i]!=USaux2.e[i]);
   9914   if (bAux!=b) err= 1;
   9915 
   9916   if (err)
   9917     printf("Function vec_any_ne [type unsigned short] ===> Error\n");
   9918   else
   9919     printf("Function vec_any_ne [type unsigned short] ===> OK\n");
   9920 
   9921 
   9922   err = 0;
   9923 # if defined (GCC_COMPILER)
   9924    Iaux1.v= (vector signed int){-1003800, -1003700,       0,1003300};
   9925    Iaux2.v= (vector signed int){-1003800, -1003700,       0,1003300};
   9926 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9927    Iaux1.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   9928    Iaux2.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   9929 # endif
   9930   b= vec_any_ne (Iaux1.v, Iaux2.v);
   9931   bAux= 0;
   9932   for (i=0; i<4; i++)
   9933     bAux= bAux || (Iaux1.e[i]!=Iaux2.e[i]);
   9934   if (bAux!=b) err= 1;
   9935 
   9936 # if defined (GCC_COMPILER)
   9937    Iaux1.v= (vector signed int){-1003800, -1003700,       0,1003300};
   9938    Iaux2.v= (vector signed int){-1003800, -1003700,       0,1113300};
   9939 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9940    Iaux1.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   9941    Iaux2.v= (vector signed int)(-1003800, -1003700,       0,1113300);
   9942 # endif
   9943   b= vec_any_ne (Iaux1.v, Iaux2.v);
   9944   bAux= 0;
   9945   for (i=0; i<4; i++)
   9946     bAux= bAux || (Iaux1.e[i]!=Iaux2.e[i]);
   9947   if (bAux!=b) err= 1;
   9948 
   9949 # if defined (GCC_COMPILER)
   9950    Iaux1.v= (vector signed int){-1003800, -1003700,       0,1003300};
   9951    Iaux2.v= (vector signed int){-1003800,       10,       0,1113300};
   9952 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9953    Iaux1.v= (vector signed int)(-1003800, -1003700,       0,1003300);
   9954    Iaux2.v= (vector signed int)(-1003800,       10,       0,1113300);
   9955 # endif
   9956   b= vec_any_ne (Iaux1.v, Iaux2.v);
   9957   bAux= 0;
   9958   for (i=0; i<4; i++)
   9959     bAux= bAux || (Iaux1.e[i]!=Iaux2.e[i]);
   9960   if (bAux!=b) err= 1;
   9961 
   9962   if (err)
   9963     printf("Function vec_any_ne [type int]            ===> Error\n");
   9964   else
   9965     printf("Function vec_any_ne [type int]            ===> OK\n");
   9966 
   9967 
   9968   err = 0;
   9969 # if defined (GCC_COMPILER)
   9970    UIaux1.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   9971    UIaux2.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   9972 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9973    UIaux1.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   9974    UIaux2.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   9975 # endif
   9976   b= vec_any_ne (UIaux1.v, UIaux2.v);
   9977   bAux= 0;
   9978   for (i=0; i<4; i++)
   9979     bAux= bAux || (UIaux1.e[i]!=UIaux2.e[i]);
   9980   if (bAux!=b) err= 1;
   9981 
   9982 # if defined (GCC_COMPILER)
   9983    UIaux1.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   9984    UIaux2.v= (vector unsigned int){0xFFFFF000, 12345678, 5, 1};
   9985 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9986    UIaux1.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   9987    UIaux2.v= (vector unsigned int)(0xFFFFF000, 12345678, 5, 1);
   9988 # endif
   9989   b= vec_any_ne (UIaux1.v, UIaux2.v);
   9990   bAux= 0;
   9991   for (i=0; i<4; i++)
   9992     bAux= bAux || (UIaux1.e[i]!=UIaux2.e[i]);
   9993   if (bAux!=b) err= 1;
   9994 
   9995 # if defined (GCC_COMPILER)
   9996    UIaux1.v= (vector unsigned int){0xFFFFF000, 12345678, 0, 1};
   9997    UIaux2.v= (vector unsigned int){0xFFFFFFF0, 12345678, 5, 1};
   9998 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   9999    UIaux1.v= (vector unsigned int)(0xFFFFF000, 12345678, 0, 1);
   10000    UIaux2.v= (vector unsigned int)(0xFFFFFFF0, 12345678, 5, 1);
   10001 # endif
   10002   b= vec_any_ne (UIaux1.v, UIaux2.v);
   10003   bAux= 0;
   10004   for (i=0; i<4; i++)
   10005     bAux= bAux || (UIaux1.e[i]!=UIaux2.e[i]);
   10006   if (bAux!=b) err= 1;
   10007 
   10008   if (err)
   10009     printf("Function vec_any_ne [type unsigned int]   ===> Error\n");
   10010   else
   10011     printf("Function vec_any_ne [type unsigned int]   ===> OK\n");
   10012 
   10013 #if defined TEST_FLOATS
   10014   err = 0;
   10015 # if defined (GCC_COMPILER)
   10016    Faux1.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   10017    Faux2.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   10018 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10019    Faux1.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   10020    Faux2.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   10021 # endif
   10022   b= vec_any_ne (Faux1.v, Faux2.v);
   10023   bAux= 0;
   10024   for (i=0; i<4; i++)
   10025     bAux= bAux || (Faux1.e[i]!=Faux2.e[i]);
   10026   if (bAux!=b) err= 1;
   10027 
   10028 # if defined (GCC_COMPILER)
   10029    Faux1.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   10030    Faux2.v= (vector float) {-1.5, 1.0, 0.5, -3.998};
   10031 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10032    Faux1.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   10033    Faux2.v= (vector float) (-1.5, 1.0, 0.5, -3.998);
   10034 # endif
   10035   b= vec_any_ne (Faux1.v, Faux2.v);
   10036   bAux= 0;
   10037   for (i=0; i<4; i++)
   10038     bAux= bAux || (Faux1.e[i]!=Faux2.e[i]);
   10039   if (bAux!=b) err= 1;
   10040 
   10041 # if defined (GCC_COMPILER)
   10042    Faux1.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   10043    Faux2.v= (vector float) {-1.5, 0.0, 0.5, -3.998};
   10044 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10045    Faux1.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   10046    Faux2.v= (vector float) (-1.5, 0.0, 0.5, -3.998);
   10047 # endif
   10048   b= vec_any_ne (Faux1.v, Faux2.v);
   10049   bAux= 0;
   10050   for (i=0; i<4; i++)
   10051     bAux= bAux || (Faux1.e[i]!=Faux2.e[i]);
   10052   if (bAux!=b) err= 1;
   10053 
   10054   if (err)
   10055     printf("Function vec_any_ne [type float]          ===> Error\n");
   10056   else
   10057     printf("Function vec_any_ne [type float]          ===> OK\n");
   10058 #endif
   10059 
   10060 
   10061 #if defined TEST_FLOATS
   10062 /*    Function vec_any_nge    */
   10063   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   10064   err = 0;
   10065 # if defined (GCC_COMPILER)
   10066    Faux1.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10067    Faux2.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   10068 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10069    Faux1.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10070    Faux2.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   10071 # endif
   10072   b= vec_any_nge (Faux1.v, Faux2.v);
   10073   bAux= 0;
   10074   for (i=0; i<4; i++)
   10075     bAux= bAux || isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   10076          (Faux1.e[i]<Faux2.e[i]);
   10077   if (bAux!=b) err= 1;
   10078 
   10079 # if defined (GCC_COMPILER)
   10080    Faux1.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10081    Faux2.v= (vector float) {-1.5, 1.0, 0.55, -3.999};
   10082 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10083    Faux1.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10084    Faux2.v= (vector float) (-1.5, 1.0, 0.55, -3.999);
   10085 # endif
   10086   b= vec_any_nge (Faux1.v, Faux2.v);
   10087   bAux= 0;
   10088   for (i=0; i<4; i++)
   10089     bAux= bAux || isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   10090          (Faux1.e[i]<Faux2.e[i]);
   10091   if (bAux!=b) err= 1;
   10092 
   10093 # if defined (GCC_COMPILER)
   10094    Faux1.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10095    Faux2.v= (vector float) {-1.5, 5.0, 0.5, -3.999};
   10096 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10097    Faux1.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10098    Faux2.v= (vector float) (-1.5, 5.0, 0.5, -3.999);
   10099 # endif
   10100   b= vec_any_nge (Faux1.v, Faux2.v);
   10101   bAux= 0;
   10102   for (i=0; i<4; i++)
   10103     bAux= bAux || isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   10104          (Faux1.e[i]<Faux2.e[i]);
   10105   if (bAux!=b) err= 1;
   10106 
   10107 # if defined (GCC_COMPILER)
   10108    Faux1.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10109    Faux2.v= (vector float) {-1.5, 1.0, NAN, -3.999};
   10110 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10111    Faux1.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10112    Faux2.v= (vector float) (-1.5, 1.0, NAN, -3.999);
   10113 # endif
   10114   b= vec_any_nge (Faux1.v, Faux2.v);
   10115   bAux= 0;
   10116   for (i=0; i<4; i++)
   10117     bAux= bAux || isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   10118          (Faux1.e[i]<Faux2.e[i]);
   10119   if (bAux!=b) err= 1;
   10120 
   10121   if (err)
   10122     printf("Function vec_any_nge [type float]         ===> Error\n");
   10123   else
   10124     printf("Function vec_any_nge [type float]         ===> OK\n");
   10125 #endif
   10126 
   10127 
   10128 #if defined TEST_FLOATS
   10129 /*    Function vec_any_ngt    */
   10130   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   10131   err = 0;
   10132 # if defined (GCC_COMPILER)
   10133    Faux1.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10134    Faux2.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   10135 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10136    Faux1.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10137    Faux2.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   10138 # endif
   10139   b= vec_any_ngt (Faux1.v, Faux2.v);
   10140   bAux= 0;
   10141   for (i=0; i<4; i++)
   10142     bAux= bAux || isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   10143           !(Faux1.e[i]>Faux2.e[i]);
   10144   if (bAux!=b) err= 1;
   10145 
   10146 # if defined (GCC_COMPILER)
   10147    Faux1.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10148    Faux2.v= (vector float) {-1.5, 1.0, 0.55, -3.999};
   10149 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10150    Faux1.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10151    Faux2.v= (vector float) (-1.5, 1.0, 0.55, -3.999);
   10152 # endif
   10153   b= vec_any_ngt (Faux1.v, Faux2.v);
   10154   bAux= 0;
   10155   for (i=0; i<4; i++)
   10156     bAux= bAux || isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   10157           !(Faux1.e[i]>Faux2.e[i]);
   10158   if (bAux!=b) err= 1;
   10159 
   10160 # if defined (GCC_COMPILER)
   10161    Faux1.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10162    Faux2.v= (vector float) {-1.5, 5.0, 0.5, -3.999};
   10163 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10164    Faux1.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10165    Faux2.v= (vector float) (-1.5, 5.0, 0.5, -3.999);
   10166 # endif
   10167   b= vec_any_ngt (Faux1.v, Faux2.v);
   10168   bAux= 0;
   10169   for (i=0; i<4; i++)
   10170     bAux= bAux || isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   10171           !(Faux1.e[i]>Faux2.e[i]);
   10172   if (bAux!=b) err= 1;
   10173 
   10174 # if defined (GCC_COMPILER)
   10175    Faux1.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10176    Faux2.v= (vector float) {-1.5, 1.0, NAN, -3.999};
   10177 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10178    Faux1.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10179    Faux2.v= (vector float) (-1.5, 1.0, NAN, -3.999);
   10180 # endif
   10181   b= vec_any_ngt (Faux1.v, Faux2.v);
   10182   bAux= 0;
   10183   for (i=0; i<4; i++)
   10184     bAux= bAux || isnan(Faux1.e[i]) || isnan(Faux2.e[i]) ||
   10185           !(Faux1.e[i]>Faux2.e[i]);
   10186   if (bAux!=b) err= 1;
   10187 
   10188   if (err)
   10189     printf("Function vec_any_ngt [type float]         ===> Error\n");
   10190   else
   10191     printf("Function vec_any_ngt [type float]         ===> OK\n");
   10192 #endif
   10193 
   10194 
   10195 #if defined TEST_FLOATS
   10196 /*    Function vec_any_nle    */
   10197   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   10198   err = 0;
   10199 # if defined (GCC_COMPILER)
   10200    Faux1.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   10201    Faux2.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10202 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10203    Faux1.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   10204    Faux2.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10205 # endif
   10206   b= vec_any_nle (Faux1.v, Faux2.v);
   10207   bAux= 0;
   10208   for (i=0; i<4; i++)
   10209     bAux= bAux ||
   10210          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i]<=Faux2.e[i]));
   10211   if (bAux!=b) err= 1;
   10212 
   10213 # if defined (GCC_COMPILER)
   10214    Faux1.v= (vector float) {-1.5, 1.0, 0.55, -3.999};
   10215    Faux2.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10216 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10217    Faux1.v= (vector float) (-1.5, 1.0, 0.55, -3.999);
   10218    Faux2.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10219 # endif
   10220   b= vec_any_nle (Faux1.v, Faux2.v);
   10221   bAux= 0;
   10222   for (i=0; i<4; i++)
   10223     bAux= bAux ||
   10224          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i]<=Faux2.e[i]));
   10225   if (bAux!=b) err= 1;
   10226 
   10227 # if defined (GCC_COMPILER)
   10228    Faux1.v= (vector float) {-1.5, 5.0, 0.5, -3.999};
   10229    Faux2.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10230 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10231    Faux1.v= (vector float) (-1.5, 5.0, 0.5, -3.999);
   10232    Faux2.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10233 # endif
   10234   b= vec_any_nle (Faux1.v, Faux2.v);
   10235   bAux= 0;
   10236   for (i=0; i<4; i++)
   10237     bAux= bAux ||
   10238          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i]<=Faux2.e[i]));
   10239   if (bAux!=b) err= 1;
   10240 
   10241 # if defined (GCC_COMPILER)
   10242    Faux1.v= (vector float) {-1.5, 1.0, NAN, -3.999};
   10243    Faux2.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10244 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10245    Faux1.v= (vector float) (-1.5, 1.0, NAN, -3.999);
   10246    Faux2.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10247 # endif
   10248   b= vec_any_nle (Faux1.v, Faux2.v);
   10249   bAux= 0;
   10250   for (i=0; i<4; i++)
   10251     bAux= bAux ||
   10252          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i]<=Faux2.e[i]));
   10253   if (bAux!=b) err= 1;
   10254 
   10255   if (err)
   10256     printf("Function vec_any_nle [type float]         ===> Error\n");
   10257   else
   10258     printf("Function vec_any_nle [type float]         ===> OK\n");
   10259 #endif
   10260 
   10261 
   10262 #if defined TEST_FLOATS
   10263 /*    Function vec_any_nlt    */
   10264   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   10265   err = 0;
   10266 # if defined (GCC_COMPILER)
   10267    Faux1.v= (vector float) {-1.5, 1.0, 0.5, -3.999};
   10268    Faux2.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10269 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10270    Faux1.v= (vector float) (-1.5, 1.0, 0.5, -3.999);
   10271    Faux2.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10272 # endif
   10273   b= vec_any_nlt (Faux1.v, Faux2.v);
   10274   bAux= 0;
   10275   for (i=0; i<4; i++)
   10276     bAux= bAux ||
   10277          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i]<Faux2.e[i]));
   10278   if (bAux!=b) err= 1;
   10279 
   10280 # if defined (GCC_COMPILER)
   10281    Faux1.v= (vector float) {-1.5, 1.0, 0.55, -3.999};
   10282    Faux2.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10283 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10284    Faux1.v= (vector float) (-1.5, 1.0, 0.55, -3.999);
   10285    Faux2.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10286 # endif
   10287   b= vec_all_nlt (Faux1.v, Faux2.v);
   10288   b= vec_any_nlt (Faux1.v, Faux2.v);
   10289   bAux= 0;
   10290   for (i=0; i<4; i++)
   10291     bAux= bAux ||
   10292          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i]<Faux2.e[i]));
   10293   if (bAux!=b) err= 1;
   10294 
   10295 # if defined (GCC_COMPILER)
   10296    Faux1.v= (vector float) {-1.5, 5.0, 0.5, -3.999};
   10297    Faux2.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10298 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10299    Faux1.v= (vector float) (-1.5, 5.0, 0.5, -3.999);
   10300    Faux2.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10301 # endif
   10302   b= vec_any_nlt (Faux1.v, Faux2.v);
   10303   bAux= 0;
   10304   for (i=0; i<4; i++)
   10305     bAux= bAux ||
   10306          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i]<Faux2.e[i]));
   10307   if (bAux!=b) err= 1;
   10308 
   10309 # if defined (GCC_COMPILER)
   10310    Faux1.v= (vector float) {-1.5, 1.0, NAN, -3.999};
   10311    Faux2.v= (vector float) { 0.0, 3.5, 0.55, -1.5};
   10312 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10313    Faux1.v= (vector float) (-1.5, 1.0, NAN, -3.999);
   10314    Faux2.v= (vector float) ( 0.0, 3.5, 0.55, -1.5);
   10315 # endif
   10316   b= vec_any_nlt (Faux1.v, Faux2.v);
   10317   bAux= 0;
   10318   for (i=0; i<4; i++)
   10319     bAux= bAux ||
   10320          (isnan(Faux1.e[i]) || isnan(Faux2.e[i]) || !(Faux1.e[i]<Faux2.e[i]));
   10321   if (bAux!=b) err= 1;
   10322 
   10323   if (err)
   10324     printf("Function vec_any_nlt [type float]         ===> Error\n");
   10325   else
   10326     printf("Function vec_any_nlt [type float]         ===> OK\n");
   10327 #endif
   10328 
   10329 
   10330 #if defined TEST_FLOATS
   10331 /*    Function vec_any_numeric    */
   10332   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   10333   err = 0;
   10334 # if defined (GCC_COMPILER)
   10335    Faux1.v= (vector float) { NAN, NAN, NAN, NAN};
   10336 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10337    Faux1.v= (vector float) ( NAN, NAN, NAN, NAN);
   10338 # endif
   10339   b= vec_any_numeric (Faux1.v);
   10340   bAux= 0;
   10341   for (i=0; i<4; i++)
   10342     bAux= bAux || !isnan(Faux1.e[i]);
   10343   if (bAux!=b) err= 1;
   10344 
   10345 # if defined (GCC_COMPILER)
   10346    Faux1.v= (vector float) { NAN, 3.5, NAN, NAN};
   10347 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10348    Faux1.v= (vector float) ( NAN, 3.5, NAN, NAN);
   10349 # endif
   10350   b= vec_any_numeric (Faux1.v);
   10351   bAux= 0;
   10352   for (i=0; i<4; i++)
   10353     bAux= bAux || !isnan(Faux1.e[i]);
   10354   if (bAux!=b) err= 1;
   10355 
   10356 # if defined (GCC_COMPILER)
   10357    Faux1.v= (vector float) { -1.5, 3.5, 0.55, -1.5};
   10358 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10359    Faux1.v= (vector float) ( -1.5, 3.5, 0.55, -1.5);
   10360 # endif
   10361   b= vec_any_numeric (Faux1.v);
   10362   bAux= 0;
   10363   for (i=0; i<4; i++)
   10364     bAux= bAux || !isnan(Faux1.e[i]);
   10365   if (bAux!=b) err= 1;
   10366 
   10367   if (err)
   10368     printf("Function vec_any_numeric [type float]     ===> Error\n");
   10369   else
   10370     printf("Function vec_any_numeric [type float]     ===> OK\n");
   10371 #endif
   10372 
   10373 
   10374 #if defined TEST_FLOATS
   10375 /*    Function vec_any_out    */
   10376   printf("\n:::::::::::::::::::::::::::::::::::::::\n");
   10377   err = 0;
   10378   Faux1.v = Fcons1;
   10379   Faux2.v = Fcons2;
   10380   I1 = vec_any_out( Faux1.v, Faux2.v );
   10381   Iaux = 0;
   10382   for ( i=0; i< 4; i++ )
   10383   {
   10384     Iaux = Iaux || ((isnan(Faux1.e[i])) || (isnan(Faux2.e[i])) ||
   10385                     (Faux1.e[i]>Faux2.e[i]) || (Faux1.e[i]<-Faux2.e[i]));
   10386   }
   10387   if (I1 != Iaux) err++;
   10388 
   10389 # if defined (GCC_COMPILER)
   10390    Faux1.v = (vector float){-0.5, 1.0, 0, -0.999};
   10391 # elif defined (MAC_COMPILER) || defined (XLC_COMPILER)
   10392    Faux1.v = (vector float)(-0.5, 1.0, 0, -0.999);
   10393 # endif
   10394   Faux2.v = Fcons2;
   10395   I1 = vec_any_out( Faux1.v, Faux2.v );
   10396   Iaux = 0;
   10397   for ( i=0; i< 4; i++ )
   10398   {
   10399     Iaux = Iaux || ((isnan(Faux1.e[i])) || (isnan(Faux2.e[i])) ||
   10400                     (Faux1.e[i]>Faux2.e[i]) || (Faux1.e[i]<-Faux2.e[i]));
   10401   }
   10402   if (I1 != Iaux) err++;
   10403 
   10404   if (err)
   10405     printf("Function vec_any_out [type float]         ===> Error\n");
   10406   else
   10407     printf("Function vec_any_out [type float]         ===> OK\n");
   10408 #endif
   10409 
   10410   return 0;
   10411 }
   10412