From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) by sourceware.org (Postfix) with ESMTPS id BA0FC3858D32; Tue, 16 Apr 2024 06:44:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BA0FC3858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BA0FC3858D32 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::62d ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713249891; cv=none; b=fH9IdD8HRLhfQCLx5vXWLTvx849sLv/q8NYZWHpqSi59EbuxinHh6kaW2CVk5hoDEggUu0AgViESTi94CgBRMc36pQ4DavVbBkbGJhrff/Cii1s+CnUXzbdts2baa9YfblMWyqRjOnYaIceE6zrTRwhWZ9AK9FrMRvvelxSCUAE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713249891; c=relaxed/simple; bh=4wFtutgok3YyE7OF8rrg6c3UWO96cRkq7W1Ahaj9jY8=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=V3iqQer8B0TJvsDu7uTFkiiahe1wyfeiKRjOZlt/EK1gppNsc5bcWGmk6xVL7R4J2QYlXeTWri3KTLl0ZFl8EpOxX0owxCSjaLRDrvE2lprOmhWL7xkr96EiwvRpbjgSw5iLu2hoR/8fU/jJ4+osi4kgs3O+QQ9X86MlKnjiZok= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-a450bedffdfso496698966b.3; Mon, 15 Apr 2024 23:44:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713249888; x=1713854688; darn=gcc.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=DZiEOyxkUpNl2rNXYeo0LyvoXGBb2l192zpUndQ4TOU=; b=Bb49aSGnjcrczSjbLDR0B4jPoAXAVABjFAnSE9Y0MnuqFHQiWxsS0TVs68kyYUKD9b KCQvZ9asAQEqne+oezXyXf8rYjD2w1qhP7+RZzAJQemoGsE9Px81wxEivKNDtQPCKIFy dCLW+SHDlEP5HCqkoEBNpoZt5vHGyQeS8f7o/IR7pprbhKJ1/M/ls2mI0mp/CVMjxVjx F84cHhe3eYvIqstbGdn4GdGwwwySoTQ0WuajNo0+GlNgflS3OxbmmzxbxWm41kSpQfHd NmQ6eT7t01+L9gamO/m7sxFl55dlw0uTtOsbwHNWlrR0yncY2EsS82DXvFc75mz3t03A izew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713249888; x=1713854688; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DZiEOyxkUpNl2rNXYeo0LyvoXGBb2l192zpUndQ4TOU=; b=NQx4YkMk6mKoovQHnpBX8w7myZ0Xax5OBf9siXETZ/eJFp1eVLgUu0snv4YkxVakbF Ts15evFrxukz4IS0XXsfKoy4jHccjk392ISjTZSBYNsjJWAz/zV5ZOmgPH29JnXuolbu 2vH/mYBihkXjTNiqing32rdtT8XF5h8zeZWqLH719V9nQcAWhebDuzXI/xCCPx5RrNTB uTAZd6mKqk7b8F/WzPq4DSP1/uaHYV9D/kU6y657vUDIGbO0PBE8Ptm+sSiVvS5gBiTl 6xaFacwnOS5bwPzDUCq8jmA1+3Zqz/lCF6e/F2USbz3uatpBHgqSyaOeueXLx8lJoS9R v/mQ== X-Forwarded-Encrypted: i=1; AJvYcCVtyaE2n3fcRyu0ZDVVsHF772IE5C4OBGKEjmrB2ipvyqCJs0QjZcjkvg6DG9WMY9czsXIoru7sAePLJ0v28PfW4jfj3+s= X-Gm-Message-State: AOJu0Yy3x65HzYYy4+yNFJsIV5AtqwtyBFG0DtJX0rb1OB3MvZhqfo1K LblkaougBCeZkzCH0XHLRjfQiyaSMEIkAA/I+tJfo1U/7pW6FyxA9EbVC2BNodQqctUGJGaGkQM QVyYKnhRte9mnVhypHnmY/BQgtwMd3A== X-Google-Smtp-Source: AGHT+IFVfYsqK+EPWs42D7FvWMCiNKpHpoTknVBgZAjxXDB/jSYhbd3KIke8YlrtMCiWXqnkNp6r+vOZX6rMxJZu0Jk= X-Received: by 2002:a17:906:54e:b0:a52:6cdc:c83 with SMTP id k14-20020a170906054e00b00a526cdc0c83mr2523464eja.64.1713249888326; Mon, 15 Apr 2024 23:44:48 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jonathan Wakely Date: Tue, 16 Apr 2024 07:44:37 +0100 Message-ID: Subject: Re: [PATCH] [libstdc++] [testsuite] disable SRA for compare_exchange_padding To: Alexandre Oliva Cc: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,WEIRD_QUOTING 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: On Tue, 16 Apr 2024 at 04:49, Alexandre Oliva wrote: > > > On arm-vx7r2, the uses of as.load() as initializer get SRAed, so the > padding bits in the tests are not what we might expect from full-word > struct copies. Aha, I was wondering why this was failing on ARM! > I tried adding a function to perform bitwise copying, but even taking > the as.load() argument by const&, we'd still construct a temporary > with SRAed field-wise copying. Unable to find another way to ensure > we wouldn't get a temporary, I went for disabling SRA. > > Regstrapped on x86_64-linux-gnu. Also tested with gcc-13 on arm-, > aarch64-, x86- and x86_64-vxworks7r2. Ok to install? Yes, thanks. > > > for libstdc++-v3/ChangeLog > > * testsuite/29_atomics/atomic/compare_exchange_padding.cc: > Disable SRA. > --- > .../29_atomics/atomic/compare_exchange_padding.cc | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc b/libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc > index 2f18d426e7f7e..a6081968ca869 100644 > --- a/libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc > +++ b/libstdc++-v3/testsuite/29_atomics/atomic/compare_exchange_padding.cc > @@ -1,6 +1,7 @@ > // { dg-do run { target c++20 } } > // { dg-require-atomic-cmpxchg-word "" } > // { dg-add-options libatomic } > +// { dg-additional-options "-fno-tree-sra" } > > #include > #include > @@ -26,10 +27,10 @@ main () > s.s = 42; > > std::atomic as{ s }; > - auto ts = as.load(); > + auto ts = as.load(); // SRA might prevent copying of padding bits here. > VERIFY( !compare_struct(s, ts) ); // padding cleared on construction > as.exchange(s); > - auto es = as.load(); > + auto es = as.load(); // SRA might prevent copying of padding bits here. > VERIFY( compare_struct(ts, es) ); // padding cleared on exchange > > S n; > > -- > Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ > Free Software Activist GNU Toolchain Engineer > More tolerance and less prejudice are key for inclusion and diversity > Excluding neuro-others for not behaving ""normal"" is *not* inclusive