================
@@ -117,3 +117,29 @@ int fi7a(_Bool *c) {
   return __scoped_atomic_exchange_n(c, 1, __ATOMIC_RELAXED,
                                     __MEMORY_SCOPE_SYSTEM);
 }
+
+float ff1a(float *i) {
+  float cmp = 0;
+  float desired = 1;
+  return __scoped_atomic_compare_exchange(i, &cmp, &desired, 0,
+                                          __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE,
+                                          __MEMORY_SCOPE_SYSTEM);
+}
+
+float ff2a(float *i) {
+  float cmp = 0;
+  return __scoped_atomic_compare_exchange_n(i, &cmp, 1, 1, __ATOMIC_ACQUIRE,
+                                            __ATOMIC_ACQUIRE,
+                                            __MEMORY_SCOPE_SYSTEM);
+}
+
+float ff3a(float *c, float *d) {
+  float ret;
+  __scoped_atomic_exchange(c, d, &ret, __ATOMIC_RELAXED, 
__MEMORY_SCOPE_SYSTEM);
+  return ret;
+}
+
+float ff4a(_Bool *c) {
+  return __scoped_atomic_exchange_n(c, 1, __ATOMIC_RELAXED,
+                                    __MEMORY_SCOPE_SYSTEM);
+}
----------------
arsenm wrote:

Vector cases? 

https://github.com/llvm/llvm-project/pull/183843
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to