(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vect/
pr44507.c
       1  /* { dg-require-effective-target vect_int } */
       2  
       3  #include "tree-vect.h"
       4  
       5  int seeIf256ByteArrayIsConstant(
       6    unsigned char *pArray)
       7  {
       8    int index;
       9    unsigned int curVal, orVal, andVal;
      10    int bytesAreEqual = 0;
      11  
      12    if (pArray != 0)
      13      {
      14        for (index = 0, orVal = 0, andVal = 0xFFFFFFFF;
      15             index < 64;
      16             index += (int)sizeof(unsigned int))
      17          {
      18            curVal = *((unsigned int *)(&pArray[index]));
      19            orVal = orVal | curVal;
      20            andVal = andVal & curVal;
      21          }
      22  
      23        if (!((orVal == andVal) 
      24              && ((orVal >> 8) == (andVal & 0x00FFFFFF))))
      25          abort ();
      26      }
      27       
      28    return 0;
      29  }
      30  
      31  
      32  int main(int argc, char** argv)
      33  {
      34    unsigned char array1[64] = {
      35      0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
      36      0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
      37      0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
      38      0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
      39      0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
      40      0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
      41      0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
      42      0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
      43    };
      44  
      45    argv = argv;
      46    argc = argc;
      47  
      48    check_vect ();
      49  
      50    return seeIf256ByteArrayIsConstant(&array1[0]);
      51  }
      52  
      53