From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 47DC63858C39; Thu, 9 Dec 2021 10:42:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 47DC63858C39 From: "asolokha at gmx dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/103623] New: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) Date: Thu, 09 Dec 2021 10:42:58 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: asolokha at gmx dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone cf_gcctarget Message-ID: 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 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Dec 2021 10:42:58 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103623 Bug ID: 103623 Summary: error: unable to generate reloads (ICE in curr_insn_transform, at lra-constraints.c:4132), or error: insn does not satisfy its constraints (ICE in extract_constrain_insn_cached, at recog.c:2682) 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-*-linux-gnu 1. gcc 12.0.0 20211205 snapshot (g:c9419faef0bfaf31e6a6f744baa064892e0d105c) ICEs when compiling the following testcase, extracted from gcc/testsuite/gcc.target/powerpc/pack02.c, w/ -mcpu=3D401 (which is inadequ= ate for this, of course): #define PACK __builtin_pack_longdouble #define UNPACK __builtin_unpack_longdouble #define LDOUBLE long double int main (void) { double high =3D __builtin_pow (2.0, 60); double low =3D 2.0; LDOUBLE a =3D ((LDOUBLE)high) + ((LDOUBLE)low); double x0 =3D UNPACK (a, 0); if (high !=3D x0) __builtin_abort (); return 0; } % powerpc-e300c3-linux-gnu-gcc-12.0.0 -mcpu=3D401 ofgmx8m0.c ofgmx8m0.c: In function 'main': ofgmx8m0.c:17:1: error: unable to generate reloads for: 17 | } | ^ (insn 23 22 24 2 (set (mem/c:DF (plus:SI (reg/f:SI 110 sfp) (const_int 40 [0x28])) [2 x0+0 S8 A64]) (unspec:DF [ (reg:TF 125) (const_int 0 [0]) ] UNSPEC_UNPACK_128BIT)) "ofgmx8m0.c":11:15 1061 {unpacktf_nodm} (expr_list:REG_DEAD (reg:TF 125) (nil))) during RTL pass: reload ofgmx8m0.c:17:1: internal compiler error: in curr_insn_transform, at lra-constraints.c:4132 0x6ac6f5 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/rtl-error.c:108 0x6824b9 curr_insn_transform =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/lra-constraints.c:4132 0xce2e8b lra_constraints(bool) =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/lra-constraints.c:5161 0xccc71d lra(_IO_FILE*) =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/lra.c:2336 0xc834e4 do_reload =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/ira.c:5932 0xc834e4 execute =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/ira.c:6118 2. Adding -O1 yields the following instead: % powerpc-e300c3-linux-gnu-gcc-12.0.0 -mcpu=3D401 -O1 ofgmx8m0.c ofgmx8m0.c: In function 'main': ofgmx8m0.c:17:1: error: insn does not satisfy its constraints: 17 | } | ^ (insn 6 5 7 2 (set (reg/v:DF 117 [ x0 ]) (unspec:DF [ (reg:TF 119) (const_int 0 [0]) ] UNSPEC_UNPACK_128BIT)) "ofgmx8m0.c":11:15 1061 {unpacktf_nodm} (expr_list:REG_DEAD (reg:TF 119) (expr_list:REG_EQUAL (unspec:DF [ (const_double:TF 1.152921504606846978e+18 [0x0.800000000000001p+61]) (const_int 0 [0]) ] UNSPEC_UNPACK_128BIT) (nil)))) during RTL pass: combine ofgmx8m0.c:17:1: internal compiler error: in extract_constrain_insn_cached,= at recog.c:2682 0x6ac6f5 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/rtl-error.c:108 0x6ac721 _fatal_insn_not_found(rtx_def const*, char const*, int, char const= *) =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/rtl-error.c:118 0x6aadd4 extract_constrain_insn_cached(rtx_insn*) =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/recog.c:2682 0x164f4bf get_attr_prefixed(rtx_insn*) =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/config/rs6000/rs6000.md:329 0x12292f1 rs6000_insn_cost =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/config/rs6000/rs6000.c:22450 0x12292f1 rs6000_insn_cost =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/config/rs6000/rs6000.c:22429 0x18116ee combine_instructions =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/combine.c:1200 0x18116ee rest_of_handle_combine =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/combine.c:14904 0x18116ee execute =20=20=20=20=20=20=20 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-12.0.0_p20211205/work/g= cc-12-20211205/gcc/combine.c:14949 Some target support=20 Apparently some target support check Apparently there's a missing check somewhere for target TFmode support.=