[Bug target/79909] ICE error: invalid rtl sharing found in the insn on ppc64le
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 9 08:36:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79909
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Very similar test-case:
$ cat ppc-ice.c
a (_Decimal128, _Decimal128, _Decimal128, _Decimal128, _Decimal128,
_Decimal128,
_Decimal128, _Decimal128, _Decimal128);
b () { a (0, 0, 0, 0, 0, 0, 0, 0, 0); }
$ ppc64le-linux-gnu-gcc -mxl-compat -O2 ppc-ice.c
ppc-ice.c:1:1: warning: data definition has no type or storage class
a (_Decimal128, _Decimal128, _Decimal128, _Decimal128, _Decimal128,
_Decimal128,
^
ppc-ice.c:1:1: warning: type defaults to ‘int’ in declaration of ‘a’
[-Wimplicit-int]
ppc-ice.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
b () { a (0, 0, 0, 0, 0, 0, 0, 0, 0); }
^
ppc-ice.c: In function ‘b’:
ppc-ice.c:3:1: error: invalid rtl sharing found in the insn
(call_insn 44 43 47 2 (parallel [
(set (reg:DI 3 3)
(call (mem:SI (symbol_ref:DI ("a") [flags 0x41] <function_decl
0x7fe9e9a7b300 a>) [0 a S4 A8])
(const_int 144 [0x90])))
(clobber (reg:DI 65 lr))
]) "ppc-ice.c":3 668 {*call_value_nonlocal_aixdi}
(expr_list:REG_CALL_DECL (symbol_ref:DI ("a") [flags 0x41] <function_decl
0x7fe9e9a7b300 a>)
(expr_list:REG_UNUSED (reg:DI 3 3)
(expr_list:REG_DEAD (reg:TD 34 2)
(expr_list:REG_DEAD (reg:TD 36 4)
(expr_list:REG_DEAD (reg:TD 38 6)
(expr_list:REG_DEAD (reg:TD 40 8)
(expr_list:REG_DEAD (reg:TD 42 10)
(expr_list:REG_DEAD (reg:TD 44 12)
(nil)))))))))
(expr_list (use (reg:DI 2 2))
(expr_list:TD (use (reg:TD 34 2))
(expr_list:TD (use (reg:TD 36 4))
(expr_list:TD (use (reg:TD 38 6))
(expr_list:TD (use (reg:TD 40 8))
(expr_list (use (reg:TD 42 10))
(expr_list (use (reg:TD 44 12))
(expr_list:TD (use (mem:TD (plus:DI (plus:DI
(reg/f:DI 1 1)
(const_int 32 [0x20]))
(const_int 64 [0x40])) [0 S16
A64]))
(expr_list:TD (use (mem:TD (plus:DI
(plus:DI (reg/f:DI 1 1)
(const_int 32 [0x20]))
(const_int 80 [0x50])) [0
S16 A64]))
(expr_list:TD (use (mem:TD (plus:DI
(plus:DI (reg/f:DI 1 1)
(const_int 32
[0x20]))
(const_int 96 [0x60]))
[0 S16 A64]))
(expr_list:TD (use (mem:TD (plus:DI
(plus:DI (reg/f:DI 1 1)
(const_int 32
[0x20]))
(const_int 112
[0x70])) [0 S16 A64]))
(expr_list:TD (use (mem:TD
(plus:DI (plus:DI (reg/f:DI 1 1)
(const_int
32 [0x20]))
(const_int 128
[0x80])) [0 S16 A64]))
(nil))))))))))))))
ppc-ice.c:3:1: error: shared rtx
(plus:DI (reg/f:DI 1 1)
(const_int 32 [0x20]))
ppc-ice.c:3:1: internal compiler error: internal consistency failure
0x80bc2b verify_rtx_sharing
.././../gcc/emit-rtl.c:2774
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x80bb41 verify_rtx_sharing
.././../gcc/emit-rtl.c:2789
0x810697 verify_rtl_sharing()
.././../gcc/emit-rtl.c:2883
0xa9a612 execute_function_todo
.././../gcc/passes.c:1983
0xa9aff5 execute_todo
.././../gcc/passes.c:2016
More information about the Gcc-bugs
mailing list