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.