⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testvmx.c

📁 The Valgrind distribution has multiple tools. The most popular is the memory checking tool (called M
💻 C
📖 第 1 页 / 共 5 页
字号:
  vector unsigned short UScons2  = (vector unsigned short)(1, 1, 1, 1, 1, 1, 1, 1);  vector unsigned short UScons3  = (vector unsigned short)(1, 2, 3, 4, 1, 2, 3, 4);  vector signed int     Icons1   = (vector signed int)(-4, -1, 1, 4);  vector signed int     Icons2   = (vector signed int)(1, 1, 1, 1);  vector signed int     Icons3   = (vector signed int)(0x80000000, 0x7FFFFFFF, 0x80000000, 0x7FFFFFFF);  vector unsigned int   UIcons1  = (vector unsigned int)(0xFFFFFFFE, 0xFFFFFFFF, 0, 1);  vector unsigned int   UIcons2  = (vector unsigned int)(1, 1, 1, 1);  vector unsigned int   UIcons3  = (vector unsigned int)(1, 2, 1, 2);#if defined TEST_FLOATS  vector float          Fcons1   = (vector float)(-1.5, 1.0, 0.5, -3.999);  vector float          Fcons2   = (vector float)(1.0, 1.0, 1.0, 1.0);  vector float          Fcons3   = (vector float)(100000000000.0, 1.0, -1.0, -1234567890.0);#endif#endif/*    Function vec_abs    */  printf("\n:::::::::::::::::::::::::::::::::::::::\n");  err = 0;  Caux1.v = vec_abs( Ccons1 );  Caux2.v = Ccons1;  for( i=0; i< 16; i++ )    if (Caux1.e[i] != abs( Caux2.e[i] ))      err++;  if (err)    printf("Function vec_abs [type char]              ===> Error\n");  else    printf("Function vec_abs [type char]              ===> OK\n");  err = 0;  Saux1.v = vec_abs( Scons1 );  Saux2.v = Scons1;  for( i=0; i< 8; i++ )    if (Saux1.e[i] != abs( Saux2.e[i] ))      err++;  if (err)    printf("Function vec_abs [type short]             ===> Error\n");  else    printf("Function vec_abs [type short]             ===> OK\n");  err = 0;  Iaux1.v = vec_abs( Icons1 );  Iaux2.v = Icons1;  for( i=0; i< 4; i++ )    if (Iaux1.e[i] != abs( Iaux2.e[i] ))      err++;  if (err)    printf("Function vec_abs [type integer]           ===> Error\n");  else    printf("Function vec_abs [type integer]           ===> OK\n");#if defined TEST_FLOATS  err = 0;  Faux1.v = vec_abs( Fcons1 );  Faux2.v = Fcons1;  for( i=0; i< 4; i++ )    if (Faux1.e[i] != fabs( Faux2.e[i] ))      err++;  if (err)    printf("Function vec_abs [type float]             ===> Error\n");  else    printf("Function vec_abs [type float]             ===> OK\n");#endif/*    Function vec_abss    */  printf("\n:::::::::::::::::::::::::::::::::::::::\n");  err = 0;  Caux1.v = vec_abss( Ccons1 );  Caux2.v = Ccons1;  for( i=0; i< 16; i++ )    if (Caux1.e[i] != abs( Caux2.e[i] ))      err++;  if (err)    printf("Function vec_abss [type char]             ===> Error\n");  else    printf("Function vec_abss [type char]             ===> OK\n");  err = 0;  Saux1.v = vec_abss( Scons1 );  Saux2.v = Scons1;  for( i=0; i< 8; i++ )    if (Saux1.e[i] != abs( Saux2.e[i] ))      err++;  if (err)    printf("Function vec_abss [type short]            ===> Error\n");  else    printf("Function vec_abss [type short]            ===> OK\n");  err = 0;  Iaux1.v = vec_abss( Icons1 );  Iaux2.v = Icons1;  for( i=0; i< 4; i++ )    if (Iaux1.e[i] != abs( Iaux2.e[i] ))      err++;  if (err)    printf("Function vec_abss [type integer]          ===> Error\n");  else    printf("Function vec_abss [type integer]          ===> OK\n");/*    Function vec_add    */  printf("\n:::::::::::::::::::::::::::::::::::::::\n");  err = 0;  Caux1.v = vec_add( Ccons1, Ccons2 );  Caux2.v = Ccons1;  Caux3.v = Ccons2;  for( i=0; i< 16; i++ )  {    Caux = Caux2.e[i]+Caux3.e[i];    if (Caux1.e[i] != Caux)      err++;  }  if (err)    printf("Function vec_add [type char]              ===> Error\n");  else    printf("Function vec_add [type char]              ===> OK\n");  err = 0;  UCaux1.v = vec_add( UCcons1, UCcons2 );  UCaux2.v = UCcons1;  UCaux3.v = UCcons2;  for( i=0; i< 16; i++ )  {    UCaux = UCaux2.e[i]+UCaux3.e[i];    if (UCaux1.e[i] != UCaux)      err++;  }  if (err)    printf("Function vec_add [type unsigned char]     ===> Error\n");  else    printf("Function vec_add [type unsigned char]     ===> OK\n");  err = 0;  Saux1.v = vec_add( Scons1, Scons2 );  Saux2.v = Scons1;  Saux3.v = Scons2;  for( i=0; i< 8; i++ )  {    Saux = Saux2.e[i]+Saux3.e[i];    if (Saux1.e[i] != Saux)      err++;  }  if (err)    printf("Function vec_add [type short]             ===> Error\n");  else    printf("Function vec_add [type short]             ===> OK\n");  err = 0;  USaux1.v = vec_add( UScons1, UScons2 );  USaux2.v = UScons1;  USaux3.v = UScons2;  for( i=0; i< 8; i++ )  {    USaux = USaux2.e[i]+USaux3.e[i];    if (USaux1.e[i] != USaux)      err++;  }  if (err)    printf("Function vec_add [type unsigned short]    ===> Error\n");  else    printf("Function vec_add [type unsigned short]    ===> OK\n");  err = 0;  Iaux1.v = vec_add( Icons1, Icons2 );  Iaux2.v = Icons1;  Iaux3.v = Icons2;  for( i=0; i< 4; i++ )  {    Iaux = Iaux2.e[i]+Iaux3.e[i];    if (Iaux1.e[i] != Iaux)      err++;  }  if (err)    printf("Function vec_add [type integer]           ===> Error\n");  else    printf("Function vec_add [type integer]           ===> OK\n");  err = 0;  UIaux1.v = vec_add( UIcons1, UIcons3 );  UIaux2.v = UIcons1;  UIaux3.v = UIcons3;  for( i=0; i< 4; i++ )  {    UIaux = UIaux2.e[i]+UIaux3.e[i];    if (UIaux1.e[i] != UIaux)      err++;  }  if (err)    printf("Function vec_add [type unsigned int]      ===> Error\n");  else    printf("Function vec_add [type unsigned int]      ===> OK\n");#if defined TEST_FLOATS  err = 0;  Faux1.v = vec_add( Fcons1, Fcons2 );  Faux2.v = Fcons1;  Faux3.v = Fcons2;  for( i=0; i< 4; i++ )  {    Faux = Faux2.e[i]+Faux3.e[i];    if (Faux1.e[i] != Faux)      err++;  }  if (err)    printf("Function vec_add [type float]             ===> Error\n");  else    printf("Function vec_add [type float]             ===> OK\n");#endif/*    Function vec_addc    */  printf("\n:::::::::::::::::::::::::::::::::::::::\n");  err = 0;  UIaux1.v = vec_addc( UIcons1, UIcons3 );  UIaux2.v = UIcons1;  UIaux3.v = UIcons3;  for( i=0; i< 4; i++ )  {    UIaux = (unsigned int)(UIaux2.e[i]+UIaux3.e[i]);    if ((UIaux< UIaux2.e[i]) || (UIaux< UIaux3.e[i]))      UIaux=1;    else      UIaux=0;    if (UIaux1.e[i] != UIaux)      err++;  }  if (err)    printf("Function vec_addc [type unsigned int]     ===> Error\n");  else    printf("Function vec_addc [type unsigned int]     ===> OK\n");/*    Function vec_adds    */  printf("\n:::::::::::::::::::::::::::::::::::::::\n");  err = 0;  Caux1.v = vec_adds( Ccons1, Ccons3 );  Caux2.v = Ccons1;  Caux3.v = Ccons3;  for( i=0; i< 16; i++ )  {    Caux = Caux2.e[i]+Caux3.e[i];    if ((Caux2.e[i]>0)&&(Caux3.e[i]>0))    {      if (Caux< 0)        Caux=0x7F;    }    else if ((Caux2.e[i]<0)&&(Caux3.e[i]<0))    {      if (Caux> 0)        Caux=0x80;    }     if (Caux1.e[i] != Caux)      err++;  }  if (err)    printf("Function vec_adds [type char]             ===> Error\n");  else    printf("Function vec_adds [type char]             ===> OK\n");  err = 0;  UCaux1.v = vec_adds( UCcons1, UCcons3 );  UCaux2.v = UCcons1;  UCaux3.v = UCcons3;  for( i=0; i< 16; i++ )  {    UCaux = (unsigned char)(UCaux2.e[i]+UCaux3.e[i]);    if ((UCaux< UCaux2.e[i]) || (UCaux< UCaux3.e[i]))      UCaux=0xFF;    if (UCaux1.e[i] != UCaux)      err++;  }  if (err)    printf("Function vec_adds [type unsigned char]    ===> Error\n");  else    printf("Function vec_adds [type unsigned char]    ===> OK\n");  err = 0;  Saux1.v = vec_adds( Scons1, Scons3 );  Saux2.v = Scons1;  Saux3.v = Scons3;  for( i=0; i< 8; i++ )  {    Saux = Saux2.e[i]+Saux3.e[i];    if ((Saux2.e[i]>0)&&(Saux3.e[i]>0))    {      if (Saux< 0)        Saux=0x7FFF;    }    else if ((Saux2.e[i]<0)&&(Saux3.e[i]<0))    {      if (Saux> 0)        Saux=0x8000;    }     if (Saux1.e[i] != Saux)      err++;  }  if (err)    printf("Function vec_adds [type short]            ===> Error\n");  else    printf("Function vec_adds [type short]            ===> OK\n");  err = 0;  USaux1.v = vec_adds( UScons1, UScons3 );  USaux2.v = UScons1;  USaux3.v = UScons3;  for( i=0; i< 8; i++ )  {    USaux = (unsigned short)(USaux2.e[i]+USaux3.e[i]);    if ((USaux< USaux2.e[i]) || (USaux< USaux3.e[i]))      USaux=0xFFFF;    if (USaux1.e[i] != USaux)      err++;  }  if (err)    printf("Function vec_adds [type unsigned short]   ===> Error\n");  else    printf("Function vec_adds [type unsigned short]   ===> OK\n");  err = 0;  Iaux1.v = vec_adds( Icons1, Icons3 );  Iaux2.v = Icons1;  Iaux3.v = Icons3;  for( i=0; i< 4; i++ )  {    Iaux = Iaux2.e[i]+Iaux3.e[i];    if ((Iaux2.e[i]>0)&&(Iaux3.e[i]>0))    {      if (Iaux< 0)        Iaux=0x7FFFFFFF;    }    else if ((Iaux2.e[i]<0)&&(Iaux3.e[i]<0))    {      if (Iaux> 0)        Iaux=0x80000000;    }     if (Iaux1.e[i] != Iaux)      err++;  }  if (err)    printf("Function vec_adds [type integer]          ===> Error\n");  else    printf("Function vec_adds [type integer]          ===> OK\n");  err = 0;  UIaux1.v = vec_adds( UIcons1, UIcons3 );  UIaux2.v = UIcons1;  UIaux3.v = UIcons3;  for( i=0; i< 4; i++ )  {    UIaux = (unsigned int)(UIaux2.e[i]+UIaux3.e[i]);    if ((UIaux< UIaux2.e[i]) || (UIaux< UIaux3.e[i]))      UIaux=0xFFFFFFFF;    if (UIaux1.e[i] != UIaux)      err++;  }  if (err)    printf("Function vec_adds [type unsigned int]     ===> Error\n");  else    printf("Function vec_adds [type unsigned int]     ===> OK\n");/*    Function vec_and    */  printf("\n:::::::::::::::::::::::::::::::::::::::\n");  err = 0;  Caux1.v = vec_and( Ccons1, Ccons2 );  Caux2.v = Ccons1;  Caux3.v = Ccons2;  for( i=0; i< 16; i++ )    if (Caux1.e[i] != (Caux2.e[i] & Caux3.e[i]))      err++;  if (err)    printf("Function vec_and [type char]              ===> Error\n");  else    printf("Function vec_and [type char]              ===> OK\n");  err = 0;  UCaux1.v = vec_and( UCcons1, UCcons2 );  UCaux2.v = UCcons1;  UCaux3.v = UCcons2;  for( i=0; i< 16; i++ )    if (UCaux1.e[i] != (UCaux2.e[i] & UCaux3.e[i]))      err++;  if (err)    printf("Function vec_and [type unsigned char]     ===> Error\n");  else    printf("Function vec_and [type unsigned char]     ===> OK\n");  err = 0;  Saux1.v = vec_and( Scons1, Scons2 );  Saux2.v = Scons1;  Saux3.v = Scons2;  for( i=0; i< 8; i++ )    if (Saux1.e[i] != (Saux2.e[i] & Saux3.e[i]))      err++;  if (err)    printf("Function vec_and [type short]             ===> Error\n");  else    printf("Function vec_and [type short]             ===> OK\n");  err = 0;  USaux1.v = vec_and( UScons1, UScons2 );  USaux2.v = UScons1;  USaux3.v = UScons2;  for( i=0; i< 8; i++ )    if (USaux1.e[i] != (USaux2.e[i] & USaux3.e[i]))      err++;  if (err)    printf("Function vec_and [type unsigned short]    ===> Error\n");  else    printf("Function vec_and [type unsigned short]    ===> OK\n");  err = 0;  Iaux1.v = vec_and( Icons1, Icons2 );  Iaux2.v = Icons1;  Iaux3.v = Icons2;  for( i=0; i< 4; i++ )    if (Iaux1.e[i] != (Iaux2.e[i] & Iaux3.e[i]))      err++;  if (err)    printf("Function vec_and [type integer]           ===> Error\n");  else    printf("Function vec_and [type integer]           ===> OK\n");  err = 0;  UIaux1.v = vec_and( UIcons1, UIcons2 );  UIaux2.v = UIcons1;  UIaux3.v = UIcons2;  for( i=0; i< 4; i++ )    if (UIaux1.e[i] != (UIaux2.e[i] & UIaux3.e[i]))      err++;  if (err)    printf("Function vec_and [type unsigned int]      ===> Error\n");  else    printf("Function vec_and [type unsigned int]      ===> OK\n");#if defined TEST_FLOATS  err = 0;  Faux1.v = vec_and( Fcons1, Fcons2 );  Faux2.v = Fcons1;  Faux3.v = Fcons2;  for( i=0; i< 4; i++ )  {    Ivec1 = Faux1.i[i];    Ivec2 = Faux2.i[i];    Ivec3 = Faux3.i[i];    if ((Ivec1) != ((Ivec2) & (Ivec3)))      err++;  }  if (err)    printf("Function vec_and [type float]             ===> Error\n");  else    printf("Function vec_and [type float]             ===> OK\n");#endif/*    Function vec_andc    */  printf("\n:::::::::::::::::::::::::::::::::::::::\n");  err = 0;  Caux1.v = vec_andc( Ccons1, Ccons2 );  Caux2.v = Ccons1;  Caux3.v = Ccons2;  for( i=0; i< 16; i++ )    if (Caux1.e[i] != (Caux2.e[i] & ~Caux3.e[i]))      err++;  if (err)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -