[Bug target/70098] PowerPC64: eigen hits ICE in reload
vmakarov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 8 16:54:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70098
--- Comment #5 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Anton Blanchard from comment #0)
> I hit the following ICE when building eigen:
>
> # g++ -O3 -c test2.cpp
> test2.cpp: In function ‘void fn3(Matrix<double, 2, 2>)’:
> test2.cpp:59:1: error: unable to generate reloads for:
> }
> ^
> (jump_insn 17 12 18 2 (parallel [
> (set (pc)
> (if_then_else (ne (reg:DI 3 3)
> (const_int 1 [0x1]))
> (label_ref 25)
> (pc)))
> (set (reg:DI 156 [ _4 ])
> (plus:DI (reg:DI 3 3)
> (const_int -1 [0xffffffffffffffff])))
> (clobber (reg:CC 172))
> (clobber (reg:DI 173))
> ]) test2.cpp:46 775 {*ctrdi_internal1}
> (expr_list:REG_UNUSED (reg:DI 173)
> (expr_list:REG_UNUSED (reg:CC 172)
> (expr_list:REG_DEAD (reg:DI 3 3)
> (int_list:REG_BR_PROB 2900 (nil)))))
> -> 25)
> test2.cpp:59:1: internal compiler error: in curr_insn_transform, at
> lra-constraints.c:3552
> 0x10a711b3 _fatal_insn(char const*, rtx_def const*, char const*, int, char
> const*)
> ../../gcc/gcc/rtl-error.c:108
> 0x1093d313 curr_insn_transform
> ../../gcc/gcc/lra-constraints.c:3552
> 0x1093e4df lra_constraints(bool)
> ../../gcc/gcc/lra-constraints.c:4494
> 0x10923513 lra(_IO_FILE*)
> ../../gcc/gcc/lra.c:2286
> 0x108c3ffb do_reload
> ../../gcc/gcc/ira.c:5396
> 0x108c3ffb execute
> ../../gcc/gcc/ira.c:5580
Sorry, I can not understand. As I know PPC64 uses the reload pass by default.
It will not use LRA as default for GCC6. Although the dump indicates LRA using
I don't see -mlra on your commnad line.
Should I use -mlra to reproduce the bug?
In any case, it will be a lower priority task for me because LRA is not a
default for ppc64. May be I can start to work on it in a week or two.
More information about the Gcc-bugs
mailing list