1 /* { dg-require-effective-target vect_double } */
2
3 #include <stdarg.h>
4 #include "tree-vect.h"
5
6 #define N 32
7
8 int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
9 double da[N];
10
11 __attribute__ ((noinline)) int main1 ()
12 {
13 int i;
14
15 /* int -> double */
16 for (i = 0; i < N; i++)
17 {
18 da[i] = (double) ib[i];
19 }
20
21 /* check results: */
22 for (i = 0; i < N; i++)
23 {
24 if (da[i] != (double) ib[i])
25 abort ();
26 }
27
28 return 0;
29 }
30
31 int main (void)
32 {
33 check_vect ();
34
35 return main1 ();
36 }
37
38 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_intdouble_cvt } } } */