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()29int 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