1 /* { dg-do compile } */
2 /* { dg-require-effective-target arm_v8_neon_ok } */
3 /* { dg-options "-O2 -ffast-math -ftree-vectorize" } */
4 /* { dg-add-options arm_v8_neon } */
5 
6 #define N 32
7 
8 float __attribute__((aligned(16))) input[N];
9 float __attribute__((aligned(16))) output[N];
10 
11 void
foo()12 foo ()
13 {
14   int i = 0;
15   /* Vectorizable.  */
16   for (i = 0; i < N; i++)
17     output[i] = __builtin_ceilf (input[i]);
18 }
19 
20 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_call_ceilf } } } */
21