From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id D34D73858C53; Mon, 15 Apr 2024 11:21:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D34D73858C53 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1713180108; bh=Nj6kf15g57If65nsqzE7zJJRNl3wilKby6gSeaDF1/4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=jt9D63axusS5BC/C2cVstaa8rStkHMx/1anVEUsOG1bEmqElYUf3U+erIrD7Ty5K7 MFcU/X4OwNvroslwNt1ZDfncRpSI+M/GPHuQXEfDeVbItnkuHxh+9bZi/z0ZuY/mp3 G6cYTLG9O7DEkbbhem9UIz8/f4j63z9XOae36uKU= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/114696] ICE: in extract_constrain_insn_cached, at recog.cc:2725 insn does not satisfy its constraints: {*anddi_1} with -mapxf -mx32 Date: Mon, 15 Apr 2024 11:21:47 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: hjl.tools at gmail dot com X-Bugzilla-Target-Milestone: 14.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D114696 --- Comment #4 from GCC Commits --- The master branch has been updated by H.J. Lu : https://gcc.gnu.org/g:a3281dd0f4b46c16ec1192ad411c0a96e6d086eb commit r14-9970-ga3281dd0f4b46c16ec1192ad411c0a96e6d086eb Author: H.J. Lu Date: Fri Apr 12 15:42:12 2024 -0700 x86: Allow TImode offsettable memory only with 8-bit constant The x86 instruction size limit is 15 bytes. If a NDD instruction has a segment prefix byte, a 4-byte opcode prefix, a MODRM byte, a SIB byte, a 4-byte displacement and a 4-byte immediate, adding an address size prefix will exceed the size limit. Change TImode ADD, AND, OR and XOR to allow offsettable memory only with 8-bit signed integer constant, which is encoded with a 1-byte immediate, if the address size prefix is used. gcc/ PR target/114696 * config/i386/i386.md (isa): Add apx_ndd_64. (enabled): Likewise. (*add3_doubleword): Change rjO to r,ro,jO with 8-bit signed integer constant and enable jO only for apx_ndd_64. (*add3_doubleword_cc_overflow_1): Likewise. (*and3_doubleword): Likewise. (*3_doubleword): Likewise. gcc/testsuite/ PR target/114696 * gcc.target/i386/apx-ndd-x32-2a.c: New test. * gcc.target/i386/apx-ndd-x32-2b.c: Likewise. * gcc.target/i386/apx-ndd-x32-2c.c: Likewise. * gcc.target/i386/apx-ndd-x32-2d.c: Likewise.=