From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x330.google.com (mail-ot1-x330.google.com [IPv6:2607:f8b0:4864:20::330]) by sourceware.org (Postfix) with ESMTPS id B4CD13854804 for ; Tue, 16 Mar 2021 15:46:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B4CD13854804 Received: by mail-ot1-x330.google.com with SMTP id w21-20020a9d63950000b02901ce7b8c45b4so7079804otk.5 for ; Tue, 16 Mar 2021 08:46:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=2DyLic0tXUKUvvOjsnG7pVGOU455wsEYuAozV0yMVIQ=; b=PZaVD9aT/1yOhXkNulXmiIfOTXZsrOGqulI0sjDRsH3Un3dcJ3aIUiO4x2Lb/8wpUg 9NT3xU+gHBiSaEA7S7+54UJZBSqdR3B17X/DON4leD5Q9l0MK7GaeGOFFaRcnK2AO9BC Rymax95OERlXALvoHuCARXU/5FuuIGvNeRLCPcsozahchqV9mYyEcxDlmn+Y8nBvyWsX esBI3gz3p9dXJbonUyUv0BVyjffXVG7DF1BsZXYWPVTh7Puc0eUcYsP9sLk9K1RCjog1 CPH3BRN2NbfupZKCMvnZOzxJ90NQImav2N/0oQlr1tCsU0TlbEwI9Pi7IgLZOBJEK+CS fa5Q== X-Gm-Message-State: AOAM532q+0qbNWIWHed+CC1Xbqwc1DMhnz+FcC86yuBNOCnZ7Mi7JPCN SPTJKYBNZ8mmStHzh4+stbAxajsNUcieaug2nWgfvfJuRJY= X-Google-Smtp-Source: ABdhPJyZ8l0aBzypYOL/puWjJixvv5IeD80+nQgm/ugWBcNn91eNfB2C/VC6U6r6eEgJ4a+/BGSFGgXoTWOE23wLHI0= X-Received: by 2002:a05:6830:1515:: with SMTP id k21mr4100806otp.269.1615909562049; Tue, 16 Mar 2021 08:46:02 -0700 (PDT) MIME-Version: 1.0 References: <20210202191209.4036619-1-hjl.tools@gmail.com> <60a3a304-7f33-3727-a39a-5420d26d13a0@redhat.com> <87ft0vzcy5.fsf@igel.home> In-Reply-To: <87ft0vzcy5.fsf@igel.home> From: "H.J. Lu" Date: Tue, 16 Mar 2021 08:45:25 -0700 Message-ID: Subject: [PATCH v5] x86_64: Update THREAD_SETMEM/THREAD_SETMEM_NC for IMM64 [BZ #27591] To: Andreas Schwab Cc: "Carlos O'Donell via Libc-alpha" , "Carlos O'Donell" Content-Type: multipart/mixed; boundary="0000000000006f88c605bda9434e" X-Spam-Status: No, score=-3035.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Mar 2021 15:46:04 -0000 --0000000000006f88c605bda9434e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Mar 16, 2021 at 2:04 AM Andreas Schwab wrot= e: > > On M=C3=A4r 15 2021, Carlos O'Donell via Libc-alpha wrote: > > > Then we try to fix this with the new sequence: > > > > asm volatile ("movq %q0,%%fs:%P1" : > > : "i" ((uint64_t) cast_to_integer (value)), > > "i" (offsetof (struct pthread, member))); > > > > Note that "%q0" is a machine constraint for any register. > > An operand modifier isn't a constraint. It does not change what the > compiler matches for the operand, it only modifies the way the operand > is output. 'q' has no meaning for an operand matched by the 'i' > constraint, since that is never a register. That is correct. Since movq takes a register or a signed 32-bit immediate source operand, select the immediate source operand only if it is known to be 32-bit signed immediate at compile-time. Here is the v5 patch with a testcase. OK for master? Thanks. -- H.J. --0000000000006f88c605bda9434e Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0001-x86_64-Update-THREAD_SETMEM-THREAD_SETMEM_NC-for-.patch" Content-Disposition: attachment; filename="v5-0001-x86_64-Update-THREAD_SETMEM-THREAD_SETMEM_NC-for-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kmc6pywp0 RnJvbSAxOTlmMTQ3YTJjOTU1NDk4OTBmY2IxYzhkNGMzNTk4YmNlNDU1NDViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgMTYgTWFyIDIwMjEgMDc6NDE6NDYgLTA3MDAKU3ViamVjdDogW1BBVENIIHY1XSB4ODZf NjQ6IFVwZGF0ZSBUSFJFQURfU0VUTUVNL1RIUkVBRF9TRVRNRU1fTkMgZm9yIElNTTY0CiBbQlog IzI3NTkxXQoKU2luY2UgbW92cSB0YWtlcyBhIHJlZ2lzdGVyIG9yIGEgc2lnbmVkIDMyLWJpdCBp bW1lZGlhdGUgc291cmNlIG9wZXJhbmQsCnNlbGVjdCB0aGUgaW1tZWRpYXRlIHNvdXJjZSBvcGVy YW5kIG9ubHkgaWYgaXQgaXMga25vd24gdG8gYmUgMzItYml0CnNpZ25lZCBpbW1lZGlhdGUgYXQg Y29tcGlsZS10aW1lLgotLS0KIHN5c2RlcHMveDg2XzY0L01ha2VmaWxlICAgICAgICAgICB8ICAy ICsrCiBzeXNkZXBzL3g4Nl82NC9ucHRsL3Rscy5oICAgICAgICAgfCAzMyArKysrKysrKysrKysr KystLS0tLQogc3lzZGVwcy94ODZfNjQvdHN0LXg4Ni02NC10bHMtMS5jIHwgNTAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCsp LCA3IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHN5c2RlcHMveDg2XzY0L3RzdC14 ODYtNjQtdGxzLTEuYwoKZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2XzY0L01ha2VmaWxlIGIvc3lz ZGVwcy94ODZfNjQvTWFrZWZpbGUKaW5kZXggZDFkN2NiOWQyZS4uMDZhNDQ0YjZhZiAxMDA2NDQK LS0tIGEvc3lzZGVwcy94ODZfNjQvTWFrZWZpbGUKKysrIGIvc3lzZGVwcy94ODZfNjQvTWFrZWZp bGUKQEAgLTE4Myw2ICsxODMsOCBAQCBpZmVxIChubywkKGJ1aWxkLWhhcmRjb2RlZC1wYXRoLWlu LXRlc3RzKSkKIHRlc3RzLWNvbnRhaW5lciArPSB0c3QtZ2xpYmMtaHdjYXBzLWNhY2hlCiBlbmRp ZgogCit0ZXN0cy1pbnRlcm5hbCArPSB0c3QteDg2LTY0LXRscy0xCisKIGVuZGlmICMgJChzdWJk aXIpID09IGVsZgogCiBpZmVxICgkKHN1YmRpciksY3N1KQpkaWZmIC0tZ2l0IGEvc3lzZGVwcy94 ODZfNjQvbnB0bC90bHMuaCBiL3N5c2RlcHMveDg2XzY0L25wdGwvdGxzLmgKaW5kZXggMjBmMDk1 ODc4MC4uYjE5ZDkwNDMzZCAxMDA2NDQKLS0tIGEvc3lzZGVwcy94ODZfNjQvbnB0bC90bHMuaAor KysgYi9zeXNkZXBzL3g4Nl82NC9ucHRsL3Rscy5oCkBAIC0yNzEsOSArMjcxLDE4IEBAIF9TdGF0 aWNfYXNzZXJ0IChvZmZzZXRvZiAodGNiaGVhZF90LCBfX2dsaWJjX3VudXNlZDIpID09IDB4ODAs CiAJCSAgICAgICAiaSIgKG9mZnNldG9mIChzdHJ1Y3QgcHRocmVhZCwgbWVtYmVyKSkpOwkgICAg ICBcCiAgICAgIGVsc2UgLyogOCAqLwkJCQkJCQkgICAgICBcCiAgICAgICAgewkJCQkJCQkJICAg ICAgXAotCSBhc20gdm9sYXRpbGUgKCJtb3ZxICVxMCwlJWZzOiVQMSIgOgkJCQkgICAgICBcCi0J CSAgICAgICA6IElNTV9NT0RFICgodWludDY0X3QpIGNhc3RfdG9faW50ZWdlciAodmFsdWUpKSwJ ICAgICAgXAotCQkJICJpIiAob2Zmc2V0b2YgKHN0cnVjdCBwdGhyZWFkLCBtZW1iZXIpKSk7CSAg ICAgIFwKKwkgLyogU2luY2UgbW92cSB0YWtlcyBhIHJlZ2lzdGVyIG9yIGEgc2lnbmVkIDMyLWJp dCBpbW1lZGlhdGUgc291cmNlICAgXAorCSAgICBvcGVyYW5kLCBzZWxlY3QgdGhlIGltbWVkaWF0 ZSBzb3VyY2Ugb3BlcmFuZCBvbmx5IGlmIGl0IGlzIGtub3duICBcCisJICAgIHRvIGJlIDMyLWJp dCBzaWduZWQgaW1tZWRpYXRlIGF0IGNvbXBpbGUtdGltZS4gICovCQkgICAgICBcCisJIGlmIChf X2J1aWx0aW5fY29uc3RhbnRfcCAodmFsdWUpCQkJCSAgICAgIFwKKwkgICAgICYmIChpbnQ2NF90 KSAoaW50MzJfdCkgKHVpbnRwdHJfdCkgdmFsdWUgPT0gKHVpbnRwdHJfdCkgdmFsdWUpICAgXAor CSAgIGFzbSB2b2xhdGlsZSAoIm1vdnEgJTAsJSVmczolUDEiIDoJCQkJICAgICAgXAorCQkJIDog ImkiICgodWludDY0X3QpIGNhc3RfdG9faW50ZWdlciAodmFsdWUpKSwJICAgICAgXAorCQkJICAg ImkiIChvZmZzZXRvZiAoc3RydWN0IHB0aHJlYWQsIG1lbWJlcikpKTsJICAgICAgXAorCSBlbHNl CQkJCQkJCQkgICAgICBcCisJICAgYXNtIHZvbGF0aWxlICgibW92cSAlcTAsJSVmczolUDEiIDoJ CQkJICAgICAgXAorCQkJIDogInIiICgodWludDY0X3QpIGNhc3RfdG9faW50ZWdlciAodmFsdWUp KSwJICAgICAgXAorCQkJICAgImkiIChvZmZzZXRvZiAoc3RydWN0IHB0aHJlYWQsIG1lbWJlcikp KTsJICAgICAgXAogICAgICAgIH19KQogCiAKQEAgLTI5NiwxMCArMzA1LDIwIEBAIF9TdGF0aWNf YXNzZXJ0IChvZmZzZXRvZiAodGNiaGVhZF90LCBfX2dsaWJjX3VudXNlZDIpID09IDB4ODAsCiAJ CSAgICAgICAiciIgKGlkeCkpOwkJCQkJICAgICAgXAogICAgICBlbHNlIC8qIDggKi8JCQkJCQkJ ICAgICAgXAogICAgICAgIHsJCQkJCQkJCSAgICAgIFwKLQkgYXNtIHZvbGF0aWxlICgibW92cSAl cTAsJSVmczolUDEoLCVxMiw4KSIgOgkJCSAgICAgIFwKLQkJICAgICAgIDogSU1NX01PREUgKCh1 aW50NjRfdCkgY2FzdF90b19pbnRlZ2VyICh2YWx1ZSkpLAkgICAgICBcCi0JCQkgImkiIChvZmZz ZXRvZiAoc3RydWN0IHB0aHJlYWQsIG1lbWJlclswXSkpLAkgICAgICBcCi0JCQkgInIiIChpZHgp KTsJCQkJCSAgICAgIFwKKwkgLyogU2luY2UgbW92cSB0YWtlcyBhIHJlZ2lzdGVyIG9yIGEgc2ln bmVkIDMyLWJpdCBpbW1lZGlhdGUgc291cmNlICAgXAorCSAgICBvcGVyYW5kLCBzZWxlY3QgdGhl IGltbWVkaWF0ZSBzb3VyY2Ugb3BlcmFuZCBvbmx5IGlmIGl0IGlzIGtub3duICBcCisJICAgIHRv IGJlIDMyLWJpdCBzaWduZWQgaW1tZWRpYXRlIGF0IGNvbXBpbGUtdGltZS4gICovCQkgICAgICBc CisJIGlmIChfX2J1aWx0aW5fY29uc3RhbnRfcCAodmFsdWUpCQkJCSAgICAgIFwKKwkgICAgICYm IChpbnQ2NF90KSAoaW50MzJfdCkgKHVpbnRwdHJfdCkgdmFsdWUgPT0gKHVpbnRwdHJfdCkgdmFs dWUpICAgXAorCSAgIGFzbSB2b2xhdGlsZSAoIm1vdnEgJTAsJSVmczolUDEoLCVxMiw4KSIgOgkJ CSAgICAgIFwKKwkJCSA6ICJpIiAoKHVpbnQ2NF90KSBjYXN0X3RvX2ludGVnZXIgKHZhbHVlKSks CSAgICAgIFwKKwkJCSAgICJpIiAob2Zmc2V0b2YgKHN0cnVjdCBwdGhyZWFkLCBtZW1iZXJbMF0p KSwJICAgICAgXAorCQkJICAgInIiIChpZHgpKTsJCQkJCSAgICAgIFwKKwkgZWxzZQkJCQkJCQkJ ICAgICAgXAorCSAgIGFzbSB2b2xhdGlsZSAoIm1vdnEgJXEwLCUlZnM6JVAxKCwlcTIsOCkiIDoJ CQkgICAgICBcCisJCQkgOiAiciIgKCh1aW50NjRfdCkgY2FzdF90b19pbnRlZ2VyICh2YWx1ZSkp LAkgICAgICBcCisJCQkgICAiaSIgKG9mZnNldG9mIChzdHJ1Y3QgcHRocmVhZCwgbWVtYmVyWzBd KSksCSAgICAgIFwKKwkJCSAgICJyIiAoaWR4KSk7CQkJCQkgICAgICBcCiAgICAgICAgfX0pCiAK IApkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODZfNjQvdHN0LXg4Ni02NC10bHMtMS5jIGIvc3lzZGVw cy94ODZfNjQvdHN0LXg4Ni02NC10bHMtMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAuLmFjNmIxM2QzYjcKLS0tIC9kZXYvbnVsbAorKysgYi9zeXNkZXBzL3g4Nl82NC90 c3QteDg2LTY0LXRscy0xLmMKQEAgLTAsMCArMSw1MCBAQAorLyogVGVzdCBUSFJFQURfU0VUTUVN IGFuZCBUSFJFQURfU0VUTUVNX05DIGZvciBJTU02NC4KKyAgIENvcHlyaWdodCAoQykgMjAyMSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRo ZSBHTlUgQyBMaWJyYXJ5LgorCisgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgdmVyc2lv biAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCisKKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgIExlc3NlciBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAg IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKKyAgIDxo dHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisjaW5jbHVkZSA8dGxzLmg+Cisj aW5jbHVkZSA8c3VwcG9ydC9jaGVjay5oPgorCitzdGF0aWMgaW50Citkb190ZXN0ICh2b2lkKQor eworICB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHNhdmVkX3NzcF9iYXNlCisgICAgPSBUSFJFQURf R0VUTUVNIChUSFJFQURfU0VMRiwgaGVhZGVyLnNzcF9iYXNlKTsKKyAgVEhSRUFEX1NFVE1FTSAo VEhSRUFEX1NFTEYsIGhlYWRlci5zc3BfYmFzZSwgKDFVTEwgPDwgNTcpIC0gMSk7CisgIHVuc2ln bmVkIGxvbmcgbG9uZyBpbnQgc3NwX2Jhc2UKKyAgICA9IFRIUkVBRF9HRVRNRU0gKFRIUkVBRF9T RUxGLCBoZWFkZXIuc3NwX2Jhc2UpOworICBpZiAoc3NwX2Jhc2UgIT0gKCgxVUxMIDw8IDU3KSAt IDEpKQorICAgIEZBSUxfRVhJVDEgKCJUSFJFQURfU0VUTUVNOiAweCVsbHggIT0gMHglbGx4IiwK KwkJc3NwX2Jhc2UsICgxVUxMIDw8IDU3KSAtIDEpOworICBUSFJFQURfU0VUTUVNIChUSFJFQURf U0VMRiwgaGVhZGVyLnNzcF9iYXNlLCBzYXZlZF9zc3BfYmFzZSk7CisjaWZuZGVmIF9fSUxQMzJf XworICBzdHJ1Y3QgcHRocmVhZF9rZXlfZGF0YSAqc2F2ZWRfc3BlY2lmaWMKKyAgICA9IFRIUkVB RF9HRVRNRU1fTkMgKFRIUkVBRF9TRUxGLCBzcGVjaWZpYywgMSk7CisgIHVpbnRwdHJfdCB2YWx1 ZSA9ICgxVUwgPDwgNTcpIC0gMTsKKyAgVEhSRUFEX1NFVE1FTV9OQyAoVEhSRUFEX1NFTEYsIHNw ZWNpZmljLCAxLAorCQkgICAgKHN0cnVjdCBwdGhyZWFkX2tleV9kYXRhICopIHZhbHVlKTsKKyAg c3RydWN0IHB0aHJlYWRfa2V5X2RhdGEgKnNwZWNpZmljCisgICAgPSBUSFJFQURfR0VUTUVNX05D IChUSFJFQURfU0VMRiwgc3BlY2lmaWMsIDEpOworICBpZiAoc3BlY2lmaWMgIT0gKHN0cnVjdCBw dGhyZWFkX2tleV9kYXRhICopIHZhbHVlKQorICAgIEZBSUxfRVhJVDEgKCJUSFJFQURfR0VUTUVN X05DOiAlcCAhPSAlcCIsCisJCXNwZWNpZmljLCAoc3RydWN0IHB0aHJlYWRfa2V5X2RhdGEgKikg dmFsdWUpOworICBUSFJFQURfU0VUTUVNX05DIChUSFJFQURfU0VMRiwgc3BlY2lmaWMsIDEsIHNh dmVkX3NwZWNpZmljKTsKKyNlbmRpZgorICByZXR1cm4gMDsKK30KKworI2luY2x1ZGUgPHN1cHBv cnQvdGVzdC1kcml2ZXIuYz4KLS0gCjIuMzAuMgoK --0000000000006f88c605bda9434e--