
8 bits

atomic<int>.is_lock_free(): true
atomic<int> value: 5
store/load 0: 0
store/load 1: 1
store/load 2: 2
store/load 3: 3
store/load 4: 4
store/load 5: 5
exchange 0: old=5 new=0
exchange 1: old=0 new=1
exchange 2: old=1 new=2
exchange 3: old=2 new=3
exchange 4: old=3 new=4
exchange 5: old=4 new=5
compare_exchange_weak 5: success = false
compare_exchange_strong 5: success = false
fetch_add 0: old=0 new=1
fetch_add 1: old=1 new=2
fetch_add 2: old=2 new=3
fetch_add 3: old=3 new=4
fetch_add 4: old=4 new=5
fetch_add 5: old=5 new=6
fetch_sub 0: old=6 new=5
fetch_sub 1: old=5 new=4
fetch_sub 2: old=4 new=3
fetch_sub 3: old=3 new=2
fetch_sub 4: old=2 new=1
fetch_sub 5: old=1 new=0
fetch_and 0: old=ff, new=1
fetch_and 1: old=ff, new=2
fetch_and 2: old=ff, new=4
fetch_and 3: old=ff, new=8
fetch_and 4: old=ff, new=10
fetch_and 5: old=ff, new=20
fetch_or 0: old=0, new=1
fetch_or 1: old=1, new=3
fetch_or 2: old=3, new=7
fetch_or 3: old=7, new=f
fetch_or 4: old=f, new=1f
fetch_or 5: old=1f, new=3f
fetch_xor 0: old=0, new=1
fetch_xor 1: old=1, new=3
fetch_xor 2: old=3, new=7
fetch_xor 3: old=7, new=f
fetch_xor 4: old=f, new=1f
fetch_xor 5: old=1f, new=3f
operator++: 1
operator--: 0
operator+=: 10
operator-=: 5
operator|=: ff
operator&=: f0
operator^=: ff

16 bits

atomic<int>.is_lock_free(): true
atomic<int> value: 5
store/load 0: 0
store/load 1: 1
store/load 2: 2
store/load 3: 3
store/load 4: 4
store/load 5: 5
exchange 0: old=5 new=0
exchange 1: old=0 new=1
exchange 2: old=1 new=2
exchange 3: old=2 new=3
exchange 4: old=3 new=4
exchange 5: old=4 new=5
compare_exchange_weak 5: success = false
compare_exchange_strong 5: success = false
fetch_add 0: old=0 new=1
fetch_add 1: old=1 new=2
fetch_add 2: old=2 new=3
fetch_add 3: old=3 new=4
fetch_add 4: old=4 new=5
fetch_add 5: old=5 new=6
fetch_sub 0: old=6 new=5
fetch_sub 1: old=5 new=4
fetch_sub 2: old=4 new=3
fetch_sub 3: old=3 new=2
fetch_sub 4: old=2 new=1
fetch_sub 5: old=1 new=0
fetch_and 0: old=ffff, new=1
fetch_and 1: old=ffff, new=2
fetch_and 2: old=ffff, new=4
fetch_and 3: old=ffff, new=8
fetch_and 4: old=ffff, new=10
fetch_and 5: old=ffff, new=20
fetch_or 0: old=0, new=1
fetch_or 1: old=1, new=3
fetch_or 2: old=3, new=7
fetch_or 3: old=7, new=f
fetch_or 4: old=f, new=1f
fetch_or 5: old=1f, new=3f
fetch_xor 0: old=0, new=1
fetch_xor 1: old=1, new=3
fetch_xor 2: old=3, new=7
fetch_xor 3: old=7, new=f
fetch_xor 4: old=f, new=1f
fetch_xor 5: old=1f, new=3f
operator++: 1
operator--: 0
operator+=: 10
operator-=: 5
operator|=: ffff
operator&=: f0f0
operator^=: ffff

32 bits

