(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
recip_2_run.c
       1  /* { dg-do run { target aarch64_sve_hw } } */
       2  /* { dg-options "-Ofast -mlow-precision-div" } */
       3  
       4  #include "recip_2.c"
       5  
       6  #define N 77
       7  
       8  #define TEST_LOOP(TYPE)					\
       9    {							\
      10      TYPE a[N], b[N];					\
      11      for (int i = 0; i < N; ++i)				\
      12        {							\
      13  	a[i] = i + 11;					\
      14  	b[i] = i + 1;					\
      15        }							\
      16      test_##TYPE (a, b, N);				\
      17      for (int i = 0; i < N; ++i)				\
      18        {							\
      19  	double diff = a[i] - (i + 11.0) / (i + 1);	\
      20  	if (__builtin_fabs (diff) > 0x1.0p-8)		\
      21  	  __builtin_abort ();				\
      22        }							\
      23    }
      24  
      25  int
      26  main (void)
      27  {
      28    TEST_ALL (TEST_LOOP);
      29    return 0;
      30  }