https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72758
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note the testcase is wrong (but only slightly).
Also as a workaround you can use a GNU C extension.
Something like:
int main(int argc, char* argv[])
{
poly128_t a = {0};
uint64x2_t b = (uint64x2_t)(a);
return 0;
