remove obsolete conversion handling from vectorizable_assignment
authorRichard Biener <rguenther@suse.de>
Thu, 10 Dec 2020 12:33:12 +0000 (13:33 +0100)
committerRichard Biener <rguenther@suse.de>
Thu, 10 Dec 2020 12:35:20 +0000 (13:35 +0100)
This removes an odd special-case of VECTOR_BOOLEAN_TYPE_P typed
conversions from vectorizable_assignment that was obsoleted by
making all integer mode VECTOR_BOOLEAN_TYPE_P types have 1-bit
precision bool components with 605c2a393d3a2db8

2020-12-10  Richard Biener  <rguenther@suse.de>

* tree-vect-stmts.c (vectorizable_assignment): Remove special
allowance of VECTOR_BOOLEAN_TYPE_P conversions.

gcc/tree-vect-stmts.c

index d3ab8aa..11737a3 100644 (file)
@@ -5143,12 +5143,7 @@ vectorizable_assignment (vec_info *vinfo,
       /* But a conversion that does not change the bit-pattern is ok.  */
       && !((TYPE_PRECISION (TREE_TYPE (scalar_dest))
            > TYPE_PRECISION (TREE_TYPE (op)))
-          && TYPE_UNSIGNED (TREE_TYPE (op)))
-      /* Conversion between boolean types of different sizes is
-        a simple assignment in case their vectypes are same
-        boolean vectors.  */
-      && (!VECTOR_BOOLEAN_TYPE_P (vectype)
-         || !VECTOR_BOOLEAN_TYPE_P (vectype_in)))
+          && TYPE_UNSIGNED (TREE_TYPE (op))))
     {
       if (dump_enabled_p ())
         dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,