From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) by sourceware.org (Postfix) with ESMTPS id 81AF7388451A for ; Wed, 29 Nov 2023 13:20:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 81AF7388451A Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 81AF7388451A Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::52f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701264018; cv=none; b=HWb3iLukn/ARIexzODDo6aqvFB0/nAba1zgPM1IltkfxfuW7cKWQyrt65STa25dso6gfa7J/LSYBuN8f55SGIbYb0GkR1U6RyBN34zbHsFlRvPtbFypjkT7iKdxWmgkvYcrViCDn722gGbUhan1a4vEmpSEGVPBiBJe2Vyi6V8Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701264018; c=relaxed/simple; bh=k3D7gCNx36PBAmYZpihIyfQSbKT7KVPkohVEXN4bROg=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=YrJDRCyg+R6ds5mhI3juO5E/tOkbs/APMMH6e1xCunlBKlbRyv0mxUK/t0KizOs+/Nb/bsZUwRpoWj/NkwKc+Jdw2uNKSTN7rTbk1coj2WvzCIRXFfEH7gYswCznamvnxsRl61KuoZLfgL6CXCbyACFOCkuq1gxcKX0M0OEAZXc= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-54b7ef7f4d5so4133716a12.1 for ; Wed, 29 Nov 2023 05:20:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701264015; x=1701868815; darn=gcc.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4u3DcLIdmZW9v6ZmnDXoWnZgFpN8ZN/wM+O5FalwjHw=; b=k2iy5Yat+Ao+NdvHLXAeKs1iKd7brLWDhKukvU6FbBuiTWMtFhbmIi2KbJMpGm0gSP kQ3Se7a8ErGQcG2V/GCGfdKt/Lh0888ul24mmITRFkoOPmTxImDhDANhx1Shw8GcGGjw X5j/GwIcH1UVU0ONhUoJ4zgVve7TYYW3H+qxOf4GB7RLv0TVzW+NZFvv5DgZncH98uhZ q4jHXlSRMFYFBOZXbZcM0pkdMMkqawAHojPC2ejA6gM4Tkj8h2xv966cIN1GeUsHK5vd J4DciuhOaOlGl4g2vqWpZCZgNFvueOMrIFGKA8GulsJveALvjgIrL0g6aewiJNseUd1+ XZ8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701264015; x=1701868815; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4u3DcLIdmZW9v6ZmnDXoWnZgFpN8ZN/wM+O5FalwjHw=; b=q9zut5GEBOEYVl6wJSXvENR4aI59CBDjbg5B+U2JNlIBFHkqgQvszjpnHBLgiMwFDN VbKsc9O8Qocr7Vh6G6l05aw413Y000bwYVZ8g+Yu2ug00A7cu7XVT4jYHBJMSiZ63qyZ hv10fGgq/JgauopeqqJt22UQnWn3M0+f8veCR6KfjuqDoszfoEUoBEcl+uSterwO2rEC /xPrciUoSSY14tLPTo8w3TsF1OX1uLL6YOgCI5X8b88ExKqcROTFmaZSJzC6CLyur3zr x2iZrZqewb9S9p76u1R4OgmNTQj3RvvL4Nznn2+hE6Jz8UaRkLp/rTYCPdVMZaSJMfVA n9cw== X-Gm-Message-State: AOJu0YyMjOF5M8EZ5k235Rj/QBuTHduKZ37R0Xpn3AM4XE3bI7+NeHef KcaX9jT6YdGRt/f69evzrwjxe4E8UqgM+zvfPTfqlJfXLfo= X-Google-Smtp-Source: AGHT+IFoLiP97zklzm4PbWz0lKeA29lWIh5UHDsqnxm6NfW4/pS4qC5YKVfb1WguLSpiq42qAfYIbA8RFnVaqj0XvTo= X-Received: by 2002:a50:8a85:0:b0:54b:bb7a:d6fb with SMTP id j5-20020a508a85000000b0054bbb7ad6fbmr2944050edj.16.1701264014888; Wed, 29 Nov 2023 05:20:14 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Uros Bizjak Date: Wed, 29 Nov 2023 14:20:03 +0100 Message-ID: Subject: Re: [PATCH] combine: Fix ICE in try_combine on pr112494.c [PR112560] To: Richard Biener Cc: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="00000000000046fa32060b4a6589" X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,WEIRD_PORT autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --00000000000046fa32060b4a6589 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Nov 29, 2023 at 1:25=E2=80=AFPM Richard Biener wrote: > > On Wed, Nov 29, 2023 at 10:35=E2=80=AFAM Uros Bizjak = wrote: > > > > The compiler, configured with --enable-checking=3Dyes,rtl,extra ICEs wi= th: > > > > internal compiler error: RTL check: expected elt 0 type 'e' or 'u', > > have 'E' (rtx unspec) in try_combine, at combine.cc:3237 > > > > This is > > > > 3236 /* Just replace the CC reg with a new mode. */ > > 3237 SUBST (XEXP (*cc_use_loc, 0), newpat_dest); > > 3238 undobuf.other_insn =3D cc_use_insn; > > > > in combine.cc, where *cc_use_loc is > > > > (unspec:DI [ > > (reg:CC 17 flags) > > ] UNSPEC_PUSHFL) > > > > combine assumes CC must be used inside of a comparison and uses XEXP (.= .., 0) > > without checking on the RTX type of the argument. > > > > Skip the modification of CC-using operation if *cc_use_loc is not COMPA= RISON_P. > > > > PR middle-end/112560 > > > > gcc/ChangeLog: > > > > * combine.cc (try_combine): Skip the modification of CC-using > > operation if *cc_use_loc is not COMPARISON_P. > > > > Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. > > > > OK for master? > > Don't we need to stop the attempt to combine when we cannot handle a use? > Simply not adjusting another use doesn't look correct, does it? I was assuming that if the CC reg is not used inside the comparison, then the mode of CC reg is irrelevant. We can still combine the instructions into new insn, without updating the use of CC reg. In this particular case, the combined insn is rejected, but UNSPEC_PUSHFL does not care about the mode of the CC reg and would handle combined insn just fine. Alternatively, the attached patch skips the combination altogether. Thanks, Uros. --00000000000046fa32060b4a6589 Content-Type: text/plain; charset="US-ASCII"; name="p-2.diff.txt" Content-Disposition: attachment; filename="p-2.diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lpjsle0b0 ZGlmZiAtLWdpdCBhL2djYy9jb21iaW5lLmNjIGIvZ2NjL2NvbWJpbmUuY2MKaW5kZXggNjM0NGNk M2M5ZjIuLmU1MzM2MzFkMGU2IDEwMDY0NAotLS0gYS9nY2MvY29tYmluZS5jYworKysgYi9nY2Mv Y29tYmluZS5jYwpAQCAtMzE4NCwxMSArMzE4NCwyMSBAQCB0cnlfY29tYmluZSAocnR4X2luc24g KmkzLCBydHhfaW5zbiAqaTIsIHJ0eF9pbnNuICppMSwgcnR4X2luc24gKmkwLAogCSAgJiYgKGNj X3VzZV9sb2MgPSBmaW5kX3NpbmdsZV91c2UgKFNFVF9ERVNUIChuZXdwYXQpLCBpMywKIAkJCQkJ ICAgICZjY191c2VfaW5zbikpKQogCXsKLQkgIGNvbXBhcmVfY29kZSA9IG9yaWdfY29tcGFyZV9j b2RlID0gR0VUX0NPREUgKCpjY191c2VfbG9jKTsKLQkgIGlmIChpc19hIDxzY2FsYXJfaW50X21v ZGU+IChHRVRfTU9ERSAoaTJkZXN0KSwgJm1vZGUpKQotCSAgICBjb21wYXJlX2NvZGUgPSBzaW1w bGlmeV9jb21wYXJlX2NvbnN0IChjb21wYXJlX2NvZGUsIG1vZGUsCi0JCQkJCQkgICAmb3AwLCAm b3AxKTsKLQkgIHRhcmdldF9jYW5vbmljYWxpemVfY29tcGFyaXNvbiAoJmNvbXBhcmVfY29kZSwg Jm9wMCwgJm9wMSwgMSk7CisJICBpZiAoQ09NUEFSSVNPTl9QICgqY2NfdXNlX2xvYykpCisJICAg IHsKKwkgICAgICBjb21wYXJlX2NvZGUgPSBvcmlnX2NvbXBhcmVfY29kZSA9IEdFVF9DT0RFICgq Y2NfdXNlX2xvYyk7CisJICAgICAgaWYgKGlzX2EgPHNjYWxhcl9pbnRfbW9kZT4gKEdFVF9NT0RF IChpMmRlc3QpLCAmbW9kZSkpCisJCWNvbXBhcmVfY29kZSA9IHNpbXBsaWZ5X2NvbXBhcmVfY29u c3QgKGNvbXBhcmVfY29kZSwgbW9kZSwKKwkJCQkJCSAgICAgICAmb3AwLCAmb3AxKTsKKwkgICAg ICB0YXJnZXRfY2Fub25pY2FsaXplX2NvbXBhcmlzb24gKCZjb21wYXJlX2NvZGUsICZvcDAsICZv cDEsIDEpOworCSAgICB9CisJICBlbHNlCisJICAgIHsKKwkgICAgICBpZiAoZHVtcF9maWxlICYm IChkdW1wX2ZsYWdzICYgVERGX0RFVEFJTFMpKQorCQlmcHJpbnRmIChkdW1wX2ZpbGUsICJDQyBy ZWdpc3RlciBub3QgdXNlZCBpbiBjb21wYXJpc29uLlxuIik7CisJICAgICAgdW5kb19hbGwgKCk7 CisJICAgICAgcmV0dXJuIDA7CisJICAgIH0KIAl9CiAKICAgICAgIC8qIERvIHRoZSByZXN0IG9u bHkgaWYgb3AxIGlzIGNvbnN0MF9ydHgsIHdoaWNoIG1heSBiZSB0aGUK --00000000000046fa32060b4a6589--