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