https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79498
--- Comment #1 from Gerhard Steinmetz <gerhard.steinmetz.fort...@t-online.de> --- No ICE seen with gcc version 6.3.1 20170131. On my environment, gcc-5.4.1 gives : $ gcc-5-20170110 -mcmodel=large -O2 -c pr78526.c pr78526.c: In function 'bar': pr78526.c:11:1: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi] { ^ pr78526.c: In function 'foo': pr78526.c:18:1: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6 foo (U u) ^ pr78526.c: In function 'bar': pr78526.c:13:16: internal compiler error: in tree_to_shwi, at tree.c:7151 v[x[0]] <<= u[-63]; ^ 0xd99522 tree_to_shwi(tree_node const*) ../../gcc/tree.c:7151 0x8629c4 fold_indirect_ref_1(unsigned int, tree_node*, tree_node*) ../../gcc/fold-const.c:15945 0x88da53 fold_indirect_ref_loc(unsigned int, tree_node*) ../../gcc/fold-const.c:16024 0x92d4a8 gimplify_expr(tree_node**, gimple_statement_base**, gimple_statement_base**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:8241 0x92d1a8 gimplify_expr(tree_node**, gimple_statement_base**, gimple_statement_base**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:8833 0x93a4a8 gimplify_modify_expr ../../gcc/gimplify.c:4647 0x92d9a6 gimplify_expr(tree_node**, gimple_statement_base**, gimple_statement_base**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:8129 0x931a76 gimplify_stmt(tree_node**, gimple_statement_base**) ../../gcc/gimplify.c:5548 0x92ee8b gimplify_statement_list ../../gcc/gimplify.c:1487 0x92ee8b gimplify_expr(tree_node**, gimple_statement_base**, gimple_statement_base**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:8544 0x931a76 gimplify_stmt(tree_node**, gimple_statement_base**) ../../gcc/gimplify.c:5548 0x93297d gimplify_bind_expr ../../gcc/gimplify.c:1136 0x92dd73 gimplify_expr(tree_node**, gimple_statement_base**, gimple_statement_base**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:8326 0x931a76 gimplify_stmt(tree_node**, gimple_statement_base**) ../../gcc/gimplify.c:5548 0x9334f0 gimplify_body(tree_node*, bool) ../../gcc/gimplify.c:9263 0x933af6 gimplify_function_tree(tree_node*) ../../gcc/gimplify.c:9417 0x7781b7 cgraph_node::analyze() ../../gcc/cgraphunit.c:634 0x77b3c3 analyze_functions ../../gcc/cgraphunit.c:1024 0x77bba5 symbol_table::finalize_compilation_unit() ../../gcc/cgraphunit.c:2453 0x62257a c_write_global_declarations() ../../gcc/c/c-decl.c:10857