From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id D95503857023; Mon, 6 Sep 2021 11:09:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D95503857023 From: "burnus at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/102215] [GCN offloading] Missing '__atomic_compare_exchange_1' etc. Date: Mon, 06 Sep 2021 11:09:22 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: openmp X-Bugzilla-Severity: normal X-Bugzilla-Who: burnus at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Sep 2021 11:09:23 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D102215 Tobias Burnus changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu.org --- Comment #2 from Tobias Burnus --- (In reply to Jakub Jelinek from comment #1) > So what did it do for __sync_val_compare_and_exchange_1 ? > Was that expanded inline, or do we have such entrypoint somewhere outside= of > libatomic, something else? For nvptx, it became more exposed as libgomp.c-c++-common/reduction-16.c required __sync_val_compare_and_swap_16 =E2=80=93 but only on PowerPC =E2= =80=93 such that config/nvptx/atomic.c was added, which in turn required __atomic_compare_exchange_n. Cf. (libgomp) r11-3182 and (libatomic + config/nvptx/nvptx.md) r11-3145 w/ PR96898 + PR96964. GCN: It seems as everything required so far was handled inline. I did note = that one could create atomic testcases which are not handled and require __atomi= c_ / the nonexisting libatomic library. Regarding libatomic, it is currently disabled for gcn via libatomic/configure.tgt: *) # Who are you? UNSUPPORTED=3D1 ;; esac I don't know what's needed to support it, but for nvptx, it were only a few lines, cf. r11-3145=