public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/108703] New: ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints: movhi_insn) on sparc64 at -O1
@ 2023-02-07 19:25 zsojka at seznam dot cz
  2023-05-12 10:10 ` [Bug target/108703] " ebotcazou at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: zsojka at seznam dot cz @ 2023-02-07 19:25 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 108703
           Summary: ICE: in extract_constrain_insn, at recog.cc:2692 (insn
                    does not satisfy its constraints: movhi_insn) on
                    sparc64 at -O1
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: sparc64-unknown-linux-gnu

Created attachment 54422
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54422&action=edit
reduced testcase

Compiler output:
$ sparc64-unknown-linux-gnu-gcc -O testcase.c 
testcase.c: In function 'foo':
testcase.c:9:1: error: insn does not satisfy its constraints:
    9 | }
      | ^
(insn 10 15 11 2 (set (reg:HI 33 %f1)
        (reg:HI 35 %f3)) "testcase.c":8:3 114 {*movhi_insn}
     (expr_list:REG_EQUAL (const_int 13107 [0x3333])
        (nil)))
during RTL pass: reload
testcase.c:9:1: internal compiler error: in extract_constrain_insn, at
recog.cc:2692
0x6cb2b9 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /repo/gcc-trunk/gcc/rtl-error.cc:108
0x6cb33f _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /repo/gcc-trunk/gcc/rtl-error.cc:118
0x6b8611 extract_constrain_insn(rtx_insn*)
        /repo/gcc-trunk/gcc/recog.cc:2692
0xd3b414 check_rtl
        /repo/gcc-trunk/gcc/lra.cc:2126
0xd40516 lra(_IO_FILE*)
        /repo/gcc-trunk/gcc/lra.cc:2544
0xcf1179 do_reload
        /repo/gcc-trunk/gcc/ira.cc:5941
0xcf1179 execute
        /repo/gcc-trunk/gcc/ira.cc:6127
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

$ sparc64-unknown-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk//binary-latest-sparc64/bin/sparc64-unknown-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r13-5708-20230206090556-g5df573f76bb-checking-yes-rtl-df-extra-sparc64/bin/../libexec/gcc/sparc64-unknown-linux-gnu/13.0.1/lto-wrapper
Target: sparc64-unknown-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--with-cloog --with-ppl --with-isl
--with-sysroot=/usr/sparc64-unknown-linux-gnu --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --target=sparc64-unknown-linux-gnu
--with-ld=/usr/bin/sparc64-unknown-linux-gnu-ld
--with-as=/usr/bin/sparc64-unknown-linux-gnu-as --disable-multilib
--disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r13-5708-20230206090556-g5df573f76bb-checking-yes-rtl-df-extra-sparc64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.0.1 20230206 (experimental) (GCC)

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

* [Bug target/108703] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints: movhi_insn) on sparc64 at -O1
  2023-02-07 19:25 [Bug target/108703] New: ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints: movhi_insn) on sparc64 at -O1 zsojka at seznam dot cz
@ 2023-05-12 10:10 ` ebotcazou at gcc dot gnu.org
  2023-05-12 10:33 ` [Bug target/108703] insn does not satisfy its constraints: movhi_insn " ebotcazou at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2023-05-12 10:10 UTC (permalink / raw)
  To: gcc-bugs

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

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2023-05-12
             Status|UNCONFIRMED                 |NEW
                 CC|                            |ebotcazou at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
I can reproduce.

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

* [Bug target/108703] insn does not satisfy its constraints: movhi_insn at -O1
  2023-02-07 19:25 [Bug target/108703] New: ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints: movhi_insn) on sparc64 at -O1 zsojka at seznam dot cz
  2023-05-12 10:10 ` [Bug target/108703] " ebotcazou at gcc dot gnu.org
@ 2023-05-12 10:33 ` ebotcazou at gcc dot gnu.org
  2023-05-18  8:50 ` ebotcazou at gcc dot gnu.org
  2023-05-31 21:54 ` vmakarov at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2023-05-12 10:33 UTC (permalink / raw)
  To: gcc-bugs

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

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |ebotcazou at gcc dot gnu.org
             Status|NEW                         |ASSIGNED
            Summary|ICE: in                     |insn does not satisfy its
                   |extract_constrain_insn, at  |constraints: movhi_insn at
                   |recog.cc:2692 (insn does    |-O1
                   |not satisfy its             |
                   |constraints: movhi_insn) on |
                   |sparc64 at -O1              |

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

* [Bug target/108703] insn does not satisfy its constraints: movhi_insn at -O1
  2023-02-07 19:25 [Bug target/108703] New: ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints: movhi_insn) on sparc64 at -O1 zsojka at seznam dot cz
  2023-05-12 10:10 ` [Bug target/108703] " ebotcazou at gcc dot gnu.org
  2023-05-12 10:33 ` [Bug target/108703] insn does not satisfy its constraints: movhi_insn " ebotcazou at gcc dot gnu.org
@ 2023-05-18  8:50 ` ebotcazou at gcc dot gnu.org
  2023-05-31 21:54 ` vmakarov at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2023-05-18  8:50 UTC (permalink / raw)
  To: gcc-bugs

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

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |NEW
           Assignee|ebotcazou at gcc dot gnu.org       |unassigned at gcc dot gnu.org

--- Comment #2 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Too pathological.

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

* [Bug target/108703] insn does not satisfy its constraints: movhi_insn at -O1
  2023-02-07 19:25 [Bug target/108703] New: ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints: movhi_insn) on sparc64 at -O1 zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2023-05-18  8:50 ` ebotcazou at gcc dot gnu.org
@ 2023-05-31 21:54 ` vmakarov at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: vmakarov at gcc dot gnu.org @ 2023-05-31 21:54 UTC (permalink / raw)
  To: gcc-bugs

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

Vladimir Makarov <vmakarov at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vmakarov at gcc dot gnu.org

--- Comment #3 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
Here is my analysis of the problem/

Before IRA we already have:

(insn 10 7 11 2 (set (reg:HI 33 %f1)
        (reg:HI 35 %f3)) "/home/vmakarov/testcase.c":8:3 114 {*movhi_insn}
     (expr_list:REG_EQUAL (const_int 13107 [0x3333])
        (nil)))

LRA considers the insn is correct and does not check constraints as it
is simple move and its cost is 2.  This is standard convention for ignoring
constraints since the very early versions of reload pass.  And as I remember,
it is described somewhere in GCC documentation.

I think we should avoid to generate such insn from the start because
ignoring the reload convention will result in many unexpected
consequences where LRA speed slowdown probably would be a minor negative
consequence.

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

end of thread, other threads:[~2023-05-31 21:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-07 19:25 [Bug target/108703] New: ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints: movhi_insn) on sparc64 at -O1 zsojka at seznam dot cz
2023-05-12 10:10 ` [Bug target/108703] " ebotcazou at gcc dot gnu.org
2023-05-12 10:33 ` [Bug target/108703] insn does not satisfy its constraints: movhi_insn " ebotcazou at gcc dot gnu.org
2023-05-18  8:50 ` ebotcazou at gcc dot gnu.org
2023-05-31 21:54 ` vmakarov 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).