https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113322
Bug ID: 113322 Summary: [14 Regression] internal compiler error: tree check: expected none of vector_type, have vector_type in expand_single_bit_test, at expr.cc:13375 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: zhangjungcc at gmail dot com Target Milestone: --- https://godbolt.org/z/b98WcM9h5 c code: float a[16]; void foo () { int i; for (i = 0; i < 16/2; i++) { if (a[2*i+((0 +1)%2)] != (3 * (2*i+((0 +1)%2)) + 2)) __builtin_abort (); } } during RTL pass: expand <source>: In function 'void foo()': <source>:9:9: internal compiler error: tree check: expected none of vector_type, have vector_type in expand_single_bit_test, at expr.cc:13375 9 | if (a[2*i+((0 +1)%2)] != (3 * (2*i+((0 +1)%2)) + 2)) | ~^~ 0x263e8ac internal_error(char const*, ...) ???:0 0x9640f2 tree_not_check_failed(tree_node const*, char const*, int, char const*, ...) ???:0 0xf59501 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) ???:0 0xf6137f expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ???:0 0xf5982a expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) ???:0 0xf6137f expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ???:0 0xf592f5 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) ???:0 0xf6137f expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ???:0 0xf63cf4 expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**, rtx_def**, expand_modifier) ???:0 0xf5a01d expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) ???:0 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. Compiler returned: 1