http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59726
Bug ID: 59726 Summary: [4.9 Regression AArch64_be] r206148 (PR tree-optimization/59544) causes ICE at -O3 Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: christophe.lyon at st dot com Commit 206148 (PR tree-optimization/59544) causes regressions on AArch64 BE target (aarch64_be-none-elf) in testcases: gcc.c-torture/compile/20000629-1.c gcc.c-torture/compile/20080812-1.c gcc.c-torture/execute/loop-11.c gcc.c-torture/execute/loop-2c.c gcc.c-torture/execute/loop-2d.c gcc.c-torture/unsorted/sound.c when compiled with -O3 -fomit-frame-pointer -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -O3 -fomit-frame-pointer -funroll-loops -O3 -g For instance: /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/testsuite/gcc.c-torture/compile/20000629-1.c: In function 'bar': /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/testsuite/gcc.c-torture/compile/20000629-1.c:25:12: internal compiler error: in aarch64_expand_vec_perm, at config/aarch64/aarch64.c:7744 0xde31af aarch64_expand_vec_perm(rtx_def*, rtx_def*, rtx_def*, rtx_def*) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/config/aarch64/aarch64.c:7744 0xe2cb03 gen_vec_permv16qi(rtx_def*, rtx_def*, rtx_def*, rtx_def*) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/config/aarch64/aarch64-simd.md:3846 0x9ef830 insn_gen_fn::operator()(rtx_def*, rtx_def*, rtx_def*, rtx_def*) const /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/recog.h:286 0x9dbe02 maybe_gen_insn(insn_code, unsigned int, expand_operand*) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/optabs.c:8263 0x9dc1cc maybe_expand_insn(insn_code, unsigned int, expand_operand*) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/optabs.c:8293 0x9df85f expand_vec_perm_1 /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/optabs.c:6568 0x9ef2bb expand_vec_perm(machine_mode, rtx_def*, rtx_def*, rtx_def*, rtx_def*) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/optabs.c:6701 0x7c9d27 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/expr.c:9097 0x7be918 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/expr.c:10575 0x7be9ea expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/expr.c:7930 0x7b921d expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/expr.c:9381 0x7be9ea expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/expr.c:7930 0x7c33c9 store_expr(tree_node*, rtx_def*, int, bool) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/expr.c:5328 0x7b5cfb expand_assignment(tree_node*, tree_node*, bool) /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/expr.c:5114 0x6c44a6 expand_gimple_stmt_1 /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/cfgexpand.c:3210 0x6c48cc expand_gimple_stmt /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/cfgexpand.c:3306 0x6c5bac expand_gimple_basic_block /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/cfgexpand.c:5146 0x6c6b25 gimple_expand_cfg /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/cfgexpand.c:5712 0x6c7156 execute /aci-gcc-fsf/sources/gcc-fsf/trunk/gcc/cfgexpand.c:5932