================
@@ -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