1 /* { dg-do run { target { powerpc64le-*-* } } } */
2 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
3 /* { dg-options "-mcpu=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 
foo()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 
init()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 
main()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 }
39