1 /* { dg-require-effective-target vect_double } */
5 extern long int lrint (double);
6 extern void abort (void);
10 __attribute__((noinline
, noclone
)) void
13 a
[0] = lrint (b
[0]) + 1;
14 a
[1] = lrint (b
[1]) + 2;
15 a
[2] = lrint (b
[2]) + 3;
16 a
[3] = lrint (b
[3]) + 4;
17 a
[4] = lrint (b
[4]) + 5;
18 a
[5] = lrint (b
[5]) + 6;
19 a
[6] = lrint (b
[6]) + 7;
20 a
[7] = lrint (b
[7]) + 8;
23 __attribute__((noinline
, noclone
)) void
36 __attribute__((noinline
, noclone
)) int
41 for (i
= 0; i
< 8; i
++)
44 b
[i
] = ((i
& 1) ? -4 * i
: 4 * i
) + 0.25;
48 for (i
= 0; i
< 8; i
++)
49 if (a
[i
] != ((i
& 1) ? -4 * i
: 4 * i
) + 1 + i
)
55 for (i
= 0; i
< 8; i
++)
56 if (a
[i
] != ((i
& 1) ? -4 * i
: 4 * i
))
68 /* { dg-final { scan-tree-dump-times "optimized: basic block" 2 "slp2" { target vect_call_lrint } } } */