https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117599
--- Comment #4 from Xi Ruoyao <xry111 at gcc dot gnu.org> --- We have things like # VUSE <.MEM_74> _48 = VIEW_CONVERT_EXPR<unsigned long[10]>(b575[i_6])[8]; ./gcc/testsuite/gcc.dg/torture/bitint-12.c:39:1: error: type mismatch in 'array_ref' <unnamed-signed:63> where b575[i_6] is _BitInt(575). On x86 we have unsigned long[9] instead of unsigned long[10], I guess the difference comes from we must align _BitInt to 16B boundary?