MEDIUM: compression: Use the new _HA_ATOMIC_* macros.

Use the new _HA_ATOMIC_* macros and add barriers where needed.
diff --git a/src/compression.c b/src/compression.c
index b0307b2..11e09d8 100644
--- a/src/compression.c
+++ b/src/compression.c
@@ -168,7 +168,8 @@
 	(*comp_ctx)->direct_len = 0;
 	(*comp_ctx)->queued = BUF_NULL;
 #elif defined(USE_ZLIB)
-	HA_ATOMIC_ADD(&zlib_used_memory, sizeof(struct comp_ctx));
+	_HA_ATOMIC_ADD(&zlib_used_memory, sizeof(struct comp_ctx));
+	__ha_barrier_atomic_store();
 
 	strm = &(*comp_ctx)->strm;
 	strm->zalloc = alloc_zlib;
@@ -190,7 +191,8 @@
 	*comp_ctx = NULL;
 
 #ifdef USE_ZLIB
-	HA_ATOMIC_SUB(&zlib_used_memory, sizeof(struct comp_ctx));
+	_HA_ATOMIC_SUB(&zlib_used_memory, sizeof(struct comp_ctx));
+	__ha_barrier_atomic_store();
 #endif
 	return 0;
 }
@@ -459,8 +461,10 @@
 			ctx->zlib_pending_buf = buf = pool_alloc(pool);
 		break;
 	}
-	if (buf != NULL)
-		HA_ATOMIC_ADD(&zlib_used_memory, pool->size);
+	if (buf != NULL) {
+		_HA_ATOMIC_ADD(&zlib_used_memory, pool->size);
+		__ha_barrier_atomic_store();
+	}
 
 end:
 
@@ -491,7 +495,8 @@
 		pool = zlib_pool_pending_buf;
 
 	pool_free(pool, ptr);
-	HA_ATOMIC_SUB(&zlib_used_memory, pool->size);
+	_HA_ATOMIC_SUB(&zlib_used_memory, pool->size);
+	__ha_barrier_atomic_store();
 }
 
 /**************************