atomic<int>.is_lock_free(): true
atomic<int> value: 5
store/load 0: 0
store/load 1: 1
store/load 2: 2
store/load 3: 3
store/load 4: 4
store/load 5: 5
exchange 0: old=5 new=0
exchange 1: old=0 new=1
exchange 2: old=1 new=2
exchange 3: old=2 new=3
exchange 4: old=3 new=4
exchange 5: old=4 new=5
compare_exchange_weak 5: success = false
compare_exchange_strong 5: success = false
fetch_add 0: old=0 new=1
fetch_add 1: old=1 new=2
fetch_add 2: old=2 new=3
fetch_add 3: old=3 new=4
fetch_add 4: old=4 new=5
fetch_add 5: old=5 new=6
fetch_sub 0: old=6 new=5
fetch_sub 1: old=5 new=4
fetch_sub 2: old=4 new=3
fetch_sub 3: old=3 new=2
fetch_sub 4: old=2 new=1
fetch_sub 5: old=1 new=0
fetch_and 0: old=ffffffff, new=1
fetch_and 1: old=ffffffff, new=2
fetch_and 2: old=ffffffff, new=4
fetch_and 3: old=ffffffff, new=8
fetch_and 4: old=ffffffff, new=10
fetch_and 5: old=ffffffff, new=20
fetch_or 0: old=0, new=1
fetch_or 1: old=1, new=3
fetch_or 2: old=3, new=7
fetch_or 3: old=7, new=f
fetch_or 4: old=f, new=1f
fetch_or 5: old=1f, new=3f
fetch_xor 0: old=0, new=1
fetch_xor 1: old=1, new=3
fetch_xor 2: old=3, new=7
fetch_xor 3: old=7, new=f
fetch_xor 4: old=f, new=1f
fetch_xor 5: old=1f, new=3f
operator++: 1
operator--: 0
operator+=: 10
operator-=: 5
operator|=: ffffffff
operator&=: f0f0f0f0
operator^=: ffffffff

64 bits

atomic<int>.is_lock_free(): false
atomic<int> value: 5
store/load 0: 0
store/load 1: 1
store/load 2: 2
store/load 3: 3
store/load 4: 4
store/load 5: 5
exchange 0: old=5 new=0
exchange 1: old=0 new=1
exchange 2: old=1 new=2
exchange 3: old=2 new=3
exchange 4: old=3 new=4
exchange 5: old=4 new=5
compare_exchange_weak 5: success = false
compare_exchange_strong 5: success = false
fetch_add 0: old=0 new=1
fetch_add 1: old=1 new=2
fetch_add 2: old=2 new=3
fetch_add 3: old=3 new=4
fetch_add 4: old=4 new=5
fetch_add 5: old=5 new=6
fetch_sub 0: old=6 new=5
fetch_sub 1: old=5 new=4
fetch_sub 2: old=4 new=3
fetch_sub 3: old=3 new=2
fetch_sub 4: old=2 new=1
fetch_sub 5: old=1 new=0
fetch_and 0: old=ffffffffffffffff, new=1
fetch_and 1: old=ffffffffffffffff, new=2
fetch_and 2: old=ffffffffffffffff, new=4
fetch_and 3: old=ffffffffffffffff, new=8
fetch_and 4: old=ffffffffffffffff, new=10
fetch_and 5: old=ffffffffffffffff, new=20
fetch_or 0: old=0, new=1
fetch_or 1: old=1, new=3
fetch_or 2: old=3, new=7
fetch_or 3: old=7, new=f
fetch_or 4: old=f, new=1f
fetch_or 5: old=1f, new=3f
fetch_xor 0: old=0, new=1
fetch_xor 1: old=1, new=3
fetch_xor 2: old=3, new=7
fetch_xor 3: old=7, new=f
fetch_xor 4: old=f, new=1f
fetch_xor 5: old=1f, new=3f
operator++: 1
operator--: 0
operator+=: 10
operator-=: 5
operator|=: ffffffffffffffff
operator&=: f0f0f0f0f0f0f0f0
operator^=: ffffffffffffffff
atomic_flag: false
done.
