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