From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 60D65385150E; Wed, 26 Oct 2022 08:47:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 60D65385150E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1666774028; bh=CnRxdszZirnuTkxMTmQ+bdSXWATJxyh7XpVS+kF7zF8=; h=From:To:Subject:Date:In-Reply-To:References:From; b=iTpzDVJsSN22SENr1se9WLkn//smHMrPLbcnUiNYH6mIfKD8cD6LFK7aAvOg5N+MC xxBwinkY0sBE6SasFtIXZ97OFaYaF9XLw4lm3wMU0JfDZMsNN+2G0L7NGisolrsw5m 9KwGcOO+0wX32qESjpNu/hHeoHDweOu7tqWvKuuY= From: "crazylht at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/107057] [10/11/12/13 Regression] ICE in extract_constrain_insn, at recog.cc:2692 Date: Wed, 26 Oct 2022 08:47:01 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: ice-on-valid-code, ra X-Bugzilla-Severity: normal X-Bugzilla-Who: crazylht at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 10.5 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=3D107057 --- Comment #8 from Hongtao.liu --- And it looks like the pattern is wrongly defined since from [1]. ----------cut begin------------ Matching constraints are used in these circumstances. More precisely, the t= wo operands that match must include one input-only operand and one output-only operand. Moreover, the digit must be a smaller number than the number of the operand that uses it in the constraint. ----------------cut end---------- (define_insn "vec_concatv2df" [(set (match_operand:V2DF 0 "register_operand" "=3Dx,x,v,x,v,x,x, v,x= ,x") (vec_concat:V2DF (match_operand:DF 1 "nonimmediate_operand" " 0,x,v,m,m,0,x,vm,0,0= ") (match_operand:DF 2 "nonimm_or_0_operand" " x,x,v,1,1,m,m, C,x,m")))] For alternatvie 1, the two operands are both input only. [1] https://gcc.gnu.org/onlinedocs/gccint/Simple-Constraints.html#Simple-Constr= aints=