Fix failure in gcc.target/sve/reduc_strict_3.c
authorRichard Sandiford <richard.sandiford@arm.com>
Fri, 25 Oct 2019 09:16:59 +0000 (09:16 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Fri, 25 Oct 2019 09:16:59 +0000 (09:16 +0000)
Unwanted unrolling meant that we had more single-precision FADDAs
than expected.

2019-10-25  Richard Sandiford  <richard.sandiford@arm.com>

gcc/testsuite/
* gcc.target/aarch64/sve/reduc_strict_3.c (double_reduc1): Prevent
the loop from being unrolled.

From-SVN: r277442

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/sve/reduc_strict_3.c

index dfb2186d8edf3a6ab50b8c9c884fef6b71a661dd..9397ff3a98b7b3fb501e9b883d678a42d32fee15 100644 (file)
@@ -1,3 +1,8 @@
+2019-10-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.target/aarch64/sve/reduc_strict_3.c (double_reduc1): Prevent
+       the loop from being unrolled.
+
 2019-10-25  Richard Sandiford  <richard.sandiford@arm.com>
 
        * gcc.target/aarch64/sve/loop_add_5.c: Remove XFAILs for tests
index a718e9d2ebfabae80b4d00d4733cfe0706778c2d..a815c93bcebd89ad6b141ea6ed9eef72a6146eb1 100644 (file)
@@ -82,6 +82,7 @@ double_reduc1 (float (*restrict i)[16])
 {
   float l = 0;
 
+#pragma GCC unroll 0
   for (int a = 0; a < 8; a++)
     for (int b = 0; b < 8; b++)
       l += i[b][a];