https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80270
Bug ID: 80270 Summary: ICE in extract_bit_field_1 at gcc/expmed.c:1798 Product: gcc Version: 4.8.5 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: aivchenk at gmail dot com Target Milestone: --- > cat struct_hard_reg.c #include <stdio.h> typedef int v8 __attribute__((vector_size(8))); struct S1 { v8 s1f; }; struct S2 { struct S1 s2f1; v8 s2f2; }; void fn1() { int __trans_tmp_2, i = 3; register struct S2 b asm("xmm0"); __trans_tmp_2 = b.s2f1.s1f[i]; printf("%d", __trans_tmp_2); } > gcc ./struct_hard_reg.c -O1 ./new_bug.c: In function ‘fn1’: ./new_bug.c:17:3: internal compiler error: Segmentation fault printf("%d", __trans_tmp_2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 0xe92cda crash_signal ../../gcc/gcc/toplev.c:337 0xa3284a extract_bit_field_1 ../../gcc/gcc/expmed.c:1798 0xa32e01 extract_bit_field(rtx_def*, unsigned long, unsigned long, int, rtx_def*, machine_mode, machine_mode, bool) ../../gcc/gcc/expmed.c:1932 0xa63501 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ../../gcc/gcc/expr.c:10702 0xa5821f expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ../../gcc/gcc/expr.c:8072 0xa5f27e expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ../../gcc/gcc/expr.c:9775 0xa5821f expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ../../gcc/gcc/expr.c:8072 0x8d448f expand_normal ../../gcc/gcc/expr.h:282 0x8d647d precompute_register_parameters ../../gcc/gcc/calls.c:956