[Bug target/59780] New: ICE in aarch64_split_128bit_move
vries at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Jan 12 19:55:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59780
Bug ID: 59780
Summary: ICE in aarch64_split_128bit_move
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: vries at gcc dot gnu.org
when building r206565 with target aarch64-linux-gnu I run into several ICEs
like this:
...
/home/vries/gcc_versions/devel/src/libgcc/soft-fp/negtf2.c: In function
‘__negtf2’:
/home/vries/gcc_versions/devel/src/libgcc/soft-fp/negtf2.c:46:1: internal
compiler error: RTL check: expected code 'reg', have 'const_int' in rhs_regno,
at rtl.h:1125
}
^
0xbde5de rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
/home/vries/gcc_versions/devel/src/gcc/rtl.c:773
0xfe4c1d rhs_regno
/home/vries/gcc_versions/devel/src/gcc/rtl.h:1125
0xfe62a1 aarch64_split_128bit_move(rtx_def*, rtx_def*)
/home/vries/gcc_versions/devel/src/gcc/config/aarch64/aarch64.c:688
0x1048a60 gen_split_2245(rtx_def*, rtx_def**)
/home/vries/gcc_versions/devel/src/gcc/config/aarch64/aarch64.md:752
b0x13fc389 split_1
/home/vries/gcc_versions/devel/src/gcc/config/aarch64/aarch64.md:751
0x1475285 split_insns(rtx_def*, rtx_def*)
/home/vries/gcc_versions/devel/src/gcc/config/aarch64/aarch64.md:352
0x7ec8f6 try_split(rtx_def*, rtx_def*, int)
/home/vries/gcc_versions/devel/src/gcc/emit-rtl.c:3471
0xb535ea split_insn
/home/vries/gcc_versions/devel/src/gcc/recog.c:2850
0xb545f2 split_all_insns()
/home/vries/gcc_versions/devel/src/gcc/recog.c:2940
0xb573f6 rest_of_handle_split_after_reload
/home/vries/gcc_versions/devel/src/gcc/recog.c:3889
0xb57440 execute
/home/vries/gcc_versions/devel/src/gcc/recog.c:3918
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
...
Investigating one of them shows:
...
(gdb) down
#6 0x0000000000fe62a2 in aarch64_split_128bit_move (dst=0x7ffff66fa0e0,
src=0x7ffff687c470)
at /home/vries/gcc_versions/devel/src/gcc/config/aarch64/aarch64.c:688
688 int src_regno = REGNO (src);
(gdb) call debug_rtx (src)
(const_int 0 [0])
(gdb) call debug_rtx (dst)
(reg/v:TI 2 x2 [orig:80 _flo ] [80])
...
...
void
aarch64_split_128bit_move (rtx dst, rtx src)
{
rtx low_dst;
enum machine_mode src_mode = GET_MODE (src);
enum machine_mode dst_mode = GET_MODE (dst);
int src_regno = REGNO (src);
int dst_regno = REGNO (dst);
...
We're doing REGNO (src) while src == (const_int 0).
More information about the Gcc-bugs
mailing list