From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id E1D14393C863; Wed, 10 Apr 2024 18:34:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E1D14393C863 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1712774070; bh=yxKTkfo3fSOwi1nyfj4xaegaFZQeJRM35AaOizvmmzo=; h=From:To:Subject:Date:In-Reply-To:References:From; b=x9SpWUtVLOxd8zc1XwrpoGL9NSFOeaugv16JEGUnVnkbMPwPWslIwh3F0VfecAB/z QS+wbk2UdrIyQuZuefgH+5HsKfBc0+aSe1pIv/9wxPRwxlIbyP0KmD7B53EP1rGws6 yhLuX2ZCm04zRMiVqI0cWwUQ5UaP7yiO+A3hiWsw= From: "ubizjak at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/112560] [14 Regression] ICE in try_combine on pr112494.c Date: Wed, 10 Apr 2024 18:34:29 +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: 14.0 X-Bugzilla-Keywords: ice-checking, ice-on-valid-code, patch X-Bugzilla-Severity: normal X-Bugzilla-Who: ubizjak at gmail dot com X-Bugzilla-Status: RESOLVED X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: ubizjak 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=3D112560 --- Comment #11 from Uro=C5=A1 Bizjak --- (In reply to Segher Boessenkool from comment #10) > It is still wrong. You're trying to sweep tour wrong assumptions under t= he > rug, > but they will only rear up elsewhere. Just fix the actual *target* probl= em! I can't see what could be wrong with: (define_insn "@pushfl2" [(set (match_operand:W 0 "push_operand" "=3D<") (unspec:W [(match_operand 1 "flags_reg_operand")] UNSPEC_PUSHFL))] "GET_MODE_CLASS (GET_MODE (operands[1])) =3D=3D MODE_CC" "pushf{}" [(set_attr "type" "push") (set_attr "mode" "")]) it is just a push of the flags reg to the stack. If the push can't be described in this way, then it is the middle end at fault, we can't just change modes at will.=