================
@@ -0,0 +1,24 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef __CLC_OPENCL_ATOMIC_ATOMIC_COMPARE_EXCHANGE_STRONG_H__
+#define __CLC_OPENCL_ATOMIC_ATOMIC_COMPARE_EXCHANGE_STRONG_H__
+
+#define FUNCTION atomic_compare_exchange_strong
----------------
wenju-he wrote:

> We should probably be only declaring/defining these OpenCL builtins according 
> to the appropriate language features. For instance, for 
> `atomic_compare_exchange_strong` we have:
> 
> ```c
> // Requires OpenCL C 3.0 or newer and both the __opencl_c_atomic_order_seq_cst
> // and __opencl_c_atomic_scope_device features.
> ```
> 
> The CLC functions are probably fine and we can unconditionally include them, 
> for simplicity. But I feel we should be adhering to the spec for OpenCL 
> builtins.

thanks @frasercrmck, done in 
https://github.com/llvm/llvm-project/pull/146814/commits/01866e742d694e8119705ed8446530d18c3d761f
 for all new built-ins introduced in this PR.

I also changed __MEMORY_SCOPE_SYSTEM to __MEMORY_SCOPE_DEVICE since these new 
built-ins requires __opencl_c_atomic_scope_device definition.


https://github.com/llvm/llvm-project/pull/146814
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to