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)