(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
pack_float_1_run.c
       1  /* { dg-do run { target aarch64_sve_hw } } */
       2  /* { dg-options "-O2 -ftree-vectorize" } */
       3  
       4  #include "pack_float_1.c"
       5  
       6  #define ARRAY_SIZE 107
       7  
       8  #define VAL1 ((i * 886.556) - (43 * 886.556))
       9  
      10  int __attribute__ ((optimize (1)))
      11  main (void)
      12  {
      13    float array_dest[ARRAY_SIZE];
      14    double 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    pack_float_plus_1point1 (array_dest, array_source, ARRAY_SIZE);
      23    for (int i = 0; i < ARRAY_SIZE; i++)
      24      if (array_dest[i] != (float) (VAL1 + 1.1))
      25        __builtin_abort ();
      26  
      27    return 0;
      28  }