1 /* { dg-require-effective-target vect_int } */
13 unsigned short udata_sh
[N
] = {0,2,4,6,8,10,12,14,16,18,20,22,24,26,28};
14 unsigned char udata_ch
[N
] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
15 unsigned int intsum
= 0;
16 unsigned short shortsum
= 0;
18 /* widenning sum: sum shorts into int. */
19 for (i
= 0; i
< N
; i
++){
20 intsum
+= udata_sh
[i
];
27 /* widenning sum: sum chars into int. */
29 for (i
= 0; i
< N
; i
++){
30 intsum
+= udata_ch
[i
];
37 /* widenning sum: sum chars into short.
38 pattern detected, but not vectorized yet. */
39 for (i
= 0; i
< N
; i
++){
40 shortsum
+= udata_ch
[i
];
44 if (shortsum
!= CH_SUM
)
57 /* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected" 3 "vect" } } */
58 /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail *-*-* } } } */
59 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target vect_widen_sum } } } */
60 /* { dg-final { cleanup-tree-dump "vect" } } */