https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104226
Bug ID: 104226 Summary: ICE in fold_vec_perm, at fold-const.cc:10483 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: x86_64-unknown-linux-gnu g++ 12.0.0 20220123 snapshot (g:2da90ad39bf8fa9ee287e040d1f4411cb7a2e7ed) ICEs when compiling gcc/testsuite/gcc.target/i386/pr101046.c: % x86_64-unknown-linux-gnu-g++-12.0.1 -c gcc/testsuite/gcc.target/i386/pr101046.c gcc/testsuite/gcc.target/i386/pr101046.c: In function 'U foo()': gcc/testsuite/gcc.target/i386/pr101046.c:14:74: internal compiler error: in fold_vec_perm, at fold-const.cc:10483 14 | 5, 5, 0, 2), U); | ^ 0x798fe8 fold_vec_perm(tree_node*, tree_node*, tree_node*, vec_perm_indices const&) /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/fold-const.cc:10483 0x18cd579 generic_simplify_VEC_PERM_EXPR /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/build/gcc/generic-match.cc:90825 0xe33f7b fold_ternary_loc(unsigned int, tree_code, tree_node*, tree_node*, tree_node*, tree_node*) /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/fold-const.cc:12777 0x995083 cxx_eval_trinary_expression /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/constexpr.cc:5472 0x985798 cxx_eval_constant_expression /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/constexpr.cc:7119 0x98df9e cxx_eval_internal_function /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/constexpr.cc:1839 0x98238e cxx_eval_call_expression /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/constexpr.cc:2395 0x985647 cxx_eval_constant_expression /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/constexpr.cc:6627 0x988743 cxx_eval_outermost_constant_expr /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/constexpr.cc:7700 0x98d54e maybe_constant_value(tree_node*, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/constexpr.cc:7994 0xa2548b fold_for_warn(tree_node*) /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/expr.cc:416 0xbc6e08 maybe_warn_about_returning_address_of_local /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/typeck.cc:10067 0xbc6e08 check_return_expr(tree_node*, bool*) /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/typeck.cc:10730 0xb6fbde finish_return_stmt(tree_node*) /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/semantics.cc:1195 0xace69c cp_parser_jump_statement /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/parser.cc:14313 0xace69c cp_parser_statement /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/parser.cc:12318 0xacf34d cp_parser_statement_seq_opt /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/parser.cc:12856 0xacf427 cp_parser_compound_statement /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/parser.cc:12808 0xaeffd5 cp_parser_function_body /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/parser.cc:25052 0xaeffd5 cp_parser_ctor_initializer_opt_and_function_body /var/tmp/portage/sys-devel/gcc-12.0.1_p20220123/work/gcc-12-20220123/gcc/cp/parser.cc:25103