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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |15.0

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Cross-checking with AVX512 would also be useful.  I think it might fail
vector<bool:1> (4) which has QImode.  So

+  if (VECTOR_TYPE_P (type))
+    return VECTOR_MODE_P (TYPE_MODE (type));

needs a prior special case for VECTOR_BOOLEAN_TYPE_P (type) I think, maybe

  if (VECTOR_BOOLEAN_TYPE_P (type)
      && SCALAR_INT_MODE_P (TYPE_MODE (type)))
    return true;

OTOH for emulated vectors with integer modes that would get false positives.
So maybe in addition to that

      && TYPE_PRECISION (TREE_TYPE (type)) == 1

to only allow integer mode mask "vector modes" for single-bit bool vectors.

Thomas, does that resolve the issue?

Reply via email to