[Bug target/101323] New: ICE: Segmentation fault signal terminated program cc1

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Mon Jul 5 10:52:29 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101323

            Bug ID: 101323
           Summary: ICE: Segmentation fault signal terminated program cc1
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu

gcc-12.0.0-alpha20210704 snapshot (g:d07092a61d5a6907b2d92563e810bf5bb8e61c01)
ICEs when compiling the following testcase, reduced from
test/CodeGen/builtins-ppc-pair-mma.c from the clang 12.0.0 test suite, w/
-mcpu=power7:

__vector_pair vp;

void
test75 (__vector_pair *vpp)
{
  vp = __builtin_vsx_lxvp (0, vpp);
}

% powerpc-e300c3-linux-gnu-gcc-12.0.0 -mcpu=power7 -c gkczfgfq.c
gkczfgfq.c: In function 'test75':
gkczfgfq.c:6:8: error: '__builtin_vsx_lxvp' requires the '-mmma' option
    6 |   vp = __builtin_vsx_lxvp (0, vpp);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
powerpc-e300c3-linux-gnu-gcc-12.0.0: internal compiler error: Segmentation
fault signal terminated program cc1

(gdb) where 20
#0  0x00000000009173bc in set_page_table_entry (p=0x7ffff62fc000,
entry=entry@entry=0x23ea120)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/ggc-page.c:646
#1  0x0000000000918244 in alloc_page (order=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/ggc-page.c:939
#2  ggc_internal_alloc (size=size@entry=24, f=f@entry=0x0, s=s@entry=0,
n=n@entry=1)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/ggc-page.c:1294
#3  0x0000000000dd90b5 in ggc_internal_alloc (s=24)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/ggc.h:130
#4  ggc_alloc_rtx_def_stat (s=24)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/ggc.h:303
#5  rtx_alloc_stat_v (code=code@entry=SUBREG, extra=extra@entry=0)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/rtl.c:222
#6  0x0000000000dd90d7 in rtx_alloc (code=code@entry=SUBREG)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/rtl.c:242
#7  0x0000000000a6fb8e in gen_rtx_fmt_ep_stat (arg1=..., arg0=0x7ffff62fbfc0,
mode=E_SImode, code=SUBREG) at ./genrtl.h:719
#8  gen_rtx_SUBREG (mode=E_SImode, reg=reg@entry=0x7ffff62fbfc0, offset=...)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/emit-rtl.c:1023
#9  0x0000000000e23514 in simplify_context::simplify_gen_subreg
(this=this@entry=0x7ffffbfff384, outermode=<optimized out>,
    op=op@entry=0x7ffff62fbfc0, innermode=innermode@entry=E_OOmode, byte=...)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/simplify-rtx.c:7354
#10 0x0000000000a72300 in simplify_gen_subreg (byte=..., innermode=E_OOmode,
op=0x7ffff62fbfc0, outermode=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/rtl.h:3401
#11 operand_subword (op=0x7ffff62fbfc0, offset=..., validate_address=1,
mode=E_OOmode)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/emit-rtl.c:1776
#12 0x0000000000ab2292 in emit_move_multi_word (mode=E_OOmode, x=<optimized
out>, y=0x7ffff77cefa8)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/poly-int.h:671
#13 0x0000000000aadc3f in emit_move_insn (x=x@entry=0x7ffff62fbfc0,
y=y@entry=0x7ffff77cefa8)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/expr.c:4035
#14 0x0000000000a86854 in copy_to_reg (x=x@entry=0x7ffff77cefa8)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/explow.c:624
#15 0x0000000000a724c8 in operand_subword_force (op=op@entry=0x7ffff77cefa8,
offset=offset@entry=..., mode=mode@entry=E_OOmode)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/emit-rtl.c:1799
#16 0x0000000000ab237e in emit_move_multi_word (mode=E_OOmode, x=<optimized
out>, y=0x7ffff77cefa8)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/expr.c:3825
#17 0x0000000000aadc3f in emit_move_insn (x=x@entry=0x7ffff62fbf78,
y=y@entry=0x7ffff77cefa8)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/expr.c:4035
#18 0x0000000000a86854 in copy_to_reg (x=x@entry=0x7ffff77cefa8)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/explow.c:624
#19 0x0000000000a724c8 in operand_subword_force (op=op@entry=0x7ffff77cefa8,
offset=offset@entry=..., mode=mode@entry=E_OOmode)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/emit-rtl.c:1799
(More stack frames follow...)

(gdb) where -20
#882892 0x0000000000ab5716 in store_expr (exp=0x7ffff75f4340,
target=0x7ffff77cedc8, call_param_p=<optimized out>,
    nontemporal=<optimized out>, reverse=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/expr.c:5994
#882893 0x0000000000ab7b41 in expand_assignment (to=0x7ffff75f2870,
from=0x7ffff75f4340, nontemporal=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/expr.c:5729
#882894 0x0000000000978c45 in expand_call_stmt (stmt=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/cfgexpand.c:2844
#882895 expand_gimple_stmt_1 (stmt=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/cfgexpand.c:3877
#882896 expand_gimple_stmt (stmt=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/cfgexpand.c:4041
#882897 0x000000000097eb47 in expand_gimple_basic_block (bb=<optimized out>,
disable_tail_calls=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/cfgexpand.c:6083
#882898 0x00000000009808f7 in (anonymous namespace)::pass_expand::execute
(this=<optimized out>, fun=0x7ffff73ed000)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/cfgexpand.c:6809
#882899 0x0000000000d634d8 in execute_one_pass (pass=0x22a9560)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/passes.c:2567
#882900 0x0000000000d63ea3 in execute_pass_list_1 (pass=0x22a9560)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/passes.c:2656
#882901 0x0000000000d63ee2 in execute_pass_list (fn=0x7ffff73ed000,
pass=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/passes.c:2667
#882902 0x00000000009bbbc5 in cgraph_node::expand (this=0x7ffff75f3440)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/context.h:48
#882903 cgraph_node::expand (this=0x7ffff75f3440)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/cgraphunit.c:1781
#882904 0x00000000009bcfcf in output_in_order ()
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/cgraphunit.c:2135
#882905 symbol_table::compile (this=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/cgraphunit.c:2353
#882906 symbol_table::compile (this=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/cgraphunit.c:2267
#882907 0x00000000009bff87 in symbol_table::finalize_compilation_unit
(this=0x7ffff75eb000)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/cgraphunit.c:2537
#882908 0x0000000000e4567a in compile_file ()
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/toplev.c:483
#882909 0x00000000007ef639 in do_compile ()
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/toplev.c:2226
#882910 toplev::main (this=this@entry=0x7fffffffdaa6, argc=<optimized out>,
argc@entry=12, argv=<optimized out>,
    argv@entry=0x7fffffffdbb8)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/toplev.c:2365
#882911 0x00000000007f1d31 in main (argc=12, argv=0x7fffffffdbb8)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_alpha20210704/work/gcc-12-20210704/gcc/main.c:39


More information about the Gcc-bugs mailing list