https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67439

            Bug ID: 67439
           Summary: ICE: unrecognizable insn compiling arm-fp16 testcases
                    with -march=armv7-a and -mrestrict-it
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rmansfield at qnx dot com
  Target Milestone: ---
            Target: arm-unknown-linux-gnueabi

$ ./xgcc -v
Using built-in specs.
COLLECT_GCC=./xgcc
Target: arm-unknown-linux-gnueabi
Configured with: ../configure --target=arm-unknown-linux-gnueabi
--prefix=/home/rmansfield/x-tools/arm-unknown-linux-gnueabi
--with-sysroot=/home/rmansfield/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi//sys-root
--disable-multilib
--with-local-prefix=/home/rmansfield/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sys-root
--disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99
--enable-long-long --enable-target-optspace
target_alias=arm-unknown-linux-gnueabi --enable-languages=c++
--disable-libmudflap --disable-libssp --enable-checking
Thread model: posix
gcc version 6.0.0 20150902 (experimental) [trunk revision 227416] (GCC) 

$ ./xgcc -B. ../../gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c  -O0
-mfp16-format=ieee  -S    -o arm-fp16-compile-assign.s   -O2 -march=armv7-a
-mrestrict-it
rmansfield@BB1543999644:~/gnu/gcc/trunk/arm-eabi/gcc$ ./xgcc -B.
../../gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c  -O0
-mfp16-format=ieee  -S    -o arm-fp16-compile-assign.s   -O2 -mthumb
-march=armv7-a -mrestrict-it
../../gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c: In function 'f':
../../gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c:25:1: error:
unrecognizable insn:
 }
 ^
(insn 7 6 8 2 (set (reg:HF 118)
        (const_double:HF 1.0e+0 [0x0.8p+1]))
../../gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c:17 -1
     (nil))
../../gcc/testsuite/gcc.dg/torture/arm-fp16-compile-assign.c:25:1: internal
compiler error: in extract_insn, at recog.c:2297
0x9e8ec5 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../gcc/rtl-error.c:109
0x9e8ef9 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ../../gcc/rtl-error.c:117
0x9baaa7 extract_insn(rtx_insn*)
        ../../gcc/recog.c:2297
0x7e7e52 instantiate_virtual_regs_in_insn
        ../../gcc/function.c:1589
0x7e7e52 instantiate_virtual_regs
        ../../gcc/function.c:1957
0x7e7e52 execute
        ../../gcc/function.c:2006
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.

FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O0  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O0  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O1  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O1  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O2  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O2  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O3 -fomit-frame-pointer 
(internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O3 -fomit-frame-pointer 
(test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O3 -g  (internal compiler
error)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O3 -g  (test for excess
errors)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -Os  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -Os  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-compile-assign.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O0  (internal compiler
error)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O0  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O1  (internal compiler
error)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O1  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O2  (internal compiler
error)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O2  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O3 -fomit-frame-pointer 
(internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O3 -fomit-frame-pointer 
(test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O3 -g  (internal compiler
error)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O3 -g  (test for excess
errors)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -Os  (internal compiler
error)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -Os  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-compile-convert.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O0  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O0  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O1  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O1  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O2  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O2  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O3 -fomit-frame-pointer  (internal
compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O3 -fomit-frame-pointer  (test for
excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O3 -g  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O3 -g  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -Os  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -Os  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-1.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O0  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O0  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O1  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O1  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O2  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O2  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O3 -fomit-frame-pointer  (internal
compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O3 -fomit-frame-pointer  (test for
excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O3 -g  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O3 -g  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -Os  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -Os  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-2.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O0  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O0  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O1  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O1  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O2  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O2  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O3 -fomit-frame-pointer  (internal
compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O3 -fomit-frame-pointer  (test for
excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O3 -g  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O3 -g  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -Os  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -Os  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-3.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O0  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O0  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O1  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O1  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O2  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O2  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O3 -fomit-frame-pointer  (internal
compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O3 -fomit-frame-pointer  (test for
excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O3 -g  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O3 -g  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -Os  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -Os  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-4.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O0  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O0  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O1  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O1  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O2  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O2  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O3 -fomit-frame-pointer  (internal
compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O3 -fomit-frame-pointer  (test for
excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O3 -g  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O3 -g  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -Os  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -Os  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-7.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O0  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O0  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O1  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O1  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O2  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O2  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O3 -fomit-frame-pointer  (internal
compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O3 -fomit-frame-pointer  (test for
excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O3 -g  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O3 -g  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -Os  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -Os  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (test for excess errors)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (internal compiler error)
FAIL: gcc.dg/torture/arm-fp16-ops-8.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (test for excess errors)

Reply via email to