From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 97B513858D28 for ; Wed, 29 Sep 2021 12:19:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 97B513858D28 Received: from mail-ua1-f72.google.com (mail-ua1-f72.google.com [209.85.222.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-591-_6VhlfPZODODF5jwiEsCBw-1; Wed, 29 Sep 2021 08:19:07 -0400 X-MC-Unique: _6VhlfPZODODF5jwiEsCBw-1 Received: by mail-ua1-f72.google.com with SMTP id h11-20020ab0334b000000b002c99b6970aaso1263192uap.14 for ; Wed, 29 Sep 2021 05:19:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=LufUURnPwsOUMsROdJjl4wtvzKF/G5ramYqWLI/ibuY=; b=H56k+AoYUi1oFWLsomZZIda4Rerh6P8sVGOmpSBfGkVGLOL6JhNdJ0iFzypLAsIorj EErR4H7Y4iUEtmryQkdHDnUakWTCbpbXp1d6gytZbb9owjjzHQYezLjM49570+ZczW99 SVs/bMBZXkNTnKQezI7NYQ6VLWxRZgJquqI5Ulr8R7UiPczjYY5n4etRQ1Mhtni6Um9a aFRJzPxeY98ED3NfvchBiLjep52XfAWL1G1+X2XHfyVhoDxn0VKlrFqat/Y5YE2zx822 u5gkOVZvfee2QaFszKh9wwj+f9NiE9bDUjKYiZTsxAVHcztwpL0WuOf+bwwvsbb0zA1u nV4w== X-Gm-Message-State: AOAM530/sh8UxZUaeIEJXlA8UIRTeIootnZX/7xnSr+mOKpU+cnrFmXY /UadMrsWHlseaUoPAQLYlfoIrIusmU6KA3kWSLb8jG01TKvbor6GoDKi5fPJwCSWWMFIKwJ5v94 Khdyd33zBYhmcqocBcWx45zad5GqW1BQ= X-Received: by 2002:a05:6122:2187:: with SMTP id j7mr9013693vkd.0.1632917947423; Wed, 29 Sep 2021 05:19:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwYYfcwVoLKByBsQRzzw+KgRazUh5WndEYyD0bdRZwOF24hWRse4RxAv7AvJQP7mla5ZXEv0qa/zEwZx2z2HB8= X-Received: by 2002:a05:6122:2187:: with SMTP id j7mr9013673vkd.0.1632917947181; Wed, 29 Sep 2021 05:19:07 -0700 (PDT) MIME-Version: 1.0 References: <20210923180837.633173-1-rodgert@appliantology.com> <20210927141031.651313-1-rodgert@appliantology.com> In-Reply-To: From: Jonathan Wakely Date: Wed, 29 Sep 2021 13:18:55 +0100 Message-ID: Subject: Re: [PATCH] libstdc++: Clear padding bits in atomic compare_exchange To: Thomas Rodgers Cc: gcc Patches , "libstdc++" , Thomas Rodgers , Thomas Rodgers X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="00000000000030a70c05cd215609" X-Spam-Status: No, score=-3.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=unavailable autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Sep 2021 12:19:10 -0000 --00000000000030a70c05cd215609 Content-Type: text/plain; charset="UTF-8" On Wed, 29 Sept 2021 at 13:13, Jonathan Wakely wrote: > We repeat this *a lot*. When I started work on this I defined a > non-member function in the __atomic_impl namespace: I've attached my incomplete patch from when I was working on this. --00000000000030a70c05cd215609 Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ku5h6byw0 ZGlmZiAtLWNjIGxpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvYXRvbWljX2Jhc2UuaAppbmRleCA3 MWUxZGUwNzhiNSwzNTAyM2FkMzBhOC4uMDAwMDAwMDAwMDAKLS0tIGEvbGlic3RkYysrLXYzL2lu Y2x1ZGUvYml0cy9hdG9taWNfYmFzZS5oCisrKyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMv YXRvbWljX2Jhc2UuaApAQEAgLTk0NCw2IC05NTIsMjggKzk0NCwyNyBAQEAgX0dMSUJDWFhfQkVH SU5fTkFNRVNQQUNFX1ZFUlNJTwogICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBfVHA+CiAgICAgICAg dXNpbmcgX1ZhbCA9IHJlbW92ZV92b2xhdGlsZV90PF9UcD47CiAgCisgICAgIHRlbXBsYXRlPHR5 cGVuYW1lIF9UcD4KKyAgICAgICBjb25zdGV4cHIgYm9vbAorICAgICAgIF9fbWF5YmVfaGFzX3Bh ZGRpbmcoKQorICAgICAgIHsKIC0jaWYgX0dMSUJDWFhfSEFWRV9CVUlMVElOX0hBU19VTklRX09C Sl9SRVAKIC0JcmV0dXJuICFfX2hhc191bmlxdWVfb2JqZWN0X3JlcHJlc2VudGF0aW9ucyhfVHAp OworKyNpZiBfX2hhc19idWlsdGluKF9faGFzX3VuaXF1ZV9vYmplY3RfcmVwcmVzZW50YXRpb25z KQorKwlyZXR1cm4gIV9faGFzX3VuaXF1ZV9vYmplY3RfcmVwcmVzZW50YXRpb25zKF9UcCkKKysJ ICAmJiAhaXNfZmxvYXRpbmdfcG9pbnQ8X1RwPjo6dmFsdWU7CisgI2Vsc2UKKyAJcmV0dXJuIHRy dWU7CisgI2VuZGlmCisgICAgICAgfQorIAorICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBfVHA+Cisg ICAgICAgX0dMSUJDWFhfQUxXQVlTX0lOTElORSB2b2lkCisgICAgICAgX19jbGVhcl9wYWRkaW5n KF9UcCYgX192YWwpIG5vZXhjZXB0CisgICAgICAgewogLQlhdXRvKiBfX3B0ciA9IHN0ZDo6X19h ZGRyZXNzb2YoX192YWwpOworICNpZiBfX2hhc19idWlsdGluKF9fYnVpbHRpbl9jbGVhcl9wYWRk aW5nKQogLQlfX2J1aWx0aW5fY2xlYXJfcGFkZGluZyhfX3B0cik7CisrCV9fYnVpbHRpbl9jbGVh cl9wYWRkaW5nKHN0ZDo6X19hZGRyZXNzb2YoX192YWwpKTsKKyAjZW5kaWYKIC0JcmV0dXJuIF9f cHRyOworICAgICAgIH0KKyAKICAgICAgLy8gQXMgYWJvdmUsIGJ1dCBmb3IgZGlmZmVyZW5jZV90 eXBlIGFyZ3VtZW50cy4KICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgX1RwPgogICAgICAgIHVzaW5n IF9EaWZmID0gY29uZGl0aW9uYWxfdDxpc19wb2ludGVyX3Y8X1RwPiwgcHRyZGlmZl90LCBfVmFs PF9UcD4+OwpAQEAgLTk4NCwxMyAtMTAxNSwyNiArMTAwNiwyNiBAQEAKICAgICAgdGVtcGxhdGU8 dHlwZW5hbWUgX1RwPgogICAgICAgIF9HTElCQ1hYX0FMV0FZU19JTkxJTkUgYm9vbAogICAgICAg IGNvbXBhcmVfZXhjaGFuZ2Vfd2VhayhfVHAqIF9fcHRyLCBfVmFsPF9UcD4mIF9fZXhwZWN0ZWQs Ci0gCQkJICAgIF9WYWw8X1RwPiBfX2Rlc2lyZWQsIG1lbW9yeV9vcmRlciBfX3N1Y2Nlc3MsCi0g CQkJICAgIG1lbW9yeV9vcmRlciBfX2ZhaWx1cmUpIG5vZXhjZXB0CisgCQkJICAgIF9WYWw8X1Rw PiBfX2Rlc2lyZWQsCisgCQkJICAgIG1lbW9yeV9vcmRlciBfX3N1Y2Nlc3MsIG1lbW9yeV9vcmRl ciBfX2ZhaWx1cmUsCisgCQkJICAgIGJvb2wgX193ZWFrID0gdHJ1ZSkgbm9leGNlcHQKICAgICAg ICB7CiArCV9fZ2xpYmN4eF9hc3NlcnQoX19pc192YWxpZF9jbXBleGNoX2ZhaWx1cmVfb3JkZXIo X19mYWlsdXJlKSk7Ci0gCisgI2lmIF9faGFzX2J1aWx0aW4oX19idWlsdGluX2NsZWFyX3BhZGRp bmcpCisgCWlmIF9HTElCQ1hYX0NPTlNURVhQUjE3IChfX21heWJlX2hhc19wYWRkaW5nPF9UcD4o KSkKKyAJICB7CisgCSAgICBfVmFsPF9UcD4gX19leHBlY3RlZDAgPSBfX2V4cGVjdGVkOworIAkg ICAgYXV0byogX19leHAgPSBfX2F0b21pY19pbXBsOjpfX2NsZWFyX3BhZGRpbmcoX19leHBlY3Rl ZDApOworIAkgICAgYXV0byogX19kZXMgPSBfX2F0b21pY19pbXBsOjpfX2NsZWFyX3BhZGRpbmco X19kZXNpcmVkKTsKKyAJICAgIGlmIChfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlKF9fcHRyLCBf X2V4cCwgX19kZXMsIF9fd2VhaywKKyAJCQkJCSAgaW50KF9fc3VjY2VzcyksIGludChfX2ZhaWx1 cmUpKSkKKyAJICAgICAgcmV0dXJuIHRydWU7CisgCSAgICBfX2J1aWx0aW5fbWVtY3B5KHN0ZDo6 X19hZGRyZXNzb2YoX19leHBlY3RlZCksIF9fZXhwLCBzaXplb2YoX1RwKSk7CisgCSAgICByZXR1 cm4gZmFsc2U7CisgCSAgfQogLQllbHNlCisgI2VuZGlmCiAgCXJldHVybiBfX2F0b21pY19jb21w YXJlX2V4Y2hhbmdlKF9fcHRyLCBzdGQ6Ol9fYWRkcmVzc29mKF9fZXhwZWN0ZWQpLAotIAkJCQkJ IHN0ZDo6X19hZGRyZXNzb2YoX19kZXNpcmVkKSwgdHJ1ZSwKKyAJCQkJCSBzdGQ6Ol9fYWRkcmVz c29mKF9fZGVzaXJlZCksIF9fd2VhaywKICAJCQkJCSBpbnQoX19zdWNjZXNzKSwgaW50KF9fZmFp bHVyZSkpOwogICAgICAgIH0KICAKQEBAIC0xMDAwLDExIC0xMDQ0LDggKzEwMzUsOSBAQEAKICAJ CQkgICAgICBfVmFsPF9UcD4gX19kZXNpcmVkLCBtZW1vcnlfb3JkZXIgX19zdWNjZXNzLAogIAkJ CSAgICAgIG1lbW9yeV9vcmRlciBfX2ZhaWx1cmUpIG5vZXhjZXB0CiAgICAgICAgewogKwlfX2ds aWJjeHhfYXNzZXJ0KF9faXNfdmFsaWRfY21wZXhjaF9mYWlsdXJlX29yZGVyKF9fZmFpbHVyZSkp OwotIAotIAlyZXR1cm4gX19hdG9taWNfY29tcGFyZV9leGNoYW5nZShfX3B0ciwgc3RkOjpfX2Fk ZHJlc3NvZihfX2V4cGVjdGVkKSwKLSAJCQkJCSBzdGQ6Ol9fYWRkcmVzc29mKF9fZGVzaXJlZCks IGZhbHNlLAotIAkJCQkJIGludChfX3N1Y2Nlc3MpLCBpbnQoX19mYWlsdXJlKSk7CisgCXJldHVy biBjb21wYXJlX2V4Y2hhbmdlX3dlYWsoX19wdHIsIF9fZXhwZWN0ZWQsIF9fZGVzaXJlZCwgX19z dWNjZXNzLAorIAkJCQkgICAgIF9fZmFpbHVyZSwgZmFsc2UpOwogICAgICAgIH0KICAKICAjaWYg X19jcHBfbGliX2F0b21pY193YWl0Cg== --00000000000030a70c05cd215609--