Fix overwide shifts in PR/88903 testcase
authorTamar Christina <tamar.christina@arm.com>
Tue, 22 Jan 2019 10:13:56 +0000 (10:13 +0000)
committerTamar Christina <tnfchris@gcc.gnu.org>
Tue, 22 Jan 2019 10:13:56 +0000 (10:13 +0000)
gcc/testsuite/ChangeLog:

PR/tree-optimization 88903
* gcc.dg/vect/pr88903-1.c: Add explicit &.

From-SVN: r268144

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/pr88903-1.c

index 5dce351975d4cee269ca3e3ca57d2882163a1ab2..bbf04da7a58aa5e09dc4886ddf818488b4dc4f40 100644 (file)
@@ -1,3 +1,8 @@
+2019-01-22  Tamar Christina  <tamar.christina@arm.com>
+
+       PR/tree-optimization 88903
+       * gcc.dg/vect/pr88903-1.c: Add explicit &.
+
 2019-01-22  Jakub Jelinek  <jakub@redhat.com>
 
        PR rtl-optimization/88904
index dead2b5e723eaff77fa1edb6ae32d12b005c680e..77dbfd47c91be8cce0edde8b09b7b90d40268306 100644 (file)
@@ -7,8 +7,8 @@ foo()
 {
   for (int i = 0; i < 512; ++i)
     {
-      x[2*i] = x[2*i] << (i+1);
-      x[2*i+1] = x[2*i+1] << (i+1);
+      x[2*i] = x[2*i] << ((i+1) & 31);
+      x[2*i+1] = x[2*i+1] << ((i+1) & 31);
     }
 }
 
@@ -20,7 +20,7 @@ main()
     x[i] = i;
   foo ();
   for (int i = 0; i < 1024; ++i)
-    if (x[i] != i << (i/2+1))
+    if (x[i] != i << ((i/2+1) & 31))
       __builtin_abort ();
   return 0;
 }