Lines Matching refs:bits

964 #define DEFINE_TSAN_ATOMIC_LOAD_STORE(bits)                                                        \  argument
965 u##bits __tsan_atomic##bits##_load(const u##bits *ptr, int memorder); \
966 u##bits __tsan_atomic##bits##_load(const u##bits *ptr, int memorder) \
969 check_access(ptr, bits / BITS_PER_BYTE, KCSAN_ACCESS_ATOMIC, _RET_IP_); \
973 EXPORT_SYMBOL(__tsan_atomic##bits##_load); \
974 void __tsan_atomic##bits##_store(u##bits *ptr, u##bits v, int memorder); \
975 void __tsan_atomic##bits##_store(u##bits *ptr, u##bits v, int memorder) \
978 check_access(ptr, bits / BITS_PER_BYTE, \
983 EXPORT_SYMBOL(__tsan_atomic##bits##_store)
985 #define DEFINE_TSAN_ATOMIC_RMW(op, bits, suffix) \ argument
986 u##bits __tsan_atomic##bits##_##op(u##bits *ptr, u##bits v, int memorder); \
987 u##bits __tsan_atomic##bits##_##op(u##bits *ptr, u##bits v, int memorder) \
990 check_access(ptr, bits / BITS_PER_BYTE, \
996 EXPORT_SYMBOL(__tsan_atomic##bits##_##op)
1015 #define DEFINE_TSAN_ATOMIC_CMPXCHG(bits, strength, weak) \ argument
1016 int __tsan_atomic##bits##_compare_exchange_##strength(u##bits *ptr, u##bits *exp, \
1017 u##bits val, int mo, int fail_mo); \
1018 int __tsan_atomic##bits##_compare_exchange_##strength(u##bits *ptr, u##bits *exp, \
1019 u##bits val, int mo, int fail_mo) \
1022 check_access(ptr, bits / BITS_PER_BYTE, \
1028 EXPORT_SYMBOL(__tsan_atomic##bits##_compare_exchange_##strength)
1030 #define DEFINE_TSAN_ATOMIC_CMPXCHG_VAL(bits) \ argument
1031 u##bits __tsan_atomic##bits##_compare_exchange_val(u##bits *ptr, u##bits exp, u##bits val, \
1033 u##bits __tsan_atomic##bits##_compare_exchange_val(u##bits *ptr, u##bits exp, u##bits val, \
1037 check_access(ptr, bits / BITS_PER_BYTE, \
1044 EXPORT_SYMBOL(__tsan_atomic##bits##_compare_exchange_val)
1046 #define DEFINE_TSAN_ATOMIC_OPS(bits) \ argument
1047 DEFINE_TSAN_ATOMIC_LOAD_STORE(bits); \
1048 DEFINE_TSAN_ATOMIC_RMW(exchange, bits, _n); \
1049 DEFINE_TSAN_ATOMIC_RMW(fetch_add, bits, ); \
1050 DEFINE_TSAN_ATOMIC_RMW(fetch_sub, bits, ); \
1051 DEFINE_TSAN_ATOMIC_RMW(fetch_and, bits, ); \
1052 DEFINE_TSAN_ATOMIC_RMW(fetch_or, bits, ); \
1053 DEFINE_TSAN_ATOMIC_RMW(fetch_xor, bits, ); \
1054 DEFINE_TSAN_ATOMIC_RMW(fetch_nand, bits, ); \
1055 DEFINE_TSAN_ATOMIC_CMPXCHG(bits, strong, 0); \
1056 DEFINE_TSAN_ATOMIC_CMPXCHG(bits, weak, 1); \
1057 DEFINE_TSAN_ATOMIC_CMPXCHG_VAL(bits)