testsuite/92177 fix for SLP build changes
authorRichard Biener <rguenther@suse.de>
Wed, 5 Feb 2020 13:10:50 +0000 (14:10 +0100)
committerRichard Biener <rguenther@suse.de>
Wed, 5 Feb 2020 13:12:24 +0000 (14:12 +0100)
We're now consistently building SLP operations with only
scalar defs from scalars which makes the testcase no longer
testing multiplication vectorization.  The following smuggles
in a constant making the vector variant profitable for SLP build.

2020-02-05  Richard Biener  <rguenther@suse.de>

PR testsuite/92177
* gcc.dg/vect/bb-slp-22.c: Adjust.

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/bb-slp-22.c

index 873a7c415ae70af8e16204e4685fcaa374d55d81..8ee124ba7821c08dabb1a9106f23590bd0b24c5b 100644 (file)
@@ -1,8 +1,12 @@
+2020-02-05  Richard Biener  <rguenther@suse.de>
+
+       PR testsuite/92177
+       * gcc.dg/vect/bb-slp-22.c: Adjust.
+
 2020-02-05  Richard Biener  <rguenther@suse.de>
 
        PR middle-end/90648
-       * genmatch.c (dt_node::gen_kids_1): Emit number of argument
-       checks before matching calls.
+       * gcc.dg/pr90648.c: New testcase.
 
 2020-02-05  Jakub Jelinek  <jakub@redhat.com>
 
index 992f5898409dd2a35a74f375ca8f04b8b3890713..6dc2375f5d1e38c98d9740bd40c8be582a570deb 100644 (file)
@@ -29,10 +29,10 @@ main1 (unsigned int x, unsigned int y)
     }
   else
     {
-      out[0] = a0 * x;
-      out[1] = a1 * y;
-      out[2] = a2 * x;
-      out[3] = a3 * y;
+      out[0] = a0 * (x + 1);
+      out[1] = a1 * (y + 1);
+      out[2] = a2 * (x + 1);
+      out[3] = a3 * (y + 1);
     }
 
   if (x)
@@ -40,10 +40,10 @@ main1 (unsigned int x, unsigned int y)
 
   /* Check results.  */
   if ((x <= y 
-       && (out[0] != (in[0] + 23) * x
-           || out[1] != (in[1] + 142) * y
-           || out[2] != (in[2] + 2) * x
-           || out[3] != (in[3] + 31) * y))
+       && (out[0] != (in[0] + 23) * (x + 1)
+           || out[1] != (in[1] + 142) * (y + 1)
+           || out[2] != (in[2] + 2) * (x + 1)
+           || out[3] != (in[3] + 31) * (y + 1)))
        || (x > y
            && (b[0] != (in[0] + 23)
                || b[1] != (in[1] + 142)