From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from xry111.site (xry111.site [89.208.246.23]) by sourceware.org (Postfix) with ESMTPS id 3253B384D0CB for ; Thu, 17 Nov 2022 05:56:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3253B384D0CB Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=xry111.site Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=xry111.site DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=xry111.site; s=default; t=1668664596; bh=bTVqcXav8JbgrjLxJd3XvzuYOU1zgfQirMpobE9qpqc=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=ktvm2VhdTfYLYiUy2QaTxxYL6KJWhKZcLiAG7xliQHzuiHi+jlVdEfQ3OpUb/5hgV O/6KEDQv3GXn5QPLHD+RkdpckxyaBWcqWDQpQ9FNQQSGgf74iA+AkzZpypXtRSd4Wm 4U44AbPA+Tst1TD/OHqfkEZCvwBJgKNLeQJ35rGs= Received: from localhost.localdomain (xry111.site [IPv6:2001:470:683e::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-384) server-digest SHA384) (Client did not present a certificate) (Authenticated sender: xry111@xry111.site) by xry111.site (Postfix) with ESMTPSA id DBA2A6630F; Thu, 17 Nov 2022 00:56:33 -0500 (EST) Message-ID: Subject: Re: [PATCH] LoongArch: Fix atomic_exchange make comparison and may jump out From: Xi Ruoyao To: Jinyang He , Chenghua Xu , Lulu Cheng Cc: Weining Lu , Xing Li , yala , Peng Fan , gcc-patches@gcc.gnu.org, Huang Pei Date: Thu, 17 Nov 2022 13:56:31 +0800 In-Reply-To: <24e66a2a-6e0e-db69-7ecc-fd98ca3bb963@loongson.cn> References: <20221115130328.15413-1-hejinyang@loongson.cn> <8039c23568889fe85afbe6940ed625448cf6cd56.camel@xry111.site> <1dd9ace0-a83f-c530-2d65-5f762e0cc81e@loongson.cn> <0390618e9d9e74eb2ea22ae8a934cbc37cd483a7.camel@xry111.site> <2b83052845d53312f6d5af2953162cfa693b6538.camel@xry111.site> <24e66a2a-6e0e-db69-7ecc-fd98ca3bb963@loongson.cn> Content-Type: multipart/mixed; boundary="=-S3xNqXFHXYDqxCvYx4aR" User-Agent: Evolution 3.46.0 MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FROM_SUSPICIOUS_NTLD,GIT_PATCH_0,KAM_SHORT,LIKELY_SPAM_FROM,PDS_OTHER_BAD_TLD,SPF_HELO_PASS,SPF_PASS,TXREP 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: --=-S3xNqXFHXYDqxCvYx4aR Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2022-11-17 at 11:46 +0800, Jinyang He wrote: > > So we do need an additional dbar for compare-and-exchange, but do > > not > > need it for a bare atomic exchange? > Yes. Ok, I just noticed we also don't use dbar in atomic_add etc. I've adjusted the patch a little (in attachment): rewritten the ChangeLog and test, and renamed "value_exchange_and" to just "value_exchange" because we are not doing anything beyond the exchange. If it looks OK you can just send it as v2. --=20 Xi Ruoyao School of Aerospace Science and Technology, Xidian University --=-S3xNqXFHXYDqxCvYx4aR Content-Disposition: attachment; filename="pr107713.patch" Content-Type: text/x-patch; name="pr107713.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA4YjY0MTE1ZGZiMjg5Nzc3MzAwYzRlODRlMjc4YWIzZDhlYzRmZTg2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW55YW5nIEhlIDxoZWppbnlhbmdAbG9vbmdzb24uY24+CkRh dGU6IFR1ZSwgMTUgTm92IDIwMjIgMjE6MDM6MjggKzA4MDAKU3ViamVjdDogW1BBVENIIHYyXSBM b29uZ0FyY2g6IEZpeCBhdG9taWNfZXhjaGFuZ2UgZXhwYW5kaW5nIFtQUjEwNzcxM10KCldlIHVz ZWQgdG8gZXhwYW5kIGF0b21pY19leGNoYW5nZV9uKHB0ciwgbmV3LCBtZW1fb3JkZXIpIGZvciBz dWJ3b3JkIHR5cGVzCmludG8gc29tZXRoaW5nIGxpa2U6CgogICAgewogICAgICBfX3R5cGVvZl9f KCpwdHIpIHQgPSBhdG9taWNfbG9hZF9uKHB0ciwgbWVtX29yZGVyKTsKICAgICAgYXRvbWljX2Nv bXBhcmVfZXhjaGFuZ2VfbihwdHIsICZ0LCBuZXcsIHRydWUsIG1lbV9vcmRlciwgbWVtX29yZGVy KTsKICAgICAgcmV0dXJuIHQ7CiAgICB9CgpJdCdzIGluY29ycmVjdCBiZWNhdXNlIGFub3RoZXIg dGhyZWFkIG1heSBzdG9yZSBhIGRpZmZlcmVudCB2YWx1ZSBpbnRvICpwdHIKYWZ0ZXIgYXRvbWlj X2xvYWRfbi4gIFRoZW4gYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2VfbiB3aWxsIG5vdCBzdG9yZSBp bnRvCipwdHIsIGJ1dCBhdG9taWNfZXhjaGFuZ2VfbiBzaG91bGQgYWx3YXlzIHBlcmZvcm0gdGhl IHN0b3JlLgoKZ2NjL0NoYW5nZUxvZzoKCglQUiB0YXJnZXQvMTA3NzEzCgkqIGNvbmZpZy9sb29u Z2FyY2gvc3luYy5tZAoJKGF0b21pY19jYXNfdmFsdWVfZXhjaGFuZ2VfN188bW9kZT4pOiBOZXcg ZGVmaW5lX2luc24uCgkoYXRvbWljX2V4Y2hhbmdlKTogVXNlIGF0b21pY19jYXNfdmFsdWVfZXhj aGFuZ2VfN19zaSBpbnN0ZWFkIG9mCglhdG9taWNfY2FzX3ZhbHVlX2NtcF9hbmRfN19zaS4KCmdj Yy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgoKCVBSIHRhcmdldC8xMDc3MTMKCSogZ2NjLnRhcmdldC9s b29uZ2FyY2gvcHIxMDc3MTMtMS5jOiBOZXcgdGVzdC4KCSogZ2NjLnRhcmdldC9sb29uZ2FyY2gv cHIxMDc3MTMtMi5jOiBOZXcgdGVzdC4KLS0tCiBnY2MvY29uZmlnL2xvb25nYXJjaC9zeW5jLm1k ICAgICAgICAgICAgICAgICAgfCAyNyArKysrKysrKystCiAuLi4vZ2NjLnRhcmdldC9sb29uZ2Fy Y2gvcHIxMDc3MTMtMS5jICAgICAgICAgfCA1MCArKysrKysrKysrKysrKysrKysrCiAuLi4vZ2Nj LnRhcmdldC9sb29uZ2FyY2gvcHIxMDc3MTMtMi5jICAgICAgICAgfCAgOSArKysrCiAzIGZpbGVz IGNoYW5nZWQsIDg0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2xvb25nYXJjaC9wcjEwNzcxMy0xLmMKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbG9vbmdhcmNoL3ByMTA3 NzEzLTIuYwoKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbG9vbmdhcmNoL3N5bmMubWQgYi9nY2Mv Y29uZmlnL2xvb25nYXJjaC9zeW5jLm1kCmluZGV4IDBjNGYxOTgzZTg4Li40NWJlMTQ0MjQzOSAx MDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9sb29uZ2FyY2gvc3luYy5tZAorKysgYi9nY2MvY29uZmln L2xvb25nYXJjaC9zeW5jLm1kCkBAIC00NDgsNiArNDQ4LDI5IEBACiB9CiAgIFsoc2V0IChhdHRy ICJsZW5ndGgiKSAoY29uc3RfaW50IDMyKSldKQogCisoZGVmaW5lX2luc24gImF0b21pY19jYXNf dmFsdWVfZXhjaGFuZ2VfN188bW9kZT4iCisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOkdQUiAwICJy ZWdpc3Rlcl9vcGVyYW5kIiAiPSZyIikKKwkobWF0Y2hfb3BlcmFuZDpHUFIgMSAibWVtb3J5X29w ZXJhbmQiICIrWkMiKSkKKyAgIChzZXQgKG1hdGNoX2R1cCAxKQorCSh1bnNwZWNfdm9sYXRpbGU6 R1BSIFsobWF0Y2hfb3BlcmFuZDpHUFIgMiAicmVnX29yXzBfb3BlcmFuZCIgInJKIikKKwkJCSAg ICAgIChtYXRjaF9vcGVyYW5kOkdQUiAzICJyZWdfb3JfMF9vcGVyYW5kIiAickoiKQorCQkJICAg ICAgKG1hdGNoX29wZXJhbmQ6R1BSIDQgInJlZ19vcl8wX29wZXJhbmQiICJySiIpCisJCQkgICAg ICAobWF0Y2hfb3BlcmFuZDpHUFIgNSAicmVnX29yXzBfb3BlcmFuZCIgICJySiIpCisJCQkgICAg ICAobWF0Y2hfb3BlcmFuZDpTSSA2ICJjb25zdF9pbnRfb3BlcmFuZCIpXSA7OyBtb2RlbAorCSBV TlNQRUNfU1lOQ19FWENIQU5HRSkpCisgICAoY2xvYmJlciAobWF0Y2hfc2NyYXRjaDpHUFIgNyAi PSZyIikpXQorICAiIgoreworICByZXR1cm4gIiVHNlxcblxcdCIKKwkgIjE6XFxuXFx0IgorCSAi bGwuPGFtbz5cXHQlMCwlMVxcblxcdCIKKwkgImFuZFxcdCU3LCUwLCV6M1xcblxcdCIKKwkgIm9y JWk1XFx0JTcsJTcsJTVcXG5cXHQiCisJICJzYy48YW1vPlxcdCU3LCUxXFxuXFx0IgorCSAiYmVx elxcdCU3LDFiXFxuXFx0IjsKK30KKyAgWyhzZXQgKGF0dHIgImxlbmd0aCIpIChjb25zdF9pbnQg MjApKV0pCisKIChkZWZpbmVfZXhwYW5kICJhdG9taWNfZXhjaGFuZ2U8bW9kZT4iCiAgIFsoc2V0 IChtYXRjaF9vcGVyYW5kOlNIT1JUIDAgInJlZ2lzdGVyX29wZXJhbmQiKQogCSh1bnNwZWNfdm9s YXRpbGU6U0hPUlQKQEAgLTQ1OSw5ICs0ODIsOSBAQAogICAiIgogewogICB1bmlvbiBsb29uZ2Fy Y2hfZ2VuX2ZuX3B0cnMgZ2VuZXJhdG9yOwotICBnZW5lcmF0b3IuZm5fNyA9IGdlbl9hdG9taWNf Y2FzX3ZhbHVlX2NtcF9hbmRfN19zaTsKKyAgZ2VuZXJhdG9yLmZuXzcgPSBnZW5fYXRvbWljX2Nh c192YWx1ZV9leGNoYW5nZV83X3NpOwogICBsb29uZ2FyY2hfZXhwYW5kX2F0b21pY19xaWhpIChn ZW5lcmF0b3IsIG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwKLQkJCQlvcGVyYW5kc1sxXSwgb3Bl cmFuZHNbMl0sIG9wZXJhbmRzWzNdKTsKKwkJCQljb25zdDBfcnR4LCBvcGVyYW5kc1syXSwgb3Bl cmFuZHNbM10pOwogICBET05FOwogfSkKIApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2xvb25nYXJjaC9wcjEwNzcxMy0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv bG9vbmdhcmNoL3ByMTA3NzEzLTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uZDE1MzZjOTViMjcKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvbG9vbmdhcmNoL3ByMTA3NzEzLTEuYwpAQCAtMCwwICsxLDUwIEBACisvKiB7IGRnLWRv IHJ1biB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBwdGhyZWFkIH0gKi8K Ky8qIHsgZGctb3B0aW9ucyAiLXB0aHJlYWQiIH0gKi8KKworI2luY2x1ZGUgPHB0aHJlYWQuaD4K KworY2hhciB4LCB4MSwgeDI7CisKK3ZvaWQgKgord29yazEgKHZvaWQgKikKK3sKKyAgZm9yIChp bnQgaSA9IDA7IGkgPCAxMDA7IGkrKykKKyAgICB4MSA9IF9fYXRvbWljX2V4Y2hhbmdlX24gKCZ4 LCB4MSwgX19BVE9NSUNfU0VRX0NTVCk7CisgIHJldHVybiBOVUxMOworfQorCit2b2lkICoKK3dv cmsyICh2b2lkICopCit7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgMTAwOyBpKyspCisgICAgeDIg PSBfX2F0b21pY19leGNoYW5nZV9uICgmeCwgeDIsIF9fQVRPTUlDX1NFUV9DU1QpOworICByZXR1 cm4gTlVMTDsKK30KKwordm9pZAordGVzdCAodm9pZCkKK3sKKyAgeCA9IDA7CisgIHgxID0gMTsK KyAgeDIgPSAyOworICBwdGhyZWFkX3QgdzEsIHcyOworICBpZiAocHRocmVhZF9jcmVhdGUgKCZ3 MSwgTlVMTCwgd29yazEsIE5VTEwpICE9IDApCisgICAgX19idWlsdGluX2Fib3J0ICgpOworICBp ZiAocHRocmVhZF9jcmVhdGUgKCZ3MiwgTlVMTCwgd29yazIsIE5VTEwpICE9IDApCisgICAgX19i dWlsdGluX2Fib3J0ICgpOworICBpZiAocHRocmVhZF9qb2luICh3MSwgTlVMTCkgIT0gMCkKKyAg ICBfX2J1aWx0aW5fYWJvcnQgKCk7CisgIGlmIChwdGhyZWFkX2pvaW4gKHcyLCBOVUxMKSAhPSAw KQorICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKKyAgaWYgKCh4IF4geDEgXiB4MikgIT0gMykKKyAg ICBfX2J1aWx0aW5fYWJvcnQgKCk7Cit9CisKK2ludAorbWFpbiAoKQoreworICBpbnQgaTsKKyAg Zm9yIChpID0gMDsgaSA8IDEwMDAwOyBpKyspCisgICAgdGVzdCAoKTsKK30KZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9sb29uZ2FyY2gvcHIxMDc3MTMtMi5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2xvb25nYXJjaC9wcjEwNzcxMy0yLmMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjgyZDQ0ZGIzZDUxCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2xvb25nYXJjaC9wcjEwNzcxMy0yLmMKQEAgLTAsMCAr MSw5IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICItTzIiIH0g Ki8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiYmVxfGJuZSIgMSB9IH0g Ki8KKworY2hhcgordCAoY2hhciAqcCwgY2hhciB4KQoreworICByZXR1cm4gX19hdG9taWNfZXhj aGFuZ2VfbiAocCwgeCwgX19BVE9NSUNfUkVMQVhFRCk7Cit9Ci0tIAoyLjM3LjMKCg== --=-S3xNqXFHXYDqxCvYx4aR--