(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vect/
pr71264.c
       1  /* { dg-do compile } */
       2  /* { dg-require-effective-target vect_int } */
       3  
       4  typedef unsigned char uint8_t;
       5  typedef uint8_t footype __attribute__((vector_size(4)));
       6  
       7  void test(uint8_t *ptr, uint8_t *mask)
       8  {
       9    footype mv;
      10    ptr = __builtin_assume_aligned (ptr, __alignof__ (footype));
      11    mask = __builtin_assume_aligned (mask, __alignof__ (footype));
      12    __builtin_memcpy(&mv, mask, sizeof(mv));
      13    for (unsigned i = 0; i < 16; i += 4)
      14      {
      15        footype temp;
      16        __builtin_memcpy(&temp, &ptr[i], sizeof(temp));
      17        temp ^= mv;
      18        __builtin_memcpy(&ptr[i], &temp, sizeof(temp));
      19      }
      20  }
      21  
      22  /* { dg-final { scan-tree-dump "vectorized 1 loops in function" "vect" { xfail { { s390*-*-* sparc*-*-* } || vect32 } } } } */