[Bug tree-optimization/70916] [6/7 Regression] gcc ICE at -O3 on valid code on x86_64-linux-gnu in "tree_operand_check"

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue May 3 06:45:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70916

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
For the ICE the fix is easy:
--- tree-vect-patterns.c.jj1    2016-03-23 10:51:23.000000000 +0100
+++ tree-vect-patterns.c        2016-05-03 08:39:17.779229143 +0200
@@ -3673,8 +3673,10 @@ vect_recog_mask_conversion_pattern (vec<
          if (!rhs1_type)
            return NULL;
        }
-      else
+      else if (COMPARISON_CLASS_P (rhs1))
        rhs1_type = TREE_TYPE (TREE_OPERAND (rhs1, 0));
+      else
+       return NULL;

       vectype2 = get_mask_type_for_scalar_type (rhs1_type);

now to figure out why tree-if-conv.c actually emitted something = 1 ? op2 :
op3;


More information about the Gcc-bugs mailing list