Lines Matching refs:bits

953 #define DEFINE_TSAN_ATOMIC_LOAD_STORE(bits)                                                        \  argument
954 u##bits __tsan_atomic##bits##_load(const u##bits *ptr, int memorder); \
955 u##bits __tsan_atomic##bits##_load(const u##bits *ptr, int memorder) \
958 check_access(ptr, bits / BITS_PER_BYTE, KCSAN_ACCESS_ATOMIC); \
962 EXPORT_SYMBOL(__tsan_atomic##bits##_load); \
963 void __tsan_atomic##bits##_store(u##bits *ptr, u##bits v, int memorder); \
964 void __tsan_atomic##bits##_store(u##bits *ptr, u##bits v, int memorder) \
967 check_access(ptr, bits / BITS_PER_BYTE, \
972 EXPORT_SYMBOL(__tsan_atomic##bits##_store)
974 #define DEFINE_TSAN_ATOMIC_RMW(op, bits, suffix) \ argument
975 u##bits __tsan_atomic##bits##_##op(u##bits *ptr, u##bits v, int memorder); \
976 u##bits __tsan_atomic##bits##_##op(u##bits *ptr, u##bits v, int memorder) \
979 check_access(ptr, bits / BITS_PER_BYTE, \
985 EXPORT_SYMBOL(__tsan_atomic##bits##_##op)
1004 #define DEFINE_TSAN_ATOMIC_CMPXCHG(bits, strength, weak) \ argument
1005 int __tsan_atomic##bits##_compare_exchange_##strength(u##bits *ptr, u##bits *exp, \
1006 u##bits val, int mo, int fail_mo); \
1007 int __tsan_atomic##bits##_compare_exchange_##strength(u##bits *ptr, u##bits *exp, \
1008 u##bits val, int mo, int fail_mo) \
1011 check_access(ptr, bits / BITS_PER_BYTE, \
1017 EXPORT_SYMBOL(__tsan_atomic##bits##_compare_exchange_##strength)
1019 #define DEFINE_TSAN_ATOMIC_CMPXCHG_VAL(bits) \ argument
1020 u##bits __tsan_atomic##bits##_compare_exchange_val(u##bits *ptr, u##bits exp, u##bits val, \
1022 u##bits __tsan_atomic##bits##_compare_exchange_val(u##bits *ptr, u##bits exp, u##bits val, \
1026 check_access(ptr, bits / BITS_PER_BYTE, \
1033 EXPORT_SYMBOL(__tsan_atomic##bits##_compare_exchange_val)
1035 #define DEFINE_TSAN_ATOMIC_OPS(bits) \ argument
1036 DEFINE_TSAN_ATOMIC_LOAD_STORE(bits); \
1037 DEFINE_TSAN_ATOMIC_RMW(exchange, bits, _n); \
1038 DEFINE_TSAN_ATOMIC_RMW(fetch_add, bits, ); \
1039 DEFINE_TSAN_ATOMIC_RMW(fetch_sub, bits, ); \
1040 DEFINE_TSAN_ATOMIC_RMW(fetch_and, bits, ); \
1041 DEFINE_TSAN_ATOMIC_RMW(fetch_or, bits, ); \
1042 DEFINE_TSAN_ATOMIC_RMW(fetch_xor, bits, ); \
1043 DEFINE_TSAN_ATOMIC_RMW(fetch_nand, bits, ); \
1044 DEFINE_TSAN_ATOMIC_CMPXCHG(bits, strong, 0); \
1045 DEFINE_TSAN_ATOMIC_CMPXCHG(bits, weak, 1); \
1046 DEFINE_TSAN_ATOMIC_CMPXCHG_VAL(bits)