1 /* { dg-do run { target aarch64_sve_hw } } */
2 /* { dg-options "-O2 -ftree-vectorize" } */
3 
4 #include "unpack_fcvt_signed_1.c"
5 
6 #define ARRAY_SIZE 89
7 
8 #define VAL1 ((i * 88654) - (33 * 88654))
9 
10 int __attribute__ ((optimize (1)))
main(void)11 main (void)
12 {
13   double array_dest[ARRAY_SIZE];
14   int32_t array_source[ARRAY_SIZE];
15 
16   for (int i = 0; i < ARRAY_SIZE; i++)
17     {
18       array_source[i] = VAL1;
19       asm volatile ("" ::: "memory");
20     }
21 
22   unpack_double_int_plus8 (array_dest, array_source, ARRAY_SIZE);
23   for (int i = 0; i < ARRAY_SIZE; i++)
24     if (array_dest[i] != (double) (VAL1 + 8))
25       __builtin_abort ();
26 
27   return 0;
28 }
29