Bug 87583 - error: unrecognizable insn on ppc64le
Summary: error: unrecognizable insn on ppc64le
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 9.0
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2018-10-11 07:06 UTC by Martin Liška
Modified: 2020-03-31 23:39 UTC (History)
3 users (show)

See Also:
Host: x86_64-linux-gnu
Target: ppc64le-linux-gnu
Build:
Known to work:
Known to fail:
Last reconfirmed: 2018-10-11 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Liška 2018-10-11 07:06:10 UTC
Probably very similar to PR87149:

$ ppc64le-linux-gnu-gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c -mno-fprnd -c
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c: In function ‘do_math’:
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c:152:1: error: unrecognizable insn:
152 | }
    | ^
(insn 203 202 204 2 (set (reg:DF 146 [ _26 ])
        (unspec:DF [
                (reg:DF 145 [ _25 ])
            ] UNSPEC_FRIM)) "/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c":146:13 -1
     (nil))
during RTL pass: vregs
/home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c:152:1: internal compiler error: in extract_insn, at recog.c:2305
0x572551 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
	/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/rtl-error.c:108
0x57256d _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
	/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/rtl-error.c:116
0x571a5a extract_insn(rtx_insn*)
	/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/recog.c:2305
0x7b899f instantiate_virtual_regs_in_insn
	/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/function.c:1605
0x7b899f instantiate_virtual_regs
	/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/function.c:1975
0x7b899f execute
	/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-ppc64le/build/gcc/function.c:2024
Comment 1 Segher Boessenkool 2018-10-11 08:01:06 UTC
Confirmed.
Comment 2 Martin Liška 2018-11-05 07:25:29 UTC
Any progress on that Segher?
Comment 3 Segher Boessenkool 2018-11-05 19:35:49 UTC
It's the same problem as many other PRs.  You are using -mcpu=power8 (it is
the default for powerpc64le), but disabling some 2.04 insns (power5+).
Comment 4 Martin Liška 2018-11-06 08:01:14 UTC
(In reply to Segher Boessenkool from comment #3)
> It's the same problem as many other PRs.  You are using -mcpu=power8 (it is
> the default for powerpc64le), but disabling some 2.04 insns (power5+).

Works for me, so lets decrease the priority of it.
Comment 5 Segher Boessenkool 2020-03-20 23:50:27 UTC
commit 68dd57808f7c0147acdb5ca72c88ff655afcb0ce
Author: Carl Love <carll@us.ibm.com>
Date:   Fri Mar 20 18:15:05 2020 -0500

    rs6000: Add command line and builtin compatibility check
    
    2020-03-20  Carl Love  <cel@us.ibm.com>
    
        PR/target 87583
        * gcc/config/rs6000/rs6000.c (rs6000_option_override_internal):
        Add check for TARGET_FPRND for Power 7 or newer.
Comment 6 GCC Commits 2020-03-31 16:46:35 UTC
The releases/gcc-9 branch has been updated by Carl Love <carll@gcc.gnu.org>:

https://gcc.gnu.org/g:8ab40918a3b6b9093930193fe8900d738858e75f

commit r9-8425-g8ab40918a3b6b9093930193fe8900d738858e75f
Author: Carl Love <carll@us.ibm.com>
Date:   Tue Mar 31 11:30:00 2020 -0500

    rs6000: Add command line and builtin compatibility check
    
    2020-03-31  Carl Love  <cel@us.ibm.com>
    
            backport of mainline commit
    
            commit 68dd57808f7c0147acdb5ca72c88ff655afcb0ce
            Author: Carl Love <carll@us.ibm.com>
            Date:   Fri Mar 20 18:15:05 2020 -0500
    
            whith change log typo fixed.
    
            PR target/87583
            * gcc/config/rs6000/rs6000.c (rs6000_option_override_internal):
            Add check for TARGET_FPRND for Power 7 or newer.
Comment 7 GCC Commits 2020-03-31 17:46:23 UTC
The releases/gcc-8 branch has been updated by Carl Love <carll@gcc.gnu.org>:

https://gcc.gnu.org/g:bfb0e282e3dacb7c72f78b9b546b36a6fcc534e8

commit r8-10153-gbfb0e282e3dacb7c72f78b9b546b36a6fcc534e8
Author: Carl Love <carll@us.ibm.com>
Date:   Tue Mar 31 11:53:47 2020 -0500

    rs6000 Add command line and builtin compatibility check
    
    2020-03-31  Carl Love  <cel@us.ibm.com>
    
            backport of mainline commit
    
            commit 68dd57808f7c0147acdb5ca72c88ff655afcb0ce
            Author: Carl Love <carll@us.ibm.com>
            Date:   Fri Mar 20 18:15:05 2020 -0500
    
            whith change log typo fixed.
    
            PR target/87583
            * gcc/config/rs6000/rs6000.c (rs6000_option_override_internal):
            Add check for TARGET_FPRND for Power 7 or newer.
Comment 8 Carl Love 2020-03-31 23:39:01 UTC
The issue was fixed with a patch to mainline, backported to GCC 8 and 9