| /* { dg-do compile } */ |
| /* { dg-options "-O3 -fopenmp-simd" } */ |
| |
| typedef int a; |
| typedef struct { |
| a b __attribute__((__vector_size__(8))); |
| } c; |
| |
| typedef a d __attribute__((__vector_size__(8))); |
| c e, f, g; |
| d h, j; |
| void k() { |
| c l; |
| l.b[1] = 0; |
| c m = l; |
| __builtin_memcpy(&h, &m, sizeof(h)); |
| j = h; |
| { |
| c l; |
| l.b[1] = 0; |
| m = l; |
| __builtin_memcpy(&h, &m, sizeof(h)); |
| d m = j; |
| __builtin_memcpy(&g, &m, sizeof(g)); |
| e = g; |
| m = h; |
| __builtin_memcpy(&g, &m, sizeof(g)); |
| #pragma omp simd |
| for (long i = 0; i < f.b[0]; i++) |
| f.b[i] = e.b[i] > g.b[i]; |
| } |
| } |