From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 92063 invoked by alias); 3 Mar 2017 21:25:05 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 92005 invoked by uid 89); 3 Mar 2017 21:25:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.5 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy=1473, 509, products X-HELO: mail-wr0-f182.google.com Received: from mail-wr0-f182.google.com (HELO mail-wr0-f182.google.com) (209.85.128.182) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 03 Mar 2017 21:25:02 +0000 Received: by mail-wr0-f182.google.com with SMTP id l37so81876915wrc.1 for ; Fri, 03 Mar 2017 13:25:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=to0cw7C6pyP2T/8p2NhNbjmV7F+hPYKoG/INnJ+OS7U=; b=bHTDKTEkGyvfLWet1eeyI0TQmtgG1t7hSIBmhgDvZ1txh9bn08HISR0QsvonM5Q0F6 UwxxsY5pHIS5LnCoyWSVvmG0Yq9gUSdlyaT52mhNCco6P7GeA4ZgvWfa2vZ8k4RNh5TJ zG4PWQrXYPD9r+wtledbDo6uod4Jip/uY/+o2iOaRsEqlUAxN/cO5l+5+fui/reD6f4o wh2XNNI2AoW2JELY0SYeUR1ELozIbna2KdtBnD86zL6yh2XuLsMLULQavdtfegzCs1UT nmhW1HqNSf6oPNUCbf92MDm1WaE7FT0HJCTAOeuC4iquRi78MuSC5hJPtuT/q6kri2M0 KB2A== X-Gm-Message-State: AMke39kmr/XqIcTwtDflPiOWK2qzYx0ePep4yCec4RRw04T2uvhmTc/XhxS2ug5uqAU59b1s681zvetoukbUuz4G X-Received: by 10.223.135.237 with SMTP id c42mr4316961wrc.139.1488576301133; Fri, 03 Mar 2017 13:25:01 -0800 (PST) MIME-Version: 1.0 Received: by 10.223.145.68 with HTTP; Fri, 3 Mar 2017 13:25:00 -0800 (PST) From: Jim Wilson Date: Fri, 03 Mar 2017 21:25:00 -0000 Message-ID: Subject: [PATCH] aarch64 sim umulh/smulh fixes To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=001a11491d7ea6b33d0549da2de0 X-SW-Source: 2017-03/txt/msg00028.txt.bz2 --001a11491d7ea6b33d0549da2de0 Content-Type: text/plain; charset=UTF-8 Content-length: 801 Umulh gets the wrong result when the middle cross products generate a carry out, as it is being added in the wrong place. This is fixed by shifting it left by 32. Smulh gets the wrong result if the low part multiply isn't zero. In this case, we want to invert instead of negating. It also fails if the high part ends up 0 and the low part isn't, since multiply by -1 doesn't do anything in that case. Fixed by using the ~ operator instead, and then adding in carry if the low part is 0. The new testcase works with the patch, and fails without. The patch reduces gcc C testsuite unexpected failures from 1473 to 1440 (-33). This also fixes bugs in last weeks sumov.s testcase. Somehow I accidentally committed the unfinished version of it. The corrected version after this patch works. Jim --001a11491d7ea6b33d0549da2de0 Content-Type: text/x-patch; charset=US-ASCII; name="aarch64-sim-mulh.patch" Content-Disposition: attachment; filename="aarch64-sim-mulh.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_izubt4100 Content-length: 4994 MjAxNy0wMy0wMyAgSmltIFdpbHNvbiAgPGppbS53aWxzb25AbGluYXJvLm9y Zz4KCglzaW0vYWFyY2g2NC8KCSogc2ltdWxhdG9yLmMgKG11bDY0aGkpOiBT aGlmdCBjYXJyeSBsZWZ0IGJ5IDMyLgoJKHNtdWxoKTogQ2hhbmdlIHNpZ251 bSB0byBuZWdhdGUuICBJZiBuZWdhdGUsIGludmVydCByZXN1bHQsIGFuZCBh ZGQKCWNhcnJ5IGJpdCBpZiBsb3cgcGFydCBvZiBtdWx0aXBseSByZXN1bHQg aXMgemVyby4KCglzaW0vdGVzdHN1aXRlL3NpbS9hYXJjaDY0LwoJKiBzdW1v di5zOiBDb3JyZWN0IGNvbXBhcmUgdGVzdCB2YWx1ZXMuCgkqIHN1bXVsaC5z OiBOZXcuCgpkaWZmIC0tZ2l0IGEvc2ltL2FhcmNoNjQvc2ltdWxhdG9yLmMg Yi9zaW0vYWFyY2g2NC9zaW11bGF0b3IuYwppbmRleCAxNzU2YmExLi44YThk ZjdhIDEwMDY0NAotLS0gYS9zaW0vYWFyY2g2NC9zaW11bGF0b3IuYworKysg Yi9zaW0vYWFyY2g2NC9zaW11bGF0b3IuYwpAQCAtMTMwMjAsNiArMTMwMjAs OCBAQCBtdWw2NGhpICh1aW50NjRfdCB2YWx1ZTEsIHVpbnQ2NF90IHZhbHVl MikKIAogICAvKiBEcm9wIGxvd2VzdCAzMiBiaXRzIG9mIG1pZGRsZSBjcm9z cy1wcm9kdWN0LiAgKi8KICAgcmVzdWx0ID0gcmVzdWx0bWlkMSA+PiAzMjsK KyAgLyogTW92ZSBjYXJyeSBiaXQgdG8ganVzdCBhYm92ZSBtaWRkbGUgY3Jv c3MtcHJvZHVjdCBoaWdoZXN0IGJpdC4gICovCisgIGNhcnJ5ID0gY2Fycnkg PDwgMzI7CiAKICAgLyogQWRkIHRvcCBjcm9zcy1wcm9kdWN0IHBsdXMgYW5k IGFueSBjYXJyeS4gICovCiAgIHJlc3VsdCArPSB4cHJvZHVjdGhpICsgY2Fy cnk7CkBAIC0xMzA0Miw3ICsxMzA0NCw3IEBAIHNtdWxoIChzaW1fY3B1ICpj cHUpCiAgIGludDY0X3QgIHZhbHVlMiA9IGFhcmNoNjRfZ2V0X3JlZ191NjQg KGNwdSwgcm0sIE5PX1NQKTsKICAgdWludDY0X3QgdXZhbHVlMTsKICAgdWlu dDY0X3QgdXZhbHVlMjsKLSAgaW50NjRfdCAgc2lnbnVtID0gMTsKKyAgaW50 ICBuZWdhdGUgPSAwOwogCiAgIGlmIChyYSAhPSBSMzEpCiAgICAgSEFMVF9V TkFMTE9DOwpAQCAtMTMwNTEsNyArMTMwNTMsNyBAQCBzbXVsaCAoc2ltX2Nw dSAqY3B1KQogICAgICB0aGUgZml4IHRoZSBzaWduIHVwIGFmdGVyd2FyZHMu ICAqLwogICBpZiAodmFsdWUxIDwgMCkKICAgICB7Ci0gICAgICBzaWdudW0g Kj0gLTFMOworICAgICAgbmVnYXRlID0gIW5lZ2F0ZTsKICAgICAgIHV2YWx1 ZTEgPSAtdmFsdWUxOwogICAgIH0KICAgZWxzZQpAQCAtMTMwNjEsNyArMTMw NjMsNyBAQCBzbXVsaCAoc2ltX2NwdSAqY3B1KQogCiAgIGlmICh2YWx1ZTIg PCAwKQogICAgIHsKLSAgICAgIHNpZ251bSAqPSAtMUw7CisgICAgICBuZWdh dGUgPSAhbmVnYXRlOwogICAgICAgdXZhbHVlMiA9IC12YWx1ZTI7CiAgICAg fQogICBlbHNlCkBAIC0xMzA3MCw5ICsxMzA3MiwxOCBAQCBzbXVsaCAoc2lt X2NwdSAqY3B1KQogICAgIH0KIAogICBUUkFDRV9ERUNPREUgKGNwdSwgImVt dWxhdGVkIGF0IGxpbmUgJWQiLCBfX0xJTkVfXyk7CisKICAgdXJlc3VsdCA9 IG11bDY0aGkgKHV2YWx1ZTEsIHV2YWx1ZTIpOwogICByZXN1bHQgPSB1cmVz dWx0OwotICByZXN1bHQgKj0gc2lnbnVtOworCisgIGlmIChuZWdhdGUpCisg ICAgeworICAgICAgLyogTXVsdGlwbHkgMTI4LWJpdCByZXN1bHQgYnkgLTEs IHdoaWNoIG1lYW5zIGhpZ2hwYXJ0IGdldHMgaW52ZXJ0ZWQsCisJIGFuZCBo YXMgY2FycnkgaW4gYWRkZWQgb25seSBpZiBsb3cgcGFydCBpcyAwLiAgKi8K KyAgICAgIHJlc3VsdCA9IH5yZXN1bHQ7CisgICAgICBpZiAoKHV2YWx1ZTEg KiB1dmFsdWUyKSA9PSAwKQorCXJlc3VsdCArPSAxOworICAgIH0KIAogICBh YXJjaDY0X3NldF9yZWdfczY0IChjcHUsIHJkLCBOT19TUCwgcmVzdWx0KTsK IH0KZGlmZiAtLWdpdCBhL3NpbS90ZXN0c3VpdGUvc2ltL2FhcmNoNjQvc3Vt b3YucyBiL3NpbS90ZXN0c3VpdGUvc2ltL2FhcmNoNjQvc3Vtb3YucwppbmRl eCA2OTAyMWNiLi43MTgwYzZhIDEwMDY0NAotLS0gYS9zaW0vdGVzdHN1aXRl L3NpbS9hYXJjaDY0L3N1bW92LnMKKysrIGIvc2ltL3Rlc3RzdWl0ZS9zaW0v YWFyY2g2NC9zdW1vdi5zCkBAIC0zNCw3ICszNCw3IEBAIGlucHV0OgogCXNt b3YgdzEsIHYwLmhbNF0KIAljbXAgdzAsICMweDAyMDEKIAlibmUgLkxmYWls dXJlCi0JY21wIHcxLCAjLTIzMTUKKwljbXAgdzEsICMtMzM0MwogCWJuZSAu TGZhaWx1cmUKIAogCXNtb3YgeDAsIHYwLmhbMV0KQEAgLTUwLDggKzUwLDkg QEAgaW5wdXQ6CiAJbW92ayB4MiwgIzB4MDgwNywgbHNsICMxNgogCWNtcCB4 MCwgeDIKIAlibmUgLkxmYWlsdXJlCi0JbW92IHgzLCAjMHhmNmY1Ci0JbW92 ayB4MywgIzB4ZjhmNywgbHNsICMxNgorCW1vdiB3MywgIzB4ZjZmNQorCW1v dmsgdzMsICMweGY4ZjcsIGxzbCAjMTYKKwlzeHR3IHgzLCB3MwogCWNtcCB4 MSwgeDMKIAlibmUgLkxmYWlsdXJlCiAKQEAgLTY0LDkgKzY1LDEwIEBAIGlu cHV0OgogCiAJdW1vdiB3MCwgdjAuaFswXQogCXVtb3YgdzEsIHYwLmhbNF0K LQljbXAgdzAsICMwMjAxCisJY21wIHcwLCAjMHgwMjAxCiAJYm5lIC5MZmFp bHVyZQotCWNtcCB3MSwgIzB4ZjJmMQorCW1vdiB3MiwgIzB4ZjJmMQorCWNt cCB3MSwgdzIKIAlibmUgLkxmYWlsdXJlCiAKIAl1bW92IHcwLCB2MC5zWzBd CmRpZmYgLS1naXQgYS9zaW0vdGVzdHN1aXRlL3NpbS9hYXJjaDY0L3N1bXVs aC5zIGIvc2ltL3Rlc3RzdWl0ZS9zaW0vYWFyY2g2NC9zdW11bGgucwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2YxZWNkCi0tLSAv ZGV2L251bGwKKysrIGIvc2ltL3Rlc3RzdWl0ZS9zaW0vYWFyY2g2NC9zdW11 bGgucwpAQCAtMCwwICsxLDU2IEBACisjIG1hY2g6IGFhcmNoNjQKKworIyBD aGVjayB0aGUgbXVsdGlwbHkgaGlnaHBhcnQgaW5zdHJ1Y3Rpb25zOiBzbXVs aCwgdW11bGguCisKKyMgVGVzdCAtMioyLCAtMTw8MzIqLTE8PDMyLCAtMiot MiwgYW5kIDIqMi4KKworLmluY2x1ZGUgInRlc3R1dGlscy5pbmMiCisKKwku ZGF0YQorCS5hbGlnbiA0CisKKwlzdGFydAorCisJbW92IHgwLCAjLTIKKwlt b3YgeDEsICMyCisJc211bGggeDIsIHgwLCB4MQorCWNtcCB4MiwgIy0xCisJ Ym5lIC5MZmFpbHVyZQorCXVtdWxoIHgzLCB4MCwgeDEKKwljbXAgeDMsICMx CisJYm5lIC5MZmFpbHVyZQorCisJbW92IHcwLCAjLTEKKwlsc2wgeDAsIHgw LCAjMzIgLy8gMHhmZmZmZmZmZjAwMDAwMDAwCisJbW92IHgxLCB4MAorCXNt dWxoIHgyLCB4MCwgeDEKKwljbXAgeDIsICMxCisJYm5lIC5MZmFpbHVyZQor CXVtdWxoIHgzLCB4MCwgeDEKKwltb3YgdzQsICMtMgorCWxzbCB4NCwgeDQs ICMzMgorCWFkZCB4NCwgeDQsICMxICAvLyAweGZmZmZmZmZlMDAwMDAwMDEK KwljbXAgeDMsIHg0CisJYm5lIC5MZmFpbHVyZQorCisJbW92IHgwLCAjLTIK Kwltb3YgeDEsICMtMgorCXNtdWxoIHgyLCB4MCwgeDEKKwljbXAgeDIsICMw CisJYm5lIC5MZmFpbHVyZQorCXVtdWxoIHgzLCB4MCwgeDEKKwljbXAgeDMs ICMtNAorCWJuZSAuTGZhaWx1cmUKKworCW1vdiB4MCwgIzIKKwltb3YgeDEs ICMyCisJc211bGggeDIsIHgwLCB4MQorCWNtcCB4MiwgIzAKKwlibmUgLkxm YWlsdXJlCisJdW11bGggeDMsIHgwLCB4MQorCWNtcCB4MywgIzAKKwlibmUg LkxmYWlsdXJlCisKKwlwYXNzCisuTGZhaWx1cmU6CisJZmFpbAo= --001a11491d7ea6b33d0549da2de0--