(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
swaps-p8-7.c
       1  /* { dg-do run } */
       2  /* { dg-require-effective-target p8vector_hw } */
       3  /* { dg-options "-mdejagnu-cpu=power8 -O3" } */
       4  
       5  void abort ();
       6  
       7  #define N 256
       8  signed char ca[N] __attribute__((aligned(16)));
       9  signed char cb[N] __attribute__((aligned(16)));
      10  signed char cc[N] __attribute__((aligned(16)));
      11  
      12  __attribute__((noinline)) void foo ()
      13  {
      14    int i;
      15    for (i = 0; i < N; i++) {
      16      ca[i] = cb[i] - cc[i];
      17    }
      18  }
      19  
      20  __attribute__((noinline)) void init ()
      21  {
      22    int i;
      23    for (i = 0; i < N; ++i) {
      24      cb[i] = i - 128;
      25      cc[i] = i/2 - 64;
      26    }
      27  }
      28  
      29  int main ()
      30  {
      31    int i;
      32    init ();
      33    foo ();
      34    for (i = 0; i < N; ++i)
      35      if (ca[i] != i - i/2 - 64)
      36        abort ();
      37    return 0;
      38  }