On Wed, Jan 17, 2024 at 03:46:44PM +0100, Martin Jambor wrote: > > Note, it would be good if we were able to punt on the optimization > > (but this code doesn't seem to be able to punt, so it needs to be done > > somewhere earlier) at least in cases where building it would be invalid. > > E.g. right now BITINT_TYPE can support precisions up to 65535 (inclusive), > > but 65536 will not work anymore (we can't have > 16-bit TYPE_PRECISION). > > I've tried to replace 513 with 65532 in the testcase and it didn't ICE, > > so maybe it ran into some other SRA limit. > > Thank you very much for the patch. Regarding punting, did you mean for > all BITINT_TYPEs or just for big ones, like you did when you fixed PR > 11333 (thanks for that too) or something entirely else?
I meant what I did in PR113330, but still wonder if we really need to use a root->size which is multiple of BITS_PER_UNIT (or words or whatever it actually is), at least on little endian if the _BitInt starts at the start of a memory. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113408#c1 for more details, wonder if it just couldn't use _BitInt(713) in there directly rather than _BitInt(768). Jakub