public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)
@ 2020-08-24  9:33 asolokha at gmx dot com
  2021-05-27 20:26 ` [Bug target/96762] " meissner at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: asolokha at gmx dot com @ 2020-08-24  9:33 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 96762
           Summary: ICE in extract_insn, at recog.c:2294 (error:
                    unrecognizable insn)
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu

gcc-11.0.0-alpha20200823 snapshot (g:87c753ac241f25d222d46ba1ac66ceba89d6a200)
ICEs when compiling the following testcase w/ -mcpu=power10:

void
g4 (void)
{
  char zj[] = "XXXXXXXXXXXXXXXX";
}

% powerpc-e300c3-linux-gnu-gcc-11.0.0 -mcpu=power10 -c gqga9ph8.c
gqga9ph8.c: In function 'g4':
gqga9ph8.c:5:1: error: unrecognizable insn:
    5 | }
      | ^
(insn 11 7 12 2 (set (reg:DI 123)
        (ashift:DI (reg:DI 122)
            (const_int 56 [0x38]))) "gqga9ph8.c":4:8 -1
     (nil))
during RTL pass: vregs
gqga9ph8.c:5:1: internal compiler error: in extract_insn, at recog.c:2294
0x65b11b _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/rtl-error.c:108
0x65b13b _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/rtl-error.c:116
0x6596e9 extract_insn(rtx_insn*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/recog.c:2294
0xa87ee1 instantiate_virtual_regs_in_insn
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/function.c:1607
0xa87ee1 instantiate_virtual_regs
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/function.c:1977
0xa87ee1 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200823/work/gcc-11-20200823/gcc/function.c:2026

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96762] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)
  2020-08-24  9:33 [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) asolokha at gmx dot com
@ 2021-05-27 20:26 ` meissner at gcc dot gnu.org
  2021-05-29 18:23 ` meissner at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: meissner at gcc dot gnu.org @ 2021-05-27 20:26 UTC (permalink / raw)
  To: gcc-bugs

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

Michael Meissner <meissner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2021-05-27
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
                 CC|                            |meissner at gcc dot gnu.org

--- Comment #1 from Michael Meissner <meissner at gcc dot gnu.org> ---
The example only shows the bug with big endian, 32-bit without optimization. 
If you optimize the code, the array assignment goes away.  Here is a better
example that can be optimized:

extern void foo (char *);

void
g4 (void)
{
  char zj[] = "XXXXXXXXXXXXXXXX";
  foo (zj);
}

With the current trunk (as of May 27th) the new example fails at no
optimization, -O1, and -O2.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96762] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)
  2020-08-24  9:33 [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) asolokha at gmx dot com
  2021-05-27 20:26 ` [Bug target/96762] " meissner at gcc dot gnu.org
@ 2021-05-29 18:23 ` meissner at gcc dot gnu.org
  2021-05-29 19:53 ` segher at gcc dot gnu.org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: meissner at gcc dot gnu.org @ 2021-05-29 18:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> ---
It is in the memcpy expansion, when the compiler tries to generate lxvl and
stxvl to do the move.  Unfortunately, the pattern in the expansion does a
DImode shift left by 56 to get the value into the correct spot in the VSR, but
32-bit doesn't have the shift.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96762] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)
  2020-08-24  9:33 [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) asolokha at gmx dot com
  2021-05-27 20:26 ` [Bug target/96762] " meissner at gcc dot gnu.org
  2021-05-29 18:23 ` meissner at gcc dot gnu.org
@ 2021-05-29 19:53 ` segher at gcc dot gnu.org
  2023-06-02  3:02 ` bergner at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: segher at gcc dot gnu.org @ 2021-05-29 19:53 UTC (permalink / raw)
  To: gcc-bugs

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

Segher Boessenkool <segher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |acsawdey at gcc dot gnu.org

