(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr106010-4a.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -mavx -ftree-vectorize -fvect-cost-model=unlimited -fdump-tree-slp-details" } */
       3  /* { dg-final { scan-tree-dump-times "basic block part vectorized using (?:32|64) byte vectors" 6 "slp2" } }*/
       4  /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM <vector\(4\) double>} 1 "slp2" } } */
       5  /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM <vector\(8\) float>} 1 "slp2" } } */
       6  /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM <vector\(4\) long long int>} 1 "slp2" } } */
       7  /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM <vector\(8\) int>} 1 "slp2" } } */
       8  /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM <vector\(16\) short int>} 1 "slp2" } } */
       9  /* { dg-final { scan-tree-dump-times {(?n)add new stmt:.*MEM <vector\(32\) char>} 1 "slp2" } } */
      10  
      11  void
      12  __attribute__((noipa))
      13  foo_pd (_Complex double* a,
      14  	_Complex double b1,
      15  	_Complex double b2)
      16  {
      17    a[0] = b1;
      18    a[1] = b2;
      19  }
      20  
      21  void
      22  __attribute__((noipa))
      23  foo_ps (_Complex float* a,
      24  	_Complex float b1, _Complex float b2,
      25  	_Complex float b3, _Complex float b4)
      26  {
      27    a[0] = b1;
      28    a[1] = b2;
      29    a[2] = b3;
      30    a[3] = b4;
      31  }
      32  
      33  void
      34  __attribute__((noipa))
      35  foo_epi64 (_Complex long long* a,
      36  	   _Complex long long b1,
      37  	   _Complex long long b2)
      38  {
      39    a[0] = b1;
      40    a[1] = b2;
      41  }
      42  
      43  void
      44  __attribute__((noipa))
      45  foo_epi32 (_Complex int* a,
      46  	   _Complex int b1, _Complex int b2,
      47  	   _Complex int b3, _Complex int b4)
      48  {
      49    a[0] = b1;
      50    a[1] = b2;
      51    a[2] = b3;
      52    a[3] = b4;
      53  }
      54  
      55  void
      56  __attribute__((noipa))
      57  foo_epi16 (_Complex short* a,
      58  	   _Complex short b1, _Complex short b2,
      59  	   _Complex short b3, _Complex short b4,
      60  	   _Complex short b5, _Complex short b6,
      61  	   _Complex short b7,_Complex short b8)
      62  {
      63    a[0] = b1;
      64    a[1] = b2;
      65    a[2] = b3;
      66    a[3] = b4;
      67    a[4] = b5;
      68    a[5] = b6;
      69    a[6] = b7;
      70    a[7] = b8;
      71  }
      72  
      73  void
      74  __attribute__((noipa))
      75  foo_epi8 (_Complex char* a,
      76  	  _Complex char b1, _Complex char b2,
      77  	  _Complex char b3, _Complex char b4,
      78  	  _Complex char b5, _Complex char b6,
      79  	  _Complex char b7,_Complex char b8,
      80  	  _Complex char b9, _Complex char b10,
      81  	  _Complex char b11, _Complex char b12,
      82  	  _Complex char b13, _Complex char b14,
      83  	  _Complex char b15,_Complex char b16)
      84  {
      85    a[0] = b1;
      86    a[1] = b2;
      87    a[2] = b3;
      88    a[3] = b4;
      89    a[4] = b5;
      90    a[5] = b6;
      91    a[6] = b7;
      92    a[7] = b8;
      93    a[8] = b9;
      94    a[9] = b10;
      95    a[10] = b11;
      96    a[11] = b12;
      97    a[12] = b13;
      98    a[13] = b14;
      99    a[14] = b15;
     100    a[15] = b16;
     101  }