On 09/23/15 10:16, Thomas Schwinge wrote:
Hi Nathan!
On Wed, 23 Sep 2015 08:40:51 -0400, Nathan Sidwell <nat...@codesourcery.com>
wrote:
On 09/23/15 05:27, Thomas Schwinge wrote:
On Mon, 17 Aug 2015 15:30:16 -0400, Nathan Sidwell <nat...@acm.org> wrote:
I've committed this patch to add a new pair of internal functions. These will
be used in implementing reductions.
They'll be emitted around reduction finalization, and implement the locking
required for the general case of combining reduction values. They may be
transformed in the oacc_xform pass, and the default behaviour is to delete them,
if there is no RTL expander. For PTX we delete them if they are at the vector
level.
This avoids needing machine-specific builtins to expand to, and thus should
result in less backend code duplication.
With the __builtin_nvptx_lock and __builtin_nvptx_unlock builtins
removed, should the gcc.target/nvptx/spinlock-1.c and
gcc.target/nvptx/spinlock-2.c test cases then be removed, too, or should
these be re-written differently?
confused. I don't think I remoced those locks. Certainly didn't intend to, and
I would have expected massive test fails if I had.
You didn't remove the functionality, but you did remove the
__builtin_nvptx_lock and __builtin_nvptx_unlock builtins (which the two
test cases were written for), replacing them with GOACC_LOCK/GOACC_UNLOCK
internal functions, nvptx_expand_oacc_lock_unlock.
ah, thanks. I expect even these are going to go away soon. the spinlock
testcases should be removed.
nathan
--
Nathan Sidwell