| /* { dg-do run { target aarch64_sve_hw } } */ |
| /* { dg-options "-O2 -ftree-vectorize" } */ |
| |
| #include "unpack_fcvt_unsigned_1.c" |
| |
| #define ARRAY_SIZE 153 |
| |
| #define VAL1 ((unsigned int) ((i * 345435) - (21 * 345435))) |
| |
| int __attribute__ ((optimize (1))) |
| main (void) |
| { |
| double array_dest[ARRAY_SIZE]; |
| uint32_t array_source[ARRAY_SIZE]; |
| |
| for (int i = 0; i < ARRAY_SIZE; i++) |
| { |
| array_source[i] = VAL1; |
| asm volatile ("" ::: "memory"); |
| } |
| |
| unpack_double_int_plus9 (array_dest, array_source, ARRAY_SIZE); |
| for (int i = 0; i < ARRAY_SIZE; i++) |
| if (array_dest[i] != (double) (VAL1 + 9)) |
| __builtin_abort (); |
| |
| return 0; |
| } |