On Tue, Aug 05, 2025 at 11:49:42AM GMT, Jakub Jelinek wrote:
> On Sat, Aug 02, 2025 at 05:14:20PM +0800, Yang Yujie wrote:
> > In LoongArch psABI, large _BitInt(N) (N > 64) objects are only
> > extended to fill the highest 8-byte chunk that contains any used bit,
> > but the size of such a large _BitInt type is a multiple of their
> > 16-byte alignment.  So there may be an entire unused 8-byte
> > chunk that is not filled by extension, and this chunk shouldn't be
> > checked when testing if the object is properly extended.
> > 
> > The original bitintext.h assumed that all bits within
> > sizeof(_BitInt(N)) beyond used bits are filled by extension.
> > This patch changes that for LoongArch and possibly
> > any future ports with a similar behavior.
> > 
> > P.S. For encoding this test as well as type-generic programming,
> > it would be nice to have a builtin function to obtain "N" at
> > compile time from _BitInt(N)-typed expressions.  But here
> > we stick to existing ones (__builtin_clrsbg / __builtin_clzg).
> > 
> > gcc/testsuite/ChangeLog:
> > 
> >     * gcc.dg/bitintext.h: Generalize BEXTC to only check extension
> >     within PROMOTED_SIZE bits.
> 
> Please commit this separately from the series.
> 
>       Jakub

Ok, so patch 1, 2 and 3 will be submitted separately.  Do you have this
requirement for other patches?

Yujie

Reply via email to