[Bug target/86683] New: ICE in altivec_expand_vec_perm_const at gcc/config/rs6000/rs6000.c:35074
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jul 26 14:28:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86683
Bug ID: 86683
Summary: ICE in altivec_expand_vec_perm_const at
gcc/config/rs6000/rs6000.c:35074
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: segher at gcc dot gnu.org
Target Milestone: ---
Host: x86_64-pc-linux-gnu
Target: ppc64le-linux-gnu
Following causes trouble:
$ ppc64le-linux-gnu-gcc
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/vect/slp-38.c -Ofast
during RTL pass: expand
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/vect/slp-38.c: In function
‘Compute’:
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/vect/slp-38.c:16:13: internal
compiler error: Segmentation fault
Y[d].l= X[d].l + X[d].h;
~~~~~~^~~~~~~~~~~~~~~~~
0x9e353f crash_signal
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/toplev.c:325
0x7ffff69d810f ???
/usr/src/debug/glibc-2.27-6.1.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
When running in GDB I see:
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x0000000000cb2b70 in insn_gen_fn::operator() (this=<optimized out>,
a2=0x7ffff6952f00, a1=0x7ffff6952eb8, a0=0x7ffff6952f18) at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/recog.h:302
#2 altivec_expand_vec_perm_const (sel=..., op1=0x7ffff6952f00,
op0=0x7ffff6952eb8, target=0x7ffff6952e40) at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/config/rs6000/rs6000.c:35074
#3 rs6000_vectorize_vec_perm_const(machine_mode, rtx_def*, rtx_def*, rtx_def*,
vec_perm_indices const&) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/config/rs6000/rs6000.c:35172
#4 0x000000000090bbaf in expand_vec_perm_const (mode=mode@entry=E_V4SFmode,
v0=0x7ffff6952ba0, v1=0x7ffff6952ba0, sel=..., sel_mode=E_V4SImode,
target=0x7ffff6952e28, target@entry=0x0)
at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/optabs.c:5569
#5 0x0000000000755727 in expand_expr_real_2(separate_ops*, rtx_def*,
machine_mode, expand_modifier) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/expr.c:9474
#6 0x0000000000746649 in expand_expr_real_1(tree_node*, rtx_def*,
machine_mode, expand_modifier, rtx_def**, bool) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/expr.c:9834
#7 0x000000000074ee15 in expand_expr (modifier=EXPAND_NORMAL, mode=E_VOIDmode,
target=<optimized out>, exp=<optimized out>) at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/expr.h:279
#8 expand_operands (exp0=exp0@entry=0x7ffff67ad750,
exp1=exp1@entry=0x7ffff67adcf0, target=0x0, op0=op0@entry=0x7fffffffcfc8,
op1=op1@entry=0x7fffffffcfd0, modifier=modifier@entry=EXPAND_NORMAL)
at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/expr.c:7784
#9 0x0000000000753abe in expand_expr_real_2(separate_ops*, rtx_def*,
machine_mode, expand_modifier) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/expr.c:8644
#10 0x0000000000746649 in expand_expr_real_1(tree_node*, rtx_def*,
machine_mode, expand_modifier, rtx_def**, bool) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/expr.c:9834
#11 0x0000000000750ce4 in expand_expr (modifier=EXPAND_NORMAL, mode=E_VOIDmode,
target=0x0, exp=0x7ffff67add38) at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/expr.h:279
#12 expand_assignment(tree_node*, tree_node*, bool) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/expr.c:4993
#13 0x000000000065cbe1 in expand_gimple_stmt_1 (stmt=0x7ffff69575f0) at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/gimple.h:2677
#14 expand_gimple_stmt(gimple*) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/cfgexpand.c:3734
#15 0x000000000065e0a0 in expand_gimple_basic_block(basic_block_def*, bool) ()
at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/cfgexpand.c:5769
#16 0x0000000000662d17 in (anonymous
namespace)::pass_expand::execute(function*) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/cfgexpand.c:6372
#17 0x0000000000928982 in execute_one_pass(opt_pass*) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/passes.c:2446
#18 0x00000000009290f8 in execute_pass_list_1(opt_pass*) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/passes.c:2535
#19 0x0000000000929149 in execute_pass_list(function*, opt_pass*) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/passes.c:2546
#20 0x000000000069325d in cgraph_node::expand() () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/context.h:48
#21 0x00000000006940fc in expand_all_functions () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/cgraphunit.c:2254
#22 symbol_table::compile() [clone .part.69] () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/cgraphunit.c:2605
#23 0x000000000069606a in symbol_table::compile (this=0x7ffff67a6000) at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/cgraphunit.c:2698
#24 symbol_table::finalize_compilation_unit (this=0x7ffff67a6000) at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/cgraphunit.c:2698
#25 0x00000000009e37fa in compile_file () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/toplev.c:480
#26 0x0000000000568114 in do_compile () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/toplev.c:2161
#27 toplev::main(int, char**) () at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/toplev.c:2296
#28 0x000000000056a34b in main (argc=21, argv=0x7fffffffd958) at
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/main.c:39
Verbose options:
/dev/shm/buildbot/install/gcc/libexec/gcc/ppc64le-linux-gnu/9.0.0/cc1 -quiet
-v -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux
-Asystem=linux -Asystem=unix -Asystem=posix
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/vect/slp-38.c -quiet
-dumpbase slp-38.c -auxbase slp-38 -Ofast -version -o /tmp/ccupH7jf.s
More information about the Gcc-bugs
mailing list