From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20958 invoked by alias); 23 Sep 2011 17:15:08 -0000 Received: (qmail 20768 invoked by uid 22791); 23 Sep 2011 17:15:01 -0000 X-SWARE-Spam-Status: No, hits=-1.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-iy0-f175.google.com (HELO mail-iy0-f175.google.com) (209.85.210.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 23 Sep 2011 17:14:46 +0000 Received: by iadx2 with SMTP id x2so4818146iad.20 for ; Fri, 23 Sep 2011 10:14:45 -0700 (PDT) MIME-Version: 1.0 Received: by 10.231.25.206 with SMTP id a14mr3493196ibc.15.1316798085471; Fri, 23 Sep 2011 10:14:45 -0700 (PDT) Received: by 10.231.79.135 with HTTP; Fri, 23 Sep 2011 10:14:45 -0700 (PDT) In-Reply-To: References: Date: Fri, 23 Sep 2011 19:58:00 -0000 Message-ID: Subject: Re: MIPS Fix PR18141 From: Dinar Temirbulatov To: rdsandiford@googlemail.com Cc: gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary=0015177412e2201f4704ad9ef24f Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-09/txt/msg01433.txt.bz2 --0015177412e2201f4704ad9ef24f Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 2022 Hi, I found typo in the patch instead of checking *set_after !=3D 0 it was set_after !=3D 0, here is corrected version of patch. I retested the patch without typo on mipsel-unknown-linux-gnu with no new regressions. thanks, Dinar. On Fri, Sep 23, 2011 at 3:11 PM, Dinar Temirbulatov wrote: > hi, Richard, > This version of patch showed no regressions on mipsel-unknown-linux-gnu. > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Thanks, Dinar. > > > On Wed, Sep 21, 2011 at 4:59 PM, Richard Sandiford > wrote: >> Dinar Temirbulatov writes: >>> @@ -14696,7 +14696,11 @@ mips_avoid_hazard (rtx after, rtx insn, >>> =A0 =A0 =A0 clobber hi and lo. =A0*/ >>> =A0 =A0if (*hilo_delay < 2 && reg_set_p (lo_reg, pattern)) >>> =A0 =A0 =A0nops =3D 2 - *hilo_delay; >>> - =A0else if (*delayed_reg !=3D 0 && reg_referenced_p (*delayed_reg, pa= ttern)) >>> + =A0else if ((*delayed_reg !=3D 0 && reg_referenced_p (*delayed_reg, p= attern)) >>> + =A0 =A0 =A0 =A0 && !((GET_MODE (*delayed_reg) =3D=3D DFmode && set_af= ter !=3D 0 >>> + =A0 =A0 =A0 =A0 =A0 =A0&& (set =3D single_set (insn)) !=3D NULL_RTX &= & GET_MODE (SET_DEST(set)) =3D=3D DFmode >>> + =A0 =A0 =A0 =A0 =A0 =A0&& XINT((XEXP (pattern, 1)), 1) =3D=3D UNSPEC_= LOAD_HIGH >>> + =A0 =A0 =A0 =A0 =A0 =A0&& XINT((XEXP (*set_after, 1)), 1) =3D=3D UNSP= EC_LOAD_LOW))) >> >> This isn't safe because the patterns might not be UNSPECs (so XINT (...) >> would be meaningless). =A0It's better to check the insn code instead. >> Something like: >> >> =A0else if (*delayed_reg !=3D 0 >> =A0 =A0 =A0 =A0 =A0 && reg_referenced_p (*delayed_reg, pattern) >> =A0 =A0 =A0 =A0 =A0 && !(recog_memoized (insn) =3D=3D CODE_FOR_load_high= df >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&& recog_memoized (*set_after) =3D=3D COD= E_FOR_load_lowdf)) >> >> (untested). =A0Note that *set_after should always be nonnull if >> *delayed_reg is. >> >> Looks good otherwise. >> >> Richard >> > --0015177412e2201f4704ad9ef24f Content-Type: text/x-patch; charset=US-ASCII; name="fix.patch" Content-Disposition: attachment; filename="fix.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gsxffrd62 Content-length: 4584 ZGlmZiAtcnVOcCBnY2MtMjAxMTA5MTItb3JpZy9nY2MvY29uZmlnL21pcHMv bWlwcy5jIGdjYy0yMDExMDkxMi1maXhlZC9nY2MvY29uZmlnL21pcHMvbWlw cy5jCi0tLSBnY2MtMjAxMTA5MTItb3JpZy9nY2MvY29uZmlnL21pcHMvbWlw cy5jCTIwMTEtMDktMTIgMTc6MjI6MjcuNTc2NDU3MTIxICswNDAwCisrKyBn Y2MtMjAxMTA5MTItZml4ZWQvZ2NjL2NvbmZpZy9taXBzL21pcHMuYwkyMDEx LTA5LTIzIDE4OjU5OjMzLjMyOTc3MTk5MiArMDQwMApAQCAtMTQ2NTksMjAg KzE0NjU5LDIwIEBAIG1pcHNfb3JwaGFuZWRfaGlnaF9wYXJ0X3AgKGh0YWJf dCBodGFiLAogICAgSU5TTiBhbmQgYSBwcmV2aW91cyBpbnN0cnVjdGlvbiwg YXZvaWQgaXQgYnkgaW5zZXJ0aW5nIG5vcHMgYWZ0ZXIKICAgIGluc3RydWN0 aW9uIEFGVEVSLgogCi0gICAqREVMQVlFRF9SRUcgYW5kICpISUxPX0RFTEFZ IGRlc2NyaWJlIHRoZSBoYXphcmRzIHRoYXQgYXBwbHkgYXQKLSAgIHRoaXMg cG9pbnQuICBJZiAqREVMQVlFRF9SRUcgaXMgbm9uLW51bGwsIElOU04gbXVz dCB3YWl0IGEgY3ljbGUKLSAgIGJlZm9yZSB1c2luZyB0aGUgdmFsdWUgb2Yg dGhhdCByZWdpc3Rlci4gICpISUxPX0RFTEFZIGNvdW50cyB0aGUKLSAgIG51 bWJlciBvZiBpbnN0cnVjdGlvbnMgc2luY2UgdGhlIGxhc3QgaGlsbyBoYXph cmQgKHRoYXQgaXMsCi0gICB0aGUgbnVtYmVyIG9mIGluc3RydWN0aW9ucyBz aW5jZSB0aGUgbGFzdCBNRkxPIG9yIE1GSEkpLgorICAgKkRFTEFZRURfUkVH LCAqU0VUX0FGVEVSIGFuZCAqSElMT19ERUxBWSBkZXNjcmliZSB0aGUgaGF6 YXJkcyB0aGF0IAorICAgYXBwbHkgYXQgdGhpcyBwb2ludC4gIElmICpERUxB WUVEX1JFRyBhbmQgKlNFVF9BRlRFUiBpcyBub24tbnVsbCwgCisgICBJTlNO IG11c3Qgd2FpdCBhIGN5Y2xlIGJlZm9yZSB1c2luZyB0aGUgdmFsdWUgb2Yg dGhhdCByZWdpc3Rlci4gIAorICAgKkhJTE9fREVMQVkgY291bnRzIHRoZSBu dW1iZXIgb2YgaW5zdHJ1Y3Rpb25zIHNpbmNlIHRoZSBsYXN0IGhpbG8gaGF6 YXJkIAorICAgKHRoYXQgaXMsIHRoZSBudW1iZXIgb2YgaW5zdHJ1Y3Rpb25z IHNpbmNlIHRoZSBsYXN0IE1GTE8gb3IgTUZISSkuCiAKLSAgIEFmdGVyIGlu c2VydGluZyBub3BzIGZvciBJTlNOLCB1cGRhdGUgKkRFTEFZRURfUkVHIGFu ZCAqSElMT19ERUxBWQotICAgZm9yIHRoZSBuZXh0IGluc3RydWN0aW9uLgor ICAgQWZ0ZXIgaW5zZXJ0aW5nIG5vcHMgZm9yIElOU04sIHVwZGF0ZSAqREVM QVlFRF9SRUcsICpTRVRfQUZURVIKKyAgIGFuZCAqSElMT19ERUxBWSBmb3Ig dGhlIG5leHQgaW5zdHJ1Y3Rpb24uCiAKICAgIExPX1JFRyBpcyBhbiBydHgg Zm9yIHRoZSBMTyByZWdpc3RlciwgdXNlZCBpbiBkZXBlbmRlbmNlIGNoZWNr aW5nLiAgKi8KIAogc3RhdGljIHZvaWQKIG1pcHNfYXZvaWRfaGF6YXJkIChy dHggYWZ0ZXIsIHJ0eCBpbnNuLCBpbnQgKmhpbG9fZGVsYXksCi0JCSAgIHJ0 eCAqZGVsYXllZF9yZWcsIHJ0eCBsb19yZWcpCisJCSAgIHJ0eCAqZGVsYXll ZF9yZWcsIHJ0eCBsb19yZWcsIHJ0eCAqc2V0X2FmdGVyKQogewogICBydHgg cGF0dGVybiwgc2V0OwogICBpbnQgbm9wcywgbmluc25zOwpAQCAtMTQ2OTYs NyArMTQ2OTYsOSBAQCBtaXBzX2F2b2lkX2hhemFyZCAocnR4IGFmdGVyLCBy dHggaW5zbiwKICAgICAgY2xvYmJlciBoaSBhbmQgbG8uICAqLwogICBpZiAo KmhpbG9fZGVsYXkgPCAyICYmIHJlZ19zZXRfcCAobG9fcmVnLCBwYXR0ZXJu KSkKICAgICBub3BzID0gMiAtICpoaWxvX2RlbGF5OwotICBlbHNlIGlmICgq ZGVsYXllZF9yZWcgIT0gMCAmJiByZWdfcmVmZXJlbmNlZF9wICgqZGVsYXll ZF9yZWcsIHBhdHRlcm4pKQorICBlbHNlIGlmICgoKmRlbGF5ZWRfcmVnICE9 IDAgJiYgKnNldF9hZnRlciAhPSAwICYmIHJlZ19yZWZlcmVuY2VkX3AgKCpk ZWxheWVkX3JlZywgcGF0dGVybikpCisJICAgICYmICEocmVjb2dfbWVtb2l6 ZWQgKGluc24pID09IENPREVfRk9SX2xvYWRfaGlnaGRmCisJICAgICYmIHJl Y29nX21lbW9pemVkICgqc2V0X2FmdGVyKSA9PSBDT0RFX0ZPUl9sb2FkX2xv d2RmKSkKICAgICBub3BzID0gMTsKICAgZWxzZQogICAgIG5vcHMgPSAwOwpA QCAtMTQ3MTAsNiArMTQ3MTIsNyBAQCBtaXBzX2F2b2lkX2hhemFyZCAocnR4 IGFmdGVyLCBydHggaW5zbiwKICAgLyogU2V0IHVwIHRoZSBzdGF0ZSBmb3Ig dGhlIG5leHQgaW5zdHJ1Y3Rpb24uICAqLwogICAqaGlsb19kZWxheSArPSBu aW5zbnM7CiAgICpkZWxheWVkX3JlZyA9IDA7CisgICpzZXRfYWZ0ZXIgPSAw OwogICBpZiAoSU5TTl9DT0RFIChpbnNuKSA+PSAwKQogICAgIHN3aXRjaCAo Z2V0X2F0dHJfaGF6YXJkIChpbnNuKSkKICAgICAgIHsKQEAgLTE0NzI0LDYg KzE0NzI3LDcgQEAgbWlwc19hdm9pZF9oYXphcmQgKHJ0eCBhZnRlciwgcnR4 IGluc24sCiAJc2V0ID0gc2luZ2xlX3NldCAoaW5zbik7CiAJZ2NjX2Fzc2Vy dCAoc2V0KTsKIAkqZGVsYXllZF9yZWcgPSBTRVRfREVTVCAoc2V0KTsKKwkq c2V0X2FmdGVyID0gaW5zbjsKIAlicmVhazsKICAgICAgIH0KIH0KQEAgLTE0 NzM2LDcgKzE0NzQwLDcgQEAgbWlwc19hdm9pZF9oYXphcmQgKHJ0eCBhZnRl ciwgcnR4IGluc24sCiBzdGF0aWMgdm9pZAogbWlwc19yZW9yZ19wcm9jZXNz X2luc25zICh2b2lkKQogewotICBydHggaW5zbiwgbGFzdF9pbnNuLCBzdWJp bnNuLCBuZXh0X2luc24sIGxvX3JlZywgZGVsYXllZF9yZWc7CisgIHJ0eCBp bnNuLCBsYXN0X2luc24sIHN1Ymluc24sIG5leHRfaW5zbiwgbG9fcmVnLCBk ZWxheWVkX3JlZywgc2V0X2FmdGVyOwogICBpbnQgaGlsb19kZWxheTsKICAg aHRhYl90IGh0YWI7CiAKQEAgLTE0ODExLDcgKzE0ODE1LDcgQEAgbWlwc19y ZW9yZ19wcm9jZXNzX2luc25zICh2b2lkKQogCQkJSU5TTl9DT0RFIChzdWJp bnNuKSA9IENPREVfRk9SX25vcDsKIAkJICAgICAgfQogCQkgICAgbWlwc19h dm9pZF9oYXphcmQgKGxhc3RfaW5zbiwgc3ViaW5zbiwgJmhpbG9fZGVsYXks Ci0JCQkJICAgICAgICZkZWxheWVkX3JlZywgbG9fcmVnKTsKKwkJCQkgICAg ICAgJmRlbGF5ZWRfcmVnLCBsb19yZWcsICZzZXRfYWZ0ZXIpOwogCQkgIH0K IAkgICAgICBsYXN0X2luc24gPSBpbnNuOwogCSAgICB9CkBAIC0xNDgzMiw3 ICsxNDgzNiw3IEBAIG1pcHNfcmVvcmdfcHJvY2Vzc19pbnNucyAodm9pZCkK IAkgICAgICBlbHNlCiAJCXsKIAkJICBtaXBzX2F2b2lkX2hhemFyZCAobGFz dF9pbnNuLCBpbnNuLCAmaGlsb19kZWxheSwKLQkJCQkgICAgICZkZWxheWVk X3JlZywgbG9fcmVnKTsKKwkJCQkgICAgICZkZWxheWVkX3JlZywgbG9fcmVn LCAmc2V0X2FmdGVyKTsKIAkJICBsYXN0X2luc24gPSBpbnNuOwogCQl9CiAJ ICAgIH0K --0015177412e2201f4704ad9ef24f Content-Type: application/octet-stream; name=ChangeLog Content-Disposition: attachment; filename=ChangeLog Content-Transfer-Encoding: base64 X-Attachment-Id: f_gsxfgrzg3 Content-length: 310 ICAgICAgICBQUiB0YXJnZXQvMTgxNDEKCSogZ2NjL2NvbmZpZy9taXBzL21p cHMuYyAobWlwc19hdm9pZF9oYXphcmQpIEFkZCBzZXRfYWZ0ZXIgcGFyYW1l dGVyLgoJRG9uJ3QgaW5zZXJ0IG5vcCBiZXR3ZWVuIENPREVfRk9SX2xvYWRf bG93ZGYgQ09ERV9GT1JfbG9hZF9oaWdoZGYuCgkobWlwc19yZW9yZ19wcm9j ZXNzX2luc25zKSBBZGQgYW5kIGhhbmRsZSBzZXRfYWZ0ZXIgcGFyYW1ldGVy Lgo= --0015177412e2201f4704ad9ef24f--