From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com [IPv6:2a00:1450:4864:20::22d]) by sourceware.org (Postfix) with ESMTPS id CE277388B6B8 for ; Mon, 5 Dec 2022 07:44:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CE277388B6B8 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-lj1-x22d.google.com with SMTP id h10so12542768ljk.11 for ; Sun, 04 Dec 2022 23:44:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=8xmvBQLjzgoTrbiorGC4jfG/Dcq/KSYBDoUYHCbCZiw=; b=b8htzgkKFrrXOdjYX6rwCVP/yPsKrD1NzdVZE+H7ML5jVdNW9QsBneJu+a35ptf+xK aRWy1GC90xz/y6HoC5uJ6+q2ElUuSd7P2uVv9DXvstR1n2Uh1UOCQc40rZmX0S+Z9B/i FYm1nVmDihi1nkKzKTT009YE5yhO8PukiffkfbT4gfw7tQ/ZHAV8PWXiCZpz0eUKa1of HXN2KE1QG5ug40QfiRs2cPjd6BUFdIMYRWvZwknOrPgRW+rn1Ho6pjQefK0/bs8fK18Y JL1gGTPpU3tBauOP40hQUlQmkTIOWt7zfLG96d8RT/PlCQO5nlwmnFb4M4V8EujI8Qz4 rRFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding: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=8xmvBQLjzgoTrbiorGC4jfG/Dcq/KSYBDoUYHCbCZiw=; b=sGAC/vXTtcf0R5XQpxjdafMknbmw6MeGNjj4x46i4l1kp4WwYgod/PIeWF1dphhLVL YHV8wWDGRqYKZyn+JYSKRrf3f10DH9JMiEdeMT5CANKESSs+oWDsiY4x7QB+dSADtkzb aZC4UN3Ycf9BOXxcX+dZmmaIVWut5MB+srHfY9/wi2yvnj2FvysvqCOoojR3+wSAmrMZ b0WOs7THcamxgZrydRrR7d5qxXUeprV68U614lUvtoo63Hi2qLTpC3KhLm6QVRaMsoXD QQGY1kBpR9QalRNTnThR0lVTZt64DW9iPaCP8wosoN72PLyJcEg/Fhr0ohLjlwSiTQZC LiIA== X-Gm-Message-State: ANoB5pl5Nf6IsmHc7YsVdw8s6JpkkOl3MXuCmU8vgQwfrY42RfjtBLKS 4a7uVfGmNGzG9pV3SYDL2IrJVNLx5hzBF9MPppA= X-Google-Smtp-Source: AA0mqf5SGKPLKIYv+8S2sw888CbxrJ6I7wQzrrX/MBZ7ixXuPQycMHpJxOdSNQtheONit5Hzmnxv8hj87u0fjaeE0W0= X-Received: by 2002:a2e:98d5:0:b0:279:dc61:9922 with SMTP id s21-20020a2e98d5000000b00279dc619922mr4685938ljj.356.1670226260233; Sun, 04 Dec 2022 23:44:20 -0800 (PST) MIME-Version: 1.0 References: <13ec35ee-19b2-536c-42d9-28efcd01df5b@embedded-brains.de> <582f9b96-47e9-6005-8d62-fd209f979848@embedded-brains.de> In-Reply-To: From: Richard Biener Date: Mon, 5 Dec 2022 08:44:07 +0100 Message-ID: Subject: Re: -fprofile-update=atomic vs. 32-bit architectures To: Sebastian Huber Cc: GCC Development Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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: On Mon, Dec 5, 2022 at 8:26 AM Sebastian Huber wrote: > > On 08/11/2022 11:25, Richard Biener wrote: > >> It would be great to have a code example for the construction of the "= if > >> (f()) f();". > > I think for the function above we need to emit __atomic_fetch_add_8, > > not the emulated form because we cannot insert the required control > > flow (if (f()) f()) on an edge. The __atomic_fetch_add_8 should then b= e > > lowered after the instrumentation took place. > > Would it help to change the > > if (__atomic_add_fetch_4 ((unsigned int *) &val, 1, __ATOMIC_RELAXED= ) > =3D=3D 0) > __atomic_fetch_add_4 (((unsigned int *) &val) + 1, 1, > __ATOMIC_RELAXED); > > into > > unsigned int v =3D __atomic_add_fetch_4 ((unsigned int *) &val, 1, > __ATOMIC_RELAXED) > =3D=3D 0) > v =3D (unsigned int)(v =3D=3D 0); > __atomic_fetch_add_4 (((unsigned int *) &val) + 1, 1, > __ATOMIC_RELAXED); that's supposed to add 'v' instead of 1? Possibly use uint32_t here (aka uint32_type_node). > > to get rid of an inserted control flow? That for sure wouldn't require any changes to how the profile instrumentation works, so yes it would be simpler. Richard. > On riscv this is optimized to: > > li a4,1 > amoadd.w a5,a4,0(a0) > addi a5,a5,1 > seqz a5,a5 > addi a4,a0,4 > amoadd.w zero,a5,0(a4) > > > -- > embedded brains GmbH > Herr Sebastian HUBER > Dornierstr. 4 > 82178 Puchheim > Germany > email: sebastian.huber@embedded-brains.de > phone: +49-89-18 94 741 - 16 > fax: +49-89-18 94 741 - 08 > > Registergericht: Amtsgericht M=C3=BCnchen > Registernummer: HRB 157899 > Vertretungsberechtigte Gesch=C3=A4ftsf=C3=BChrer: Peter Rasmussen, Thomas= D=C3=B6rfler > Unsere Datenschutzerkl=C3=A4rung finden Sie hier: > https://embedded-brains.de/datenschutzerklaerung/