https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96342
--- Comment #6 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> --- Comment on attachment 49413 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49413 part1-patch Thanks for the summary and patches, and sorry for the delayed reply. Taking part1-patch first: this generally looks good to me. Some minor things: - It isn't necessary to use poly_int stuff in i386.c, since the new poly_uint64 will naturally decay to a uint64_t in i386 target files. It might still be necessary to update some of the printf formats though. - It's more correct to use "unsigned HOST_WIDE_INT" instead of "long unsigned int" and %wd instead of %ld. One reason is that we support cross builds from 32-bit hosts, where long is 32 bits. Long is also 32 bits for ILP32. - Some of the multiple_p calls can instead use exact_div, which is the preferred way of performing a division that is known to have no remainder. I think it's clear that we need to make this change, and since it's a natural "poly_intification", I don't think it needs to wait for other SVE work to be completed. So would you be able to submit the patch to the list independently of the other work? Stage 1 closes in three weeks' time so it would be good to get this in before then. Thanks again for doing this.