• Home
  • Raw
  • Download

Lines Matching refs:bit

23 #define TEST(bit, op, c_op, val)				\  argument
25 atomic##bit##_set(&v, v0); \
27 atomic##bit##_##op(val, &v); \
29 WARN(atomic##bit##_read(&v) != r, "%Lx != %Lx\n", \
30 (unsigned long long)atomic##bit##_read(&v), \
39 #define FAMILY_TEST(test, bit, op, args...) \ argument
41 test(bit, op, ##args); \
42 test(bit, op##_acquire, ##args); \
43 test(bit, op##_release, ##args); \
44 test(bit, op##_relaxed, ##args); \
47 #define TEST_RETURN(bit, op, c_op, val) \ argument
49 atomic##bit##_set(&v, v0); \
52 BUG_ON(atomic##bit##_##op(val, &v) != r); \
53 BUG_ON(atomic##bit##_read(&v) != r); \
56 #define TEST_FETCH(bit, op, c_op, val) \ argument
58 atomic##bit##_set(&v, v0); \
61 BUG_ON(atomic##bit##_##op(val, &v) != v0); \
62 BUG_ON(atomic##bit##_read(&v) != r); \
65 #define RETURN_FAMILY_TEST(bit, op, c_op, val) \ argument
67 FAMILY_TEST(TEST_RETURN, bit, op, c_op, val); \
70 #define FETCH_FAMILY_TEST(bit, op, c_op, val) \ argument
72 FAMILY_TEST(TEST_FETCH, bit, op, c_op, val); \
75 #define TEST_ARGS(bit, op, init, ret, expect, args...) \ argument
77 atomic##bit##_set(&v, init); \
78 BUG_ON(atomic##bit##_##op(&v, ##args) != ret); \
79 BUG_ON(atomic##bit##_read(&v) != expect); \
82 #define XCHG_FAMILY_TEST(bit, init, new) \ argument
84 FAMILY_TEST(TEST_ARGS, bit, xchg, init, init, new, new); \
87 #define CMPXCHG_FAMILY_TEST(bit, init, new, wrong) \ argument
89 FAMILY_TEST(TEST_ARGS, bit, cmpxchg, \
91 FAMILY_TEST(TEST_ARGS, bit, cmpxchg, \
95 #define INC_RETURN_FAMILY_TEST(bit, i) \ argument
97 FAMILY_TEST(TEST_ARGS, bit, inc_return, \
101 #define DEC_RETURN_FAMILY_TEST(bit, i) \ argument
103 FAMILY_TEST(TEST_ARGS, bit, dec_return, \