testsuite: Fix vect/vect-sdiv-pow2-1.c
authorRichard Sandiford <richard.sandiford@arm.com>
Wed, 18 Nov 2020 18:40:30 +0000 (18:40 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Wed, 18 Nov 2020 18:40:30 +0000 (18:40 +0000)
We're now able to vectorise the set-up loop:

      int p = power2 (fns[i].po2);
      for (int j = 0; j < N; j++)
        a[j] = ((p << 4) * j) / (N - 1) - (p << 5);

This patch adds an asm to stop the loop being vectorised.

gcc/testsuite/
* gcc.dg/vect/vect-sdiv-pow2-1.c (main): Add an asm to the
set-up loop.

gcc/testsuite/gcc.dg/vect/vect-sdiv-pow2-1.c

index be70bc6c47e212ee510bd2a9c20b0ee8cb5903fe..484efb1e8c826a8dafb43ed18e25794951418a9c 100644 (file)
@@ -62,7 +62,10 @@ main (void)
     {
       int p = power2 (fns[i].po2);
       for (int j = 0; j < N; j++)
-        a[j] = ((p << 4) * j) / (N - 1) - (p << 5);
+       {
+         a[j] = ((p << 4) * j) / (N - 1) - (p << 5);
+         asm volatile ("" ::: "memory");
+       }
 
       fns[i].div (b, a, N);
       fns[i].mod (c, a, N);