(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
gen-vect-11a.c
       1  /* { dg-do run { target vect_cmdline_needed } } */
       2  /* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details -fvect-cost-model=dynamic" } */
       3  /* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details -fvect-cost-model=dynamic -mno-sse" { target { i?86-*-* x86_64-*-* } } } */
       4  
       5  #include <stdlib.h>
       6  
       7  #define N 16
       8  
       9  #if __INT_MAX__ == 32767
      10  typedef char half_word;
      11  #elif __LONG_MAX__ == 2147483647
      12  typedef short half_word;
      13  #else
      14  typedef int half_word;
      15  #endif
      16  
      17  half_word ic[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
      18  half_word ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
      19  
      20  int main ()
      21  {
      22    int i;
      23    half_word ia[N];
      24  
      25    for (i = 0; i < N; i++)
      26      {
      27        ia[i] = ib[i] & ic[i];
      28      }
      29  
      30    /* check results:  */
      31    for (i = 0; i < N; i++)
      32      {
      33        if (ia[i] != (ib[i] & ic[i]))
      34          abort ();
      35      }
      36  
      37    return 0;
      38  }
      39  
      40  
      41  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ! { avr-*-* pru-*-* } } } } } */