Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/vect/slp-37.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
15 foo1 (s1 *arr) | 15 foo1 (s1 *arr) |
16 { | 16 { |
17 int i; | 17 int i; |
18 s1 *ptr = arr; | 18 s1 *ptr = arr; |
19 | 19 |
20 /* Different constant types - not SLPable. The group size is not power of 2, | 20 /* Vectorized as a strided SLP pair of accesses to <a, b> and a single |
21 interleaving is not supported either. */ | 21 strided access to c. */ |
22 for (i = 0; i < N; i++) | 22 for (i = 0; i < N; i++) |
23 { | 23 { |
24 ptr->a = 6; | 24 ptr->a = 6; |
25 ptr->b = 7; | 25 ptr->b = 7; |
26 ptr->c = 0; | 26 ptr->c = 0; |
47 for (i = 0; i < N; i++) | 47 for (i = 0; i < N; i++) |
48 { | 48 { |
49 arr1[i].a = i; | 49 arr1[i].a = i; |
50 arr1[i].b = i * 2; | 50 arr1[i].b = i * 2; |
51 arr1[i].c = (void *)arr1; | 51 arr1[i].c = (void *)arr1; |
52 | 52 asm volatile ("" ::: "memory"); |
53 if (arr1[i].a == 178) | |
54 abort(); | |
55 } | 53 } |
56 | 54 |
57 | 55 |
58 foo1 (arr1); | 56 foo1 (arr1); |
59 | 57 |
60 return 0; | 58 return 0; |
61 } | 59 } |
62 | 60 |
63 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */ | 61 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_hw_misalign } } } */ |
64 /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */ | 62 /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_hw_misalign } } } */ |
65 |