https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95582
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #17 from Richard Biener <rguenth at gcc dot gnu.org> --- Same for #define VECT_SCALAR_BOOLEAN_TYPE_P(TYPE) \ - (INTEGRAL_TYPE_P (TYPE) \ - && TYPE_PRECISION (TYPE) == 1) + ((TREE_CODE (TYPE) == BOOLEAN_TYPE \ + && TYPE_PRECISION (TYPE) == 1) \ + || ((TREE_CODE (TYPE) == INTEGER_TYPE \ + || TREE_CODE (TYPE) == ENUMERAL_TYPE) \ + && TYPE_PRECISION (TYPE) == 1 \ + && TYPE_UNSIGNED (TYPE))) so we do need to understand the Ada failure instead for which again I'm hoping for a (LTO) testcase. I'm not too familiar with the vector boolean pattern stuff so I'm not the appropriate person to dig into this. At least it seems this VECT_SCALAR_BOOLEAN_TYPE_P predicate is very much fragile.