Commit 2458f0cab5 for qemu.org
commit 2458f0cab5aaa21117f2a151e2f4f1e7d4f9d0ce
Author: Richard Henderson <richard.henderson@linaro.org>
Date: Mon Aug 10 12:26:57 2026 -0700
tests/tcg/loongarch64: Tidy test_bit.c
Use one macro for all test templates.
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
diff --git a/tests/tcg/loongarch64/test_bit.c b/tests/tcg/loongarch64/test_bit.c
index a6d9904909..69b2eaac78 100644
--- a/tests/tcg/loongarch64/test_bit.c
+++ b/tests/tcg/loongarch64/test_bit.c
@@ -2,62 +2,23 @@
#include <inttypes.h>
#define ARRAY_SIZE(X) (sizeof(X) / sizeof(*(X)))
-#define TEST_CLO(N) \
-static uint64_t test_clo_##N(uint64_t rj) \
-{ \
- uint64_t rd = 0; \
- \
- asm volatile("clo."#N" %0, %1\n\t" \
- : "=r"(rd) \
- : "r"(rj) \
- : ); \
- return rd; \
-}
-
-#define TEST_CLZ(N) \
-static uint64_t test_clz_##N(uint64_t rj) \
-{ \
- uint64_t rd = 0; \
- \
- asm volatile("clz."#N" %0, %1\n\t" \
- : "=r"(rd) \
- : "r"(rj) \
- : ); \
- return rd; \
-}
-
-#define TEST_CTO(N) \
-static uint64_t test_cto_##N(uint64_t rj) \
-{ \
- uint64_t rd = 0; \
- \
- asm volatile("cto."#N" %0, %1\n\t" \
- : "=r"(rd) \
- : "r"(rj) \
- : ); \
- return rd; \
-}
-#define TEST_CTZ(N) \
-static uint64_t test_ctz_##N(uint64_t rj) \
-{ \
- uint64_t rd = 0; \
- \
- asm volatile("ctz."#N" %0, %1\n\t" \
- : "=r"(rd) \
- : "r"(rj) \
- : ); \
- return rd; \
+#define TEST(C, I) \
+static uint64_t test_##C(uint64_t rj) \
+{ \
+ uint64_t rd; \
+ asm volatile(I " %0, %1\n\t" : "=r"(rd) : "r"(rj)); \
+ return rd; \
}
-TEST_CLO(w)
-TEST_CLO(d)
-TEST_CLZ(w)
-TEST_CLZ(d)
-TEST_CTO(w)
-TEST_CTO(d)
-TEST_CTZ(w)
-TEST_CTZ(d)
+TEST(clo_w, "clo.w")
+TEST(clo_d, "clo.d")
+TEST(clz_w, "clz.w")
+TEST(clz_d, "clz.d")
+TEST(cto_w, "cto.w")
+TEST(cto_d, "cto.d")
+TEST(ctz_w, "ctz.w")
+TEST(ctz_d, "ctz.d")
struct vector {
uint64_t (*func)(uint64_t);