http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60909

            Bug ID: 60909
           Summary: ICE: in extract_insn, at recog.c:2202 (unrecognizable
                    insn) with -mrdrnd and __builtin_ia32_rdrand32_step()
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz

Created attachment 32645
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32645&action=edit
reduced testcase

Compiler output:
$ gcc -mrdrnd testcase.c                           
testcase.c: In function 'foo':
testcase.c:8:1: error: unrecognizable insn:
 }
 ^
(insn 10 9 11 2 (set (mem/c:SI (plus:DI (reg/f:DI 78 virtual-stack-vars)
                (const_int -4 [0xfffffffffffffffc])) [0 i+0 S4 A32])
        (if_then_else:SI (geu (reg:CCC 17 flags)
                (const_int 0 [0]))
            (reg:SI 83)
            (reg:SI 85))) testcase.c:6 -1
     (nil))
testcase.c:8:1: internal compiler error: in extract_insn, at recog.c:2202
0xac2df8 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /mnt/svn/gcc-trunk/gcc/rtl-error.c:109
0xac2e88 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /mnt/svn/gcc-trunk/gcc/rtl-error.c:117
0xa788b6 extract_insn(rtx_def*)
        /mnt/svn/gcc-trunk/gcc/recog.c:2202
0x8d6557 instantiate_virtual_regs_in_insn
        /mnt/svn/gcc-trunk/gcc/function.c:1555
0x8d6557 instantiate_virtual_regs
        /mnt/svn/gcc-trunk/gcc/function.c:1921
0x8d6557 execute
        /mnt/svn/gcc-trunk/gcc/function.c:1972
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.

$ gcc -v                
Using built-in specs.
COLLECT_GCC=/mnt/svn/gcc-trunk/binary-latest/bin/gcc
COLLECT_LTO_WRAPPER=/mnt/svn/gcc-trunk/binary-209536-lto-fortran-checking-yes-rtl-df/libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /mnt/svn/gcc-trunk//configure --enable-checking=yes,rtl,df
--enable-languages=c,c++,lto,fortran
--prefix=/mnt/svn/gcc-trunk/binary-209536-lto-fortran-checking-yes-rtl-df/
--without-cloog --without-ppl
Thread model: posix
gcc version 4.10.0 20140420 (experimental) (GCC) 

Tested revisions:
r209536 - ICE
4.9 r209346 - ICE
4.8 r209342 - ICE
4.7 r209345 - ICE
4.6 r197894 - ICE
4.5.4 - -mrdrnd not supported

Reply via email to