--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> ---
So this is Aaron's then.  Aaron, feel free to unassign if you do not want it,
of course :-)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96762] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)
  2020-08-24  9:33 [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (2 preceding siblings ...)
  2021-05-29 19:53 ` segher at gcc dot gnu.org
@ 2023-06-02  3:02 ` bergner at gcc dot gnu.org
  2023-08-30  2:31 ` linkw at gcc dot gnu.org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2023-06-02  3:02 UTC (permalink / raw)
  To: gcc-bugs

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

Peter Bergner <bergner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|acsawdey at gcc dot gnu.org        |unassigned at gcc dot gnu.org
                 CC|                            |bergner at gcc dot gnu.org

--- Comment #4 from Peter Bergner <bergner at gcc dot gnu.org> ---
Aaron isn't working on GCC anymore, so unassigning him.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96762] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)
  2020-08-24  9:33 [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (3 preceding siblings ...)
  2023-06-02  3:02 ` bergner at gcc dot gnu.org
@ 2023-08-30  2:31 ` linkw at gcc dot gnu.org
  2023-08-31  5:44 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: linkw at gcc dot gnu.org @ 2023-08-30  2:31 UTC (permalink / raw)
  To: gcc-bugs

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

Kewen Lin <linkw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |malat at debian dot org

--- Comment #5 from Kewen Lin <linkw at gcc dot gnu.org> ---
*** Bug 111212 has been marked as a duplicate of this bug. ***

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96762] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)
  2020-08-24  9:33 [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (4 preceding siblings ...)
  2023-08-30  2:31 ` linkw at gcc dot gnu.org
@ 2023-08-31  5:44 ` cvs-commit at gcc dot gnu.org
  2023-09-12  1:54 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-08-31  5:44 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by HaoChen Gui <guihaoc@gcc.gnu.org>:

https://gcc.gnu.org/g:946b8967b905257ac9f140225db744c9a6ab91be

commit r14-3587-g946b8967b905257ac9f140225db744c9a6ab91be
Author: Haochen Gui <guihaoc@gcc.gnu.org>
Date:   Thu Aug 31 13:41:50 2023 +0800

    rs6000: call vector load/store with length only on 64-bit Power10

    gcc/
            PR target/96762
            * config/rs6000/rs6000-string.cc (expand_block_move): Call vector
            load/store with length only on 64-bit Power10.

    gcc/testsuite/
            PR target/96762
            * gcc.target/powerpc/pr96762.c: New.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96762] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)
  2020-08-24  9:33 [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (5 preceding siblings ...)
  2023-08-31  5:44 ` cvs-commit at gcc dot gnu.org
@ 2023-09-12  1:54 ` cvs-commit at gcc dot gnu.org
  2023-09-12  1:56 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-09-12  1:54 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by HaoChen Gui
<guihaoc@gcc.gnu.org>:

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

commit r13-7793-gf4358054dbaf7fb361e603e3693d9410312b88e7
Author: Haochen Gui <guihaoc@gcc.gnu.org>
Date:   Tue Sep 12 09:54:03 2023 +0800

    rs6000: call vector load/store with length only on 64-bit Power10

    gcc/
            PR target/96762
            * config/rs6000/rs6000-string.cc (expand_block_move): Call vector
            load/store with length only on 64-bit Power10.

    gcc/testsuite/
            PR target/96762
            * gcc.target/powerpc/pr96762.c: New.

    (cherry picked from commit 946b8967b905257ac9f140225db744c9a6ab91be)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96762] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)
  2020-08-24  9:33 [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (6 preceding siblings ...)
  2023-09-12  1:54 ` cvs-commit at gcc dot gnu.org
@ 2023-09-12  1:56 ` cvs-commit at gcc dot gnu.org
  2023-09-12  1:58 ` cvs-commit at gcc dot gnu.org
  2023-09-12  1:59 ` guihaoc at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-09-12  1:56 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by HaoChen Gui
<guihaoc@gcc.gnu.org>:

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

commit r12-9854-gac0773956cef18cd4903365fb675447ee301d725
Author: Haochen Gui <guihaoc@gcc.gnu.org>
Date:   Tue Sep 12 09:56:13 2023 +0800

    rs6000: call vector load/store with length only on 64-bit Power10

    gcc/
            PR target/96762
            * config/rs6000/rs6000-string.cc (expand_block_move): Call vector
            load/store with length only on 64-bit Power10.

    gcc/testsuite/
            PR target/96762
            * gcc.target/powerpc/pr96762.c: New.

    (cherry picked from commit 946b8967b905257ac9f140225db744c9a6ab91be)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96762] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)
  2020-08-24  9:33 [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (7 preceding siblings ...)
  2023-09-12  1:56 ` cvs-commit at gcc dot gnu.org
@ 2023-09-12  1:58 ` cvs-commit at gcc dot gnu.org
  2023-09-12  1:59 ` guihaoc at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-09-12  1:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by HaoChen Gui
<guihaoc@gcc.gnu.org>:

https://gcc.gnu.org/g:2eb8e5cba7408e2a4016a8f5c48e4980abdd1d08

commit r11-10985-g2eb8e5cba7408e2a4016a8f5c48e4980abdd1d08
Author: Haochen Gui <guihaoc@gcc.gnu.org>
Date:   Tue Sep 12 09:58:08 2023 +0800

    rs6000: call vector load/store with length only on 64-bit Power10

    gcc/
            PR target/96762
            * config/rs6000/rs6000-string.c (expand_block_move): Call vector
            load/store with length only on 64-bit Power10.

    gcc/testsuite/
            PR target/96762
            * gcc.target/powerpc/pr96762.c: New.

    (cherry picked from commit 946b8967b905257ac9f140225db744c9a6ab91be)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug target/96762] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)
  2020-08-24  9:33 [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (8 preceding siblings ...)
  2023-09-12  1:58 ` cvs-commit at gcc dot gnu.org
@ 2023-09-12  1:59 ` guihaoc at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: guihaoc at gcc dot gnu.org @ 2023-09-12  1:59 UTC (permalink / raw)
  To: gcc-bugs

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

HaoChen Gui <guihaoc at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #10 from HaoChen Gui <guihaoc at gcc dot gnu.org> ---
Fixed and backported.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-09-12  1:59 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-24  9:33 [Bug target/96762] New: ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn) asolokha at gmx dot com
2021-05-27 20:26 ` [Bug target/96762] " meissner at gcc dot gnu.org
2021-05-29 18:23 ` meissner at gcc dot gnu.org
2021-05-29 19:53 ` segher at gcc dot gnu.org
2023-06-02  3:02 ` bergner at gcc dot gnu.org
2023-08-30  2:31 ` linkw at gcc dot gnu.org
2023-08-31  5:44 ` cvs-commit at gcc dot gnu.org
2023-09-12  1:54 ` cvs-commit at gcc dot gnu.org
2023-09-12  1:56 ` cvs-commit at gcc dot gnu.org
2023-09-12  1:58 ` cvs-commit at gcc dot gnu.org
2023-09-12  1:59 ` guihaoc at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).