public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
@ 2021-12-09 11:03 asolokha at gmx dot com
  2021-12-10  9:48 ` [Bug target/103625] " linkw at gcc dot gnu.org
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: asolokha at gmx dot com @ 2021-12-09 11:03 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 103625
           Summary: ICE: in extract_insn, at recog.c:2769 (error:
                    unrecognizable insn)
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-e300c3-linux-gnu

gcc 12.0.0 20211205 snapshot (g:c9419faef0bfaf31e6a6f744baa064892e0d105c) ICEs
when compiling the following testcase, reduced from
gcc/testsuite/gcc.target/powerpc/pr70963.c, w/ -mvsx:

#define vector __attribute__((altivec(vector__)))

static void test()
{
  vector double x = { 81.0, 76.0 };
  vector long long y = { 81, 76 };
  vector long long a = __builtin_vec_cts (x, 0);

  if (!__builtin_vec_vcmpeq_p (2, a, y))
    __builtin_abort ();
}

% powerpc-e300c3-linux-gnu-gcc-12.0.0 -mvsx -c m3jai565.c
m3jai565.c: In function 'test':
m3jai565.c:11:1: error: unrecognizable insn:
   11 | }
      | ^
(insn 16 15 17 2 (parallel [
            (set (reg:CC 106 6)
                (unspec:CC [
                        (eq:CC (reg:V2DI 124)
                            (reg:V2DI 125))
                    ] UNSPEC_PREDICATE))
            (set (reg:V2DI 126)
                (eq:V2DI (reg:V2DI 124)
                    (reg:V2DI 125)))
        ]) "m3jai565.c":9:7 -1
     (nil))
during RTL pass: vregs
m3jai565.c:11:1: internal compiler error: in extract_insn, at recog.c:2769
0x6ac6f5 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/rtl-error.c:108
0x6ac715 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/rtl-error.c:116
0x6aad23 extract_insn(rtx_insn*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/recog.c:2769
0xb24c4c instantiate_virtual_regs_in_insn
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/function.c:1660
0xb24c4c instantiate_virtual_regs
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/function.c:1985
0xb24c4c execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/gcc-12-20211205/gcc/function.c:2034

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

* [Bug target/103625] ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
  2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
@ 2021-12-10  9:48 ` linkw at gcc dot gnu.org
  2021-12-10 13:28 ` wschmidt at gcc dot gnu.org
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: linkw at gcc dot gnu.org @ 2021-12-10  9:48 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |linkw at gcc dot gnu.org,
                   |                            |wschmidt at gcc dot gnu.org

--- Comment #1 from Kewen Lin <linkw at gcc dot gnu.org> ---
Confirmed, started to fail from r12-5752.

The __builtin_vec_vcmpeq_p for doubleword overload requires power8-vector. Its
current stanza is vsx, but should be power8-vector. The related bifs are:

  const vsll __builtin_altivec_vcmpequd (vull, vull);
  const int __builtin_altivec_vcmpequd_p (int, vsll, vsll);

  const vsll __builtin_altivec_vcmpgtsd (vsll, vsll);
  const int __builtin_altivec_vcmpgtsd_p (int, vsll, vsll);

  const vsll __builtin_altivec_vcmpgtud (vull, vull);
  const int __builtin_altivec_vcmpgtud_p (int, vsll, vsll);

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

* [Bug target/103625] ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
  2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
  2021-12-10  9:48 ` [Bug target/103625] " linkw at gcc dot gnu.org
@ 2021-12-10 13:28 ` wschmidt at gcc dot gnu.org
  2021-12-10 13:29 ` wschmidt at gcc dot gnu.org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-10 13:28 UTC (permalink / raw)
  To: gcc-bugs

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

Bill Schmidt <wschmidt at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |wschmidt at gcc dot gnu.org
   Target Milestone|---                         |12.0

--- Comment #2 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Mine.

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

* [Bug target/103625] ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
  2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
  2021-12-10  9:48 ` [Bug target/103625] " linkw at gcc dot gnu.org
  2021-12-10 13:28 ` wschmidt at gcc dot gnu.org
@ 2021-12-10 13:29 ` wschmidt at gcc dot gnu.org
  2021-12-12 16:55 ` wschmidt at gcc dot gnu.org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-10 13:29 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
BTW, Arseny, please CC me on any other built-in issues you see.

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

* [Bug target/103625] ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
  2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (2 preceding siblings ...)
  2021-12-10 13:29 ` wschmidt at gcc dot gnu.org
@ 2021-12-12 16:55 ` wschmidt at gcc dot gnu.org
  2021-12-12 16:55 ` wschmidt at gcc dot gnu.org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-12 16:55 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Kewen, how did you confirm this?  My cross doesn't accept -mvsx as valid.

$ /home/wschmidt/gcc/build/gcc-e300/gcc/xgcc -c -O2 -mvsx pr103625.c
-B/home/wschmidt/gcc/build/gcc-e300/gcc 
/home/wschmidt/gcc/build/gcc-e300/gcc/as: line 114: exec: -m: invalid option
exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]

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

* [Bug target/103625] ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
  2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (3 preceding siblings ...)
  2021-12-12 16:55 ` wschmidt at gcc dot gnu.org
@ 2021-12-12 16:55 ` wschmidt at gcc dot gnu.org
  2021-12-13  2:23 ` linkw at gcc dot gnu.org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-12 16:55 UTC (permalink / raw)
  To: gcc-bugs

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

