https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118023
--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:7f4e85a954d24cc30bf85f4040fcd204bd5e23fd commit r15-6254-g7f4e85a954d24cc30bf85f4040fcd204bd5e23fd Author: Jakub Jelinek <ja...@redhat.com> Date: Sat Dec 14 11:28:25 2024 +0100 gimple-fold: Fix the recent ifcombine optimization for _BitInt [PR118023] The BIT_FIELD_REF verifier has: if (INTEGRAL_TYPE_P (TREE_TYPE (op)) && !type_has_mode_precision_p (TREE_TYPE (op))) { error ("%qs of non-mode-precision operand", code_name); return true; } check among other things, so one can't extract something out of say _BitInt(63) or _BitInt(4096). The new ifcombine optimization happily creates such BIT_FIELD_REFs and ICEs during their verification. The following patch fixes that by rejecting those in decode_field_reference. 2024-12-14 Jakub Jelinek <ja...@redhat.com> PR tree-optimization/118023 * gimple-fold.cc (decode_field_reference): Return NULL_TREE if inner has non-type_has_mode_precision_p integral type. * gcc.dg/bitint-119.c: New test.