https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120145
--- Comment #13 from Kirill A. Korinsky <kirill at korins dot ky> --- Meanwhile, I had found that leads to a crash on the first place (and brokes stack). It is this commit https://gcc.gnu.org/cgit/gcc/commit/?id=9b884225bfc609606f9b169b021c4da93feba48e And when I apply patch: diff --git gcc/tree-vect-loop.c gcc/tree-vect-loop.c index 671ef2f7658..01aea3d69e3 100644 --- gcc/tree-vect-loop.c +++ gcc/tree-vect-loop.c @@ -1101,7 +1101,9 @@ vect_verify_full_masking (loop_vec_info loop_vinfo) ??? We might want to try continuing beyond Pmode for ILP32 targets if CMP_BITS < IV_PRECISION. */ iv_type = this_type; +#if !defined(SPARC64) && !defined(__OpenBSD__) if (!cmp_type || iv_precision > TYPE_PRECISION (cmp_type)) +#endif cmp_type = this_type; if (cmp_bits >= GET_MODE_BITSIZE (Pmode)) break; it bootstraped. OpenBSD has following chunk at local patches: --- gcc/config/sparc/openbsd64.h.orig +++ gcc/config/sparc/openbsd64.h @@ -54,6 +58,15 @@ along with GCC; see the file COPYING3. If not see #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE 32 +#undef WINT_TYPE +#define WINT_TYPE "int" + +#undef INTMAX_TYPE +#define INTMAX_TYPE "long long int" + +#undef UINTMAX_TYPE +#define UINTMAX_TYPE "long long unsigned int" + #undef SPARC_LONG_DOUBLE_TYPE_SIZE #define SPARC_LONG_DOUBLE_TYPE_SIZE 128 maybe it rings any bell.