+#endif
+
+#undef os_atomic_force_dependency_on
+#if defined(__arm64__)
+#define os_atomic_force_dependency_on(p, e) ({ \
+ unsigned long _v; \
+ __asm__("and %x[_v], %x[_e], xzr" : [_v] "=r" (_v) : [_e] "r" (e)); \
+ (typeof(*(p)) *)((char *)(p) + _v); \
+ })
+#else
+#define os_atomic_force_dependency_on(p, e) ({ \
+ unsigned long _v; \
+ __asm__("and %[_v], %[_e], #0" : [_v] "=r" (_v) : [_e] "r" (e)); \
+ (typeof(*(p)) *)((char *)(p) + _v); \
+ })
+#endif // defined(__arm64__)