On Sat, Aug 02, 2025 at 05:14:19PM +0800, Yang Yujie wrote:
> For targets that set the "extended" flag in TARGET_C_BITINT_TYPE_INFO,
> we assume small _BitInts to be internally extended after arithmetic
> operations. In this case, an extra extension during RTL expansion
> can be avoided.
>
> gcc/ChangeLog:
>
> * expr.cc (expand_expr_real_1): Do not call
> reduce_to_bit_field_precision if the target assumes the _BitInt
> results to be already extended.
> (EXTEND_BITINT): Same.
> * expr.h (bitint_extended): Declare the cache variable.
> * function.cc (prepare_function_start): Initialize it.
Please commit this separately from the series.
Jakub