public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/108044] New: [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O
@ 2022-12-10 4:02 zsojka at seznam dot cz
2022-12-10 8:08 ` [Bug target/108044] " jakub at gcc dot gnu.org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: zsojka at seznam dot cz @ 2022-12-10 4:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108044
Bug ID: 108044
Summary: [13 Regression] ICE: in extract_constrain_insn, at
recog.cc:2692 (insn does not satisfy its constraints)
at -O
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: x86_64-pc-linux-gnu
Created attachment 54059
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54059&action=edit
reduced testcase
Compiler output:
$ x86_64-pc-linux-gnu-gcc -O testcase.c
testcase.c: In function 'foo':
testcase.c:9:1: error: insn does not satisfy its constraints:
9 | }
| ^
(insn 20 19 18 2 (set (mem/c:DI (plus:DI (reg/f:DI 7 sp)
(const_int -16 [0xfffffffffffffff0])) [2 %sfp+-8 S8 A64])
(const_int -9223372036854775808 [0x8000000000000000]))
"testcase.c":8:49 82 {*movdi_internal}
(nil))
during RTL pass: cprop_hardreg
testcase.c:9:1: internal compiler error: in extract_constrain_insn, at
recog.cc:2692
0x77a82b _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/repo/gcc-trunk/gcc/rtl-error.cc:108
0x77a8b1 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
/repo/gcc-trunk/gcc/rtl-error.cc:118
0x769601 extract_constrain_insn(rtx_insn*)
/repo/gcc-trunk/gcc/recog.cc:2692
0x12ff6b3 copyprop_hardreg_forward_1
/repo/gcc-trunk/gcc/regcprop.cc:826
0x1300b9f execute
/repo/gcc-trunk/gcc/regcprop.cc:1408
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.
$ x86_64-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r13-4583-20221209191939-g71b31d13757-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/13.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--disable-bootstrap --with-cloog --with-ppl --with-isl
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=x86_64-pc-linux-gnu --with-ld=/usr/bin/x86_64-pc-linux-gnu-ld
--with-as=/usr/bin/x86_64-pc-linux-gnu-as --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r13-4583-20221209191939-g71b31d13757-checking-yes-rtl-df-extra-nobootstrap-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.0.0 20221209 (experimental) (GCC)
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/108044] [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O
2022-12-10 4:02 [Bug target/108044] New: [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O zsojka at seznam dot cz
@ 2022-12-10 8:08 ` jakub at gcc dot gnu.org
2022-12-12 9:48 ` jakub at gcc dot gnu.org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-10 8:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108044
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
Target Milestone|--- |13.0
Ever confirmed|0 |1
Last reconfirmed| |2022-12-10
Status|UNCONFIRMED |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
Priority|P3 |P1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/108044] [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O
2022-12-10 4:02 [Bug target/108044] New: [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O zsojka at seznam dot cz
2022-12-10 8:08 ` [Bug target/108044] " jakub at gcc dot gnu.org
@ 2022-12-12 9:48 ` jakub at gcc dot gnu.org
2022-12-12 13:20 ` marxin at gcc dot gnu.org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-12 9:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108044
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 54068
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54068&action=edit
gcc13-pr108044.patch
Untested fix.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/108044] [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O
2022-12-10 4:02 [Bug target/108044] New: [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O zsojka at seznam dot cz
2022-12-10 8:08 ` [Bug target/108044] " jakub at gcc dot gnu.org
2022-12-12 9:48 ` jakub at gcc dot gnu.org
@ 2022-12-12 13:20 ` marxin at gcc dot gnu.org
2022-12-13 21:17 ` cvs-commit at gcc dot gnu.org
2022-12-13 21:18 ` jakub at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-12-12 13:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108044
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |marxin at gcc dot gnu.org
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Btw. started with r13-4558-g1dc49df4eeaec311.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/108044] [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O
2022-12-10 4:02 [Bug target/108044] New: [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O zsojka at seznam dot cz
` (2 preceding siblings ...)
2022-12-12 13:20 ` marxin at gcc dot gnu.org
@ 2022-12-13 21:17 ` cvs-commit at gcc dot gnu.org
2022-12-13 21:18 ` jakub at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-12-13 21:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108044
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:37c2d99f3f569350ebc0de43c10374b90086b832
commit r13-4683-g37c2d99f3f569350ebc0de43c10374b90086b832
Author: Jakub Jelinek <jakub@redhat.com>
Date: Tue Dec 13 22:16:34 2022 +0100
i386: Fix up *concat*_{5,6,7} patterns [PR108044]
The following patch fixes 2 issues with the *concat<half><mode>3_5 and
*concat<mode><dwi>3_{6,7} patterns.
One is that if the destination is memory rather than register, then
we can't use movabsq and so can't support all the possible immediates.
I see 3 possibilities to fix that. One would be to use
x86_64_hilo_int_operand predicate instead of const_scalar_int_operand
and thus not match it at all during combine in such cases, but that
unnecessarily pessimizes also the case when it is loaded into register
where we can use movabsq.
Another one is what is implemented in the patch, use Wd constraint
for the integer on 64-bit if destination is memory and n otherwise.
Yet another option would be to add match_scratch to the pattern and use
it with =X constraints except for the =o case for 64-bit non-Wd where it
would give a single DImode register (rather than 2).
Another thing is that if one half of the constant is
ix86_endbr_immediate_operand, then for -fcf-protection=branch we
force those constants into memory and that might not work properly
with -fpic. So we should refuse to match with such constants.
OT, seems for movabsq we don't check that and happily allow the endbr
pattern in the immediate.
2022-12-13 Jakub Jelinek <jakub@redhat.com>
PR target/108044
* config/i386/i386.md (*concat<half><mode>3_5,
*concat<mode><dwi>3_6,
*concat<mode><dwi>3_7): Split alternative with =ro output
constraint
into =r,o,o and use Wd input constraint for the last alternative
which
is enabled for TARGET_64BIT. Reject ix86_endbr_immediate_operand
in the input constant.
* gcc.target/i386/pr108044-1.c: New test.
* gcc.target/i386/pr108044-2.c: New test.
* gcc.target/i386/pr108044-3.c: New test.
* gcc.target/i386/pr108044-4.c: New test.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/108044] [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O
2022-12-10 4:02 [Bug target/108044] New: [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O zsojka at seznam dot cz
` (3 preceding siblings ...)
2022-12-13 21:17 ` cvs-commit at gcc dot gnu.org
@ 2022-12-13 21:18 ` jakub at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-12-13 21:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108044
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-12-13 21:18 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-10 4:02 [Bug target/108044] New: [13 Regression] ICE: in extract_constrain_insn, at recog.cc:2692 (insn does not satisfy its constraints) at -O zsojka at seznam dot cz
2022-12-10 8:08 ` [Bug target/108044] " jakub at gcc dot gnu.org
2022-12-12 9:48 ` jakub at gcc dot gnu.org
2022-12-12 13:20 ` marxin at gcc dot gnu.org
2022-12-13 21:17 ` cvs-commit at gcc dot gnu.org
2022-12-13 21:18 ` jakub 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).