http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60131
Bug ID: 60131
Summary: RTL check fail in rhs_regno
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dcb314 at hotmail dot com
Created attachment 32095
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32095&action=edit
gzipped C++ source code
I just compiled the attached code with gcc trunk dated 20140209 on a x86_64
box with flag -O2 and it said
/home/dcb/clang/llvm/lib/Target/R600/SIInstrInfo.cpp: In member function ‘const
llvm::TargetRegister
Class* llvm::SIInstrInfo::getOpRegClass(const llvm::MachineInstr&, unsigned
int) const’:
/home/dcb/clang/llvm/lib/Target/R600/SIInstrInfo.cpp:467:1: internal compiler
error: RTL check: expe
cted code 'reg', have 'sign_extend' in rhs_regno, at rtl.h:1125
}
^
0xd530c7 rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int,
char const*)
../../src/trunk/gcc/rtl.c:773
0x6145f2 rhs_regno
../../src/trunk/gcc/rtl.h:1125
0x167748b rhs_regno
../../src/trunk/gcc/ree.c:388
0x167748b combine_reaching_defs
../../src/trunk/gcc/ree.c:703
0x16781e2 find_and_remove_re
../../src/trunk/gcc/ree.c:997
0x16781e2 rest_of_handle_ree
../../src/trunk/gcc/ree.c:1068
0x16781e2 execute
../../src/trunk/gcc/ree.c:1107
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.
The gcc trunk has been bootstrapped with --enable-check=rtl switched on.