Mesa (master): util/u_atomic: Test p_atomic_add() for 8bit integers.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Thu Feb 12 19:38:13 UTC 2015


Module: Mesa
Branch: master
Commit: d2438f5920b95a880e9146882a58bf37ec57bad5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d2438f5920b95a880e9146882a58bf37ec57bad5

Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Wed Feb 11 15:21:25 2015 +0000

util/u_atomic: Test p_atomic_add() for 8bit integers.

Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>

---

 src/util/u_atomic_test.c |   32 +++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)

diff --git a/src/util/u_atomic_test.c b/src/util/u_atomic_test.c
index c506275..8bddf8d 100644
--- a/src/util/u_atomic_test.c
+++ b/src/util/u_atomic_test.c
@@ -37,8 +37,9 @@
 #include "u_atomic.h"
 
 
-#define test_atomic_cmpxchg(type, ones) \
-   static void test_atomic_cmpxchg_##type (void) { \
+/* Test operations that are supported for all types, including 8 bits types */
+#define test_atomic_8bits(type, ones) \
+   static void test_atomic_8bits_##type (void) { \
       type v, r; \
       \
       p_atomic_set(&v, ones); \
@@ -55,18 +56,24 @@
       assert(v == 0 && "p_atomic_cmpxchg"); \
       assert(r == ones && "p_atomic_cmpxchg"); \
       \
+      v = 23; \
+      p_atomic_add(&v, 42); \
+      r = p_atomic_read(&v); \
+      assert(r == 65 && "p_atomic_add"); \
+      \
       (void) r; \
    }
 
 
+/* Test operations that are not supported for 8 bits types */
 #define test_atomic(type, ones) \
-   test_atomic_cmpxchg(type, ones) \
+   test_atomic_8bits(type, ones) \
    \
    static void test_atomic_##type (void) { \
       type v, r; \
       bool b; \
       \
-      test_atomic_cmpxchg_##type(); \
+      test_atomic_8bits_##type(); \
       \
       v = 2; \
       b = p_atomic_dec_zero(&v); \
@@ -97,11 +104,6 @@
       assert(v == ones && "p_atomic_dec_return"); \
       assert(r == v && "p_atomic_dec_return"); \
       \
-      v = 23; \
-      p_atomic_add(&v, 42); \
-      r = p_atomic_read(&v); \
-      assert(r == 65 && "p_atomic_add"); \
-      \
       (void) r; \
       (void) b; \
    }
@@ -117,9 +119,9 @@ test_atomic(uint32_t, UINT32_C(0xffffffff))
 test_atomic(int64_t, INT64_C(-1))
 test_atomic(uint64_t, UINT64_C(0xffffffffffffffff))
 
-test_atomic_cmpxchg(int8_t, INT8_C(-1))
-test_atomic_cmpxchg(uint8_t, UINT8_C(0xff))
-test_atomic_cmpxchg(bool, true)
+test_atomic_8bits(int8_t, INT8_C(-1))
+test_atomic_8bits(uint8_t, UINT8_C(0xff))
+test_atomic_8bits(bool, true)
 
 int
 main()
@@ -134,9 +136,9 @@ main()
    test_atomic_int64_t();
    test_atomic_uint64_t();
 
-   test_atomic_cmpxchg_int8_t();
-   test_atomic_cmpxchg_uint8_t();
-   test_atomic_cmpxchg_bool();
+   test_atomic_8bits_int8_t();
+   test_atomic_8bits_uint8_t();
+   test_atomic_8bits_bool();
 
    return 0;
 }




More information about the mesa-commit mailing list