Bill Schmidt <wschmidt at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-12-12
             Status|UNCONFIRMED                 |NEW

--- Comment #5 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Confirmed by Kewen, so setting status.

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

* [Bug target/103625] ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
  2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (4 preceding siblings ...)
  2021-12-12 16:55 ` wschmidt at gcc dot gnu.org
@ 2021-12-13  2:23 ` linkw at gcc dot gnu.org
  2021-12-13 13:27 ` wschmidt at gcc dot gnu.org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: linkw at gcc dot gnu.org @ 2021-12-13  2:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Kewen Lin <linkw at gcc dot gnu.org> ---
(In reply to Bill Schmidt from comment #4)
> Kewen, how did you confirm this?  My cross doesn't accept -mvsx as valid.
> 
> $ /home/wschmidt/gcc/build/gcc-e300/gcc/xgcc -c -O2 -mvsx pr103625.c
> -B/home/wschmidt/gcc/build/gcc-e300/gcc 
> /home/wschmidt/gcc/build/gcc-e300/gcc/as: line 114: exec: -m: invalid option
> exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]

I used the original command which doesn't specify -O2. I just confirmed that
it's reproducible with that, just noticed that with O2 all seems optimized out,
then it's going to invoke assembler (-S can make it silent).

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

* [Bug target/103625] ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
  2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (5 preceding siblings ...)
  2021-12-13  2:23 ` linkw at gcc dot gnu.org
@ 2021-12-13 13:27 ` wschmidt at gcc dot gnu.org
  2021-12-13 13:28 ` wschmidt at gcc dot gnu.org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-13 13:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Oh, duh, sorry.  Yes, I can reproduce as well.

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

* [Bug target/103625] ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
  2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (6 preceding siblings ...)
  2021-12-13 13:27 ` wschmidt at gcc dot gnu.org
@ 2021-12-13 13:28 ` wschmidt at gcc dot gnu.org
  2021-12-13 16:19 ` wschmidt at gcc dot gnu.org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-13 13:28 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
And Kewen's analysis is spot-on, will fix that.

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

* [Bug target/103625] ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
  2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (7 preceding siblings ...)
  2021-12-13 13:28 ` wschmidt at gcc dot gnu.org
@ 2021-12-13 16:19 ` wschmidt at gcc dot gnu.org
  2021-12-14 17:20 ` cvs-commit at gcc dot gnu.org
  2021-12-14 17:27 ` wschmidt at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-13 16:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Patch posted here:

https://gcc.gnu.org/pipermail/gcc-patches/2021-December/586713.html

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

* [Bug target/103625] ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
  2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (8 preceding siblings ...)
  2021-12-13 16:19 ` wschmidt at gcc dot gnu.org
@ 2021-12-14 17:20 ` cvs-commit at gcc dot gnu.org
  2021-12-14 17:27 ` wschmidt at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-12-14 17:20 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by William Schmidt <wschmidt@gcc.gnu.org>:

https://gcc.gnu.org/g:936051f9241ee2eafae8f5b8a4ad99fd7ed693bc

commit r12-5964-g936051f9241ee2eafae8f5b8a4ad99fd7ed693bc
Author: Bill Schmidt <wschmidt@linux.ibm.com>
Date:   Mon Dec 13 09:30:18 2021 -0600

    rs6000: Builtins for doubleword compare should be in [power8-vector]
(PR103625)

    2021-12-13  Bill Schmidt  <wschmidt@linux.ibm.com>

    gcc/
            PR target/103625
            * config/rs6000/rs6000-builtin-new.def
(__builtin_altivec_vcmpequd):
            Move to power8-vector stanza.
            (__builtin_altivec_vcmpequd_p): Likewise.
            (__builtin_altivec_vcmpgtsd): Likewise.
            (__builtin_altivec_vcmpgtsd_p): Likewise.
            (__builtin_altivec_vcmpgtud): Likewise.
            (__builtin_altivec_vcmpgtud_p): Likewise.

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

* [Bug target/103625] ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn)
  2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
                   ` (9 preceding siblings ...)
  2021-12-14 17:20 ` cvs-commit at gcc dot gnu.org
@ 2021-12-14 17:27 ` wschmidt at gcc dot gnu.org
  10 siblings, 0 replies; 12+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2021-12-14 17:27 UTC (permalink / raw)
  To: gcc-bugs

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

Bill Schmidt <wschmidt at gcc dot gnu.org> changed:

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

--- Comment #11 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Fixed.

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

end of thread, other threads:[~2021-12-14 17:27 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-09 11:03 [Bug target/103625] New: ICE: in extract_insn, at recog.c:2769 (error: unrecognizable insn) asolokha at gmx dot com
2021-12-10  9:48 ` [Bug target/103625] " linkw at gcc dot gnu.org
2021-12-10 13:28 ` wschmidt at gcc dot gnu.org
2021-12-10 13:29 ` wschmidt at gcc dot gnu.org
2021-12-12 16:55 ` wschmidt at gcc dot gnu.org
2021-12-12 16:55 ` wschmidt at gcc dot gnu.org
2021-12-13  2:23 ` linkw at gcc dot gnu.org
2021-12-13 13:27 ` wschmidt at gcc dot gnu.org
2021-12-13 13:28 ` wschmidt at gcc dot gnu.org
2021-12-13 16:19 ` wschmidt at gcc dot gnu.org
2021-12-14 17:20 ` cvs-commit at gcc dot gnu.org
2021-12-14 17:27 ` wschmidt 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).