https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79909
Bug ID: 79909 Summary: ICE error: invalid rtl sharing found in the insn on ppc64le Product: gcc Version: 7.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 Target Milestone: --- Target: ppc64le-linux-gnu We ICE on: $ ppc64le-linux-gnu-g++ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/compat/decimal/pass-5_x.C -mxl-compat -O In file included from /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/compat/decimal/pass-5_x.C:5:0: /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/compat/decimal/pass_x.h: In function ‘void test2_d128(dec128, dec128, dec128, dec128, dec128, dec128, dec128, dec128)’: /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/compat/decimal/pass_x.h:33:1: error: invalid rtl sharing found in the insn } \ ^ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/compat/decimal/pass_x.h:149:1: note: in expansion of macro ‘T’ T(d128, dec128, (dec128)3.5DL) ^ (call_insn 74 72 0 2 (parallel [ (call (mem:SI (symbol_ref:DI ("_Z8testd128DeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDe") [flags 0x41] <function_decl 0x7fef057f3b00 testd128>) [0 testd128 S4 A8]) (const_int 256 [0x100])) (clobber (reg:DI 65 lr)) ]) "/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/compat/decimal/pass_x.h":149 667 {*call_nonlocal_aixdi} (expr_list:REG_CALL_DECL (symbol_ref:DI ("_Z8testd128DeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDe") [flags 0x41] <function_decl 0x7fef057f3b00 testd128>) (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])) (expr_list:TD (use (mem:TD (plus:DI (plus:DI (reg/f:DI 1 1) (const_int 32 [0x20])) (const_int 144 [0x90])) [0 S16 A64])) (expr_list:TD (use (mem:TD (plus:DI (plus:DI (reg/f:DI 1 1) (const_int 32 [0x20])) (const_int 160 [0xa0])) [0 S16 A64])) (expr_list:TD (use (mem:TD (plus:DI (plus:DI (reg/f:DI 1 1) (const_int 32 [0x20])) (const_int 176 [0xb0])) [0 S16 A64])) (expr_list:TD (use (mem:TD (plus:DI (plus:DI (reg/f:DI 1 1) (const_int 32 [0x20])) (const_int 192 [0xc0])) [0 S16 A64])) (expr_list:TD (use (mem:TD (plus:DI (plus:DI (reg/f:DI 1 1) (const_int 32 [0x20])) (const_int 208 [0xd0])) [0 S16 A64])) (expr_list:TD (use (mem:TD (plus:DI (plus:DI (reg/f:DI 1 1) (const_int 32 [0x20])) (const_int 224 [0xe0])) [0 S16 A64])) (expr_list:TD (use (mem:TD (plus:DI (plus:DI (reg/f:DI 1 1) (const_int 32 [0x20])) (const_int 240 [0xf0])) [0 S16 A64])) (nil))))))))))))))))))))) /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/compat/decimal/pass_x.h:33:1: error: shared rtx } \ ^ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/compat/decimal/pass_x.h:149:1: note: in expansion of macro ‘T’ T(d128, dec128, (dec128)3.5DL) ^ (plus:DI (reg/f:DI 1 1) (const_int 32 [0x20])) /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/compat/decimal/pass_x.h:33:1: internal compiler error: internal consistency failure } \ ^ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/compat/decimal/pass_x.h:149:1: note: in expansion of macro ‘T’ T(d128, dec128, (dec128)3.5DL) ^ 0xa02b7b verify_rtx_sharing .././../gcc/emit-rtl.c:2774 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa02a91 verify_rtx_sharing .././../gcc/emit-rtl.c:2789 0xa075e7 verify_rtl_sharing() .././../gcc/emit-rtl.c:2883 0xc90222 execute_function_todo .././../gcc/passes.c:1983 0xc90c05 execute_todo .././../gcc/passes.c:2016