modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr54713-1.c (about)

     1  /* PR tree-optimization/54713 */
     2  
     3  #ifndef N
     4  #define N 8
     5  #define ONE 1, 1, 1, 1, 1, 1, 1, 1
     6  #define ONEU 1U, 1U, 1U, 1U, 1U, 1U, 1U, 1U
     7  #endif
     8  
     9  typedef int V __attribute__((vector_size (N * sizeof (int))));
    10  typedef unsigned int W __attribute__((vector_size (N * sizeof (int))));
    11  
    12  void
    13  f1 (V *p)
    14  {
    15    *p = (*p & ((V) { ONE })) ^ ((V) { ONE});
    16  }
    17  
    18  void
    19  f2 (V *p)
    20  {
    21    *p = (*p ^ ((V) { ONE })) & ((V) { ONE});
    22  }
    23  
    24  void
    25  f3 (V *p)
    26  {
    27    *p = (~*p) & ((V) { ONE });
    28  }
    29  
    30  void
    31  f4 (V *p, V *q)
    32  {
    33    *p = (*p ^ *q) == *q;
    34  }
    35  
    36  void
    37  f5 (V *p, V *q)
    38  {
    39    *p = (*p ^ *q) == *p;
    40  }
    41  
    42  void
    43  f6 (V *p, V *q, V *r)
    44  {
    45    *p = (*p & *r) == (*q & *r);
    46  }
    47  
    48  void
    49  f7 (V *p, V *q, V *r)
    50  {
    51    *p = (*p & *r) == (*r & *q);
    52  }
    53  
    54  void
    55  f8 (V *p, V *q, V *r)
    56  {
    57    *p = (*r & *p) == (*q & *r);
    58  }
    59  
    60  void
    61  f9 (V *p, V *q, V *r)
    62  {
    63    *p = (*r & *p) == (*r & *q);
    64  }
    65  
    66  void
    67  f10 (W *p, W *q)
    68  {
    69    *p = *p < (((const W) { ONEU }) << *q);
    70  }