https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108688
Bug ID: 108688 Summary: error: ‘bit_field_ref’ of non-mode-precision operand Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- For this C code: union { signed f1 : 7; signed f2 : 2 } func_6_l_2225; g_139, g_417, func_6___trans_tmp_7; main() { for (; g_417; g_417 -= 1) { func_6_l_2225.f1 = g_139; func_6_l_2225.f2 ^= func_6___trans_tmp_7; } } Compiled by recent gcc, does this: $ ~/gcc/results/bin/gcc -c -O2 -w bug882.c bug882.c: In function ‘main’: bug882.c:6:1: error: ‘bit_field_ref’ of non-mode-precision operand 6 | main() { | ^~~~ _ifc__31 = BIT_FIELD_REF <_2, 2, 0>; during GIMPLE pass: ifcvt bug882.c:6:1: internal compiler error: verify_gimple failed $ ~/gcc/results/bin/gcc -v 2>&1 | fgrep exp gcc version 13.0.1 20230206 (experimental) (45e01229af33a3dc) $ The bug first seems to occur sometime between date 20221002 and 20221028.