]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/50731 (FAIL: gcc.dg/torture/vector-shift2.c)
authorRichard Guenther <rguenther@suse.de>
Thu, 27 Oct 2011 12:10:57 +0000 (12:10 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 27 Oct 2011 12:10:57 +0000 (12:10 +0000)
2010-10-27  Richard Guenther  <rguenther@suse.de>

PR middle-end/50731
* tree-vect-generic.c (do_binop): Handle scalar operands.

From-SVN: r180564

gcc/ChangeLog
gcc/tree-vect-generic.c

index 8b8cea787959f5faed9e115ae52313f3e75b0885..fe6f88b37bc6db2b0d963669dda42b3241443b50 100644 (file)
@@ -1,3 +1,8 @@
+2010-10-27  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/50731
+       * tree-vect-generic.c (do_binop): Handle scalar operands.
+
 2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/37191
index ccbec6ebac67d795a44e8ba5314a0f63ba6f46c3..6555932a4ccf262e0275cec06c58f50cddc2ec97 100644 (file)
@@ -125,8 +125,10 @@ static tree
 do_binop (gimple_stmt_iterator *gsi, tree inner_type, tree a, tree b,
          tree bitpos, tree bitsize, enum tree_code code)
 {
-  a = tree_vec_extract (gsi, inner_type, a, bitsize, bitpos);
-  b = tree_vec_extract (gsi, inner_type, b, bitsize, bitpos);
+  if (TREE_CODE (TREE_TYPE (a)) == VECTOR_TYPE)
+    a = tree_vec_extract (gsi, inner_type, a, bitsize, bitpos);
+  if (TREE_CODE (TREE_TYPE (b)) == VECTOR_TYPE)
+    b = tree_vec_extract (gsi, inner_type, b, bitsize, bitpos);
   return gimplify_build2 (gsi, code, inner_type, a, b);
 }