https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113583

Li Pan <pan2.li at intel dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pan2.li at intel dot com

--- Comment #20 from Li Pan <pan2.li at intel dot com> ---
Add a macro expanded version of example that cannot vectorized with option
"riscv64-unknown-elf-gcc -Ofast -ffast-math -march=rv64gcv -c -S test.c -o -".

   1   │ #define SX 100
   2   │ #define SY 100
   3   │ #define SZ 130
   4   │ #define NN 20
   5   │ #define OMEGA 0.123
   6   │ #define LAMBDA (1.0 / (0.5 + 3.0 / (16.0 * (1.0 / OMEGA - 0.5))))
   7   │ #define CST1 (1.0 / 3.0)
   8   │ #define FEQS (CST1 * (1.0 + 4.5 * 1.0 * 1.0))
   9   │
  10   │ void
  11   │ foo (double *src, double *dst)
  12   │ {
  13   │   double avg_diff;
  14   │
  15   │   for (unsigned i = 0; i < SX * SY * SZ * NN; i += NN)
  16   │     {
  17   │       avg_diff = 0.5 * (src[i + 1] + src[i + 2]) - FEQS;
  18   │
  19   │       dst[i] = src[i] - OMEGA * (src[i] - CST1 * 1.0);
  20   │       dst[i + 1] = src[i + 1] - OMEGA * avg_diff - LAMBDA * (0.1 -
0.2);
  21   │     }
  22   │ }

Reply via email to