https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71297
Bug ID: 71297 Summary: ICE on invalid code in altivec_resolve_overloaded_builtin (rs6000-c.c:5106) on powerpc64le-linux Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Following code snippet ICEs with a cross-compiler ../configure --enable-languages=c,c++ --disable-bootstrap --target=ppc64le-suse-linux: $ cat /tmp/ice3.c int main() { __builtin_vec_st(); } $ ./xgcc -B. /tmp/ice3.c /tmp/ice3.c: In function ‘main’: /tmp/ice3.c:3:3: internal compiler error: Segmentation fault __builtin_vec_st(); ^~~~~~~~~~~~~~~~ 0xe4e584 crash_signal ../../gcc/toplev.c:333 0x787155 vec<tree_node*, va_gc, vl_embed>::operator[](unsigned int) ../../gcc/vec.h:727 0x8971b6 altivec_resolve_overloaded_builtin(unsigned int, tree_node*, void*) ../../gcc/config/rs6000/rs6000-c.c:5106 0x8484f4 resolve_overloaded_builtin(unsigned int, tree_node*, vec<tree_node*, va_gc, vl_embed>*) ../../gcc/c-family/c-common.c:11329 0x796e15 c_build_function_call_vec(unsigned int, vec<unsigned int, va_heap, vl_ptr>, tree_node*, vec<tree_node*, va_gc, vl_embed>*, vec<tree_node*, va_gc, vl_embed>*) ../../gcc/c/c-typeck.c:3113 0x7da27d c_parser_postfix_expression_after_primary ../../gcc/c/c-parser.c:8307 0x7d9a57 c_parser_postfix_expression ../../gcc/c/c-parser.c:8123 0x7d5bfe c_parser_unary_expression ../../gcc/c/c-parser.c:6939 0x7d5077 c_parser_cast_expression ../../gcc/c/c-parser.c:6768 0x7d3d7d c_parser_binary_expression ../../gcc/c/c-parser.c:6577 0x7d3643 c_parser_conditional_expression ../../gcc/c/c-parser.c:6348 0x7d3353 c_parser_expr_no_commas ../../gcc/c/c-parser.c:6265 0x7daa33 c_parser_expression ../../gcc/c/c-parser.c:8449 0x7dac88 c_parser_expression_conv ../../gcc/c/c-parser.c:8482 0x7d1037 c_parser_statement_after_labels ../../gcc/c/c-parser.c:5284 0x7d03f1 c_parser_compound_statement_nostart ../../gcc/c/c-parser.c:4858 0x7cfde2 c_parser_compound_statement ../../gcc/c/c-parser.c:4693 0x7caa3a c_parser_declaration_or_fndef ../../gcc/c/c-parser.c:2105 0x7c94ec c_parser_external_declaration ../../gcc/c/c-parser.c:1549 0x7c9043 c_parser_translation_unit ../../gcc/c/c-parser.c:1430 and very similar ICE: $ cat /tmp/ice4.c int main() { __builtin_vec_ld(); } $ ./xgcc -B. /tmp/ice4.c /tmp/ice4.c: In function ‘main’: /tmp/ice4.c:3:3: internal compiler error: Segmentation fault __builtin_vec_ld(); ^~~~~~~~~~~~~~~~ 0xe4e584 crash_signal ../../gcc/toplev.c:333 0x787155 vec<tree_node*, va_gc, vl_embed>::operator[](unsigned int) ../../gcc/vec.h:727 0x896c2c altivec_resolve_overloaded_builtin(unsigned int, tree_node*, void*) ../../gcc/config/rs6000/rs6000-c.c:5044 0x8484f4 resolve_overloaded_builtin(unsigned int, tree_node*, vec<tree_node*, va_gc, vl_embed>*) ../../gcc/c-family/c-common.c:11329 0x796e15 c_build_function_call_vec(unsigned int, vec<unsigned int, va_heap, vl_ptr>, tree_node*, vec<tree_node*, va_gc, vl_embed>*, vec<tree_node*, va_gc, vl_embed>*) ../../gcc/c/c-typeck.c:3113 0x7da27d c_parser_postfix_expression_after_primary ../../gcc/c/c-parser.c:8307 0x7d9a57 c_parser_postfix_expression ../../gcc/c/c-parser.c:8123 0x7d5bfe c_parser_unary_expression ../../gcc/c/c-parser.c:6939 0x7d5077 c_parser_cast_expression ../../gcc/c/c-parser.c:6768 0x7d3d7d c_parser_binary_expression ../../gcc/c/c-parser.c:6577 0x7d3643 c_parser_conditional_expression ../../gcc/c/c-parser.c:6348 0x7d3353 c_parser_expr_no_commas ../../gcc/c/c-parser.c:6265 0x7daa33 c_parser_expression ../../gcc/c/c-parser.c:8449 0x7dac88 c_parser_expression_conv ../../gcc/c/c-parser.c:8482 0x7d1037 c_parser_statement_after_labels ../../gcc/c/c-parser.c:5284 0x7d03f1 c_parser_compound_statement_nostart ../../gcc/c/c-parser.c:4858 0x7cfde2 c_parser_compound_statement ../../gcc/c/c-parser.c:4693 0x7caa3a c_parser_declaration_or_fndef ../../gcc/c/c-parser.c:2105 0x7c94ec c_parser_external_declaration ../../gcc/c/c-parser.c:1549 0x7c9043 c_parser_translation_unit ../../gcc/c/c-parser.c:1430 Thanks