https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70050
Bug ID: 70050 Summary: [6 Regression] ICE: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have vector_type in generic_simplify_162, at generic-match.c:6175 Product: gcc Version: 6.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz Target Milestone: --- Created attachment 37846 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37846&action=edit reduced testcase Compiler output: $ gcc testcase.c testcase.c: In function 'foo': testcase.c:5:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi] { ^ testcase.c:6:3: internal compiler error: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have vector_type in generic_simplify_162, at generic-match.c:6175 return v %= -v; ^~~~~~ 0xe4a36c tree_check_failed(tree_node const*, char const*, int, char const*, ...) /repo/gcc-trunk/gcc/tree.c:9637 0x10047a7 tree_check5 /repo/gcc-trunk/gcc/tree.h:3097 0x10047a7 generic_simplify_162 /repo/build-trunk-233861-checking-yes-rtl-df-nographite-i686/gcc/generic-match.c:6175 0x1006045 generic_simplify_TRUNC_MOD_EXPR /repo/build-trunk-233861-checking-yes-rtl-df-nographite-i686/gcc/generic-match.c:19020 0x1006045 generic_simplify(unsigned int, tree_code, tree_node*, tree_node*, tree_node*) /repo/build-trunk-233861-checking-yes-rtl-df-nographite-i686/gcc/generic-match.c:25932 0x86b89e fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*, tree_node*) /repo/gcc-trunk/gcc/fold-const.c:9257 0x88c03b fold(tree_node*) /repo/gcc-trunk/gcc/fold-const.c:12113 0x647360 c_fully_fold_internal /repo/gcc-trunk/gcc/c/c-fold.c:307 0x647e5b c_fully_fold(tree_node*, bool, bool*) /repo/gcc-trunk/gcc/c/c-fold.c:90 0x607e4a build_modify_expr(unsigned int, tree_node*, tree_node*, tree_code, unsigned int, tree_node*, tree_node*) /repo/gcc-trunk/gcc/c/c-typeck.c:5681 0x6183c6 c_parser_expr_no_commas /repo/gcc-trunk/gcc/c/c-parser.c:6263 0x6189e2 c_parser_expression /repo/gcc-trunk/gcc/c/c-parser.c:8401 0x619449 c_parser_expression_conv /repo/gcc-trunk/gcc/c/c-parser.c:8434 0x62f868 c_parser_statement_after_labels /repo/gcc-trunk/gcc/c/c-parser.c:5201 0x6314e9 c_parser_compound_statement_nostart /repo/gcc-trunk/gcc/c/c-parser.c:4856 0x631d7e c_parser_compound_statement /repo/gcc-trunk/gcc/c/c-parser.c:4692 0x632fa7 c_parser_declaration_or_fndef /repo/gcc-trunk/gcc/c/c-parser.c:2104 0x63c085 c_parser_external_declaration /repo/gcc-trunk/gcc/c/c-parser.c:1548 0x63c919 c_parser_translation_unit /repo/gcc-trunk/gcc/c/c-parser.c:1429 0x63c919 c_parse_file() /repo/gcc-trunk/gcc/c/c-parser.c:17840 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. All tested targets seem to be affected (arm, x86, powerpc, sparc; 32bit, 64bit). Tested revisions: trunk r233897 - FAIL trunk r233861 - FAIL 5-branch r233800 - OK