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)11main (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