Merge changes I7e7dc515,I25723c65
* changes:
Move zero_registers function into test_v_helpers library.
Fix formatting on vle_vse, vsetvl and test_v_helpers.
diff --git a/springbok/include/springbok.h b/springbok/include/springbok.h
index ebe4564..80905a7 100644
--- a/springbok/include/springbok.h
+++ b/springbok/include/springbok.h
@@ -4,25 +4,32 @@
#include <stdio.h>
#define ERROR_TAG "ERROR"
+#define WARN_TAG "WARN"
#define INFO_TAG "INFO"
#define DEBUG_TAG "DEBUG"
+#define NOISY_TAG "NOISY"
#define LOG_FMT "%s |"
#define LOG_ARGS(LOG_TAG) LOG_TAG
-#define LOG_MAX_SZ 256
+#define LOG_MAX_SZ 256
-#define SIMLOG(sim_log_level,fmt, ...) \
- do { \
- char tmp_log_msg[LOG_MAX_SZ]; \
- snprintf(tmp_log_msg, LOG_MAX_SZ, fmt, __VA_ARGS__); \
- springbok_simprint_##sim_log_level(tmp_log_msg, 0); \
- } while (0)
+#define SIMLOG(sim_log_level, fmt, ...) \
+ do { \
+ char tmp_log_msg[LOG_MAX_SZ]; \
+ snprintf(tmp_log_msg, LOG_MAX_SZ, fmt, __VA_ARGS__); \
+ springbok_simprint_##sim_log_level(tmp_log_msg, 0); \
+ } while (0)
-#define LOG_ERROR(msg, args...) SIMLOG(error, LOG_FMT msg, LOG_ARGS(ERROR_TAG), ## args)
-#define LOG_WARN(msg, args...) SIMLOG(warning, LOG_FMT msg, LOG_ARGS(ERROR_TAG), ## args)
-#define LOG_INFO(msg, args...) SIMLOG(info, LOG_FMT msg, LOG_ARGS(INFO_TAG), ## args)
-#define LOG_DEBUG(msg, args...) SIMLOG(debug, LOG_FMT msg, LOG_ARGS(DEBUG_TAG), ## args)
-#define LOG_NOISY(msg, args...) SIMLOG(noisy, LOG_FMT msg, LOG_ARGS(ERROR_TAG), ## args)
+#define LOG_ERROR(msg, args...) \
+ SIMLOG(error, LOG_FMT msg, LOG_ARGS(ERROR_TAG), ##args)
+#define LOG_WARN(msg, args...) \
+ SIMLOG(warning, LOG_FMT msg, LOG_ARGS(WARN_TAG), ##args)
+#define LOG_INFO(msg, args...) \
+ SIMLOG(info, LOG_FMT msg, LOG_ARGS(INFO_TAG), ##args)
+#define LOG_DEBUG(msg, args...) \
+ SIMLOG(debug, LOG_FMT msg, LOG_ARGS(DEBUG_TAG), ##args)
+#define LOG_NOISY(msg, args...) \
+ SIMLOG(noisy, LOG_FMT msg, LOG_ARGS(NOISY_TAG), ##args)
#endif
diff --git a/tests/vmv_test.cpp b/tests/vmv_test.cpp
index bebd9bd..ff58a2f 100644
--- a/tests/vmv_test.cpp
+++ b/tests/vmv_test.cpp
@@ -234,13 +234,13 @@
int32_t avl = AVLS[i];
int vlmax;
int vl;
- std::tie(vlmax, vl) = vmv_test_setup<uint8_t>(VLMUL::LMUL_M1, avl);
+ std::tie(vlmax, vl) = vmv_test_setup<int8_t>(VLMUL::LMUL_M1, avl);
if (avl > vlmax) {
continue;
}
- uint8_t *ptr_vec_1 = reinterpret_cast<uint8_t *>(test_vector_1);
- uint8_t *ptr_vec_2 = reinterpret_cast<uint8_t *>(test_vector_2);
- uint8_t test_val = -12;
+ int8_t *ptr_vec_1 = reinterpret_cast<int8_t *>(test_vector_1);
+ int8_t *ptr_vec_2 = reinterpret_cast<int8_t *>(test_vector_2);
+ int8_t test_val = -12;
__asm__ volatile("vmv.v.i v8, -12" ::);
for (int i = 0; i < vl; i++) {
ptr_vec_1[i] = test_val;
@@ -250,6 +250,7 @@
}
}
+// TODO(gkielian): Allow mechanism for multiple tests for same sew,lmul pair
#define DEFINE_TEST_VMV_V_I_I(_SEW_, _LMUL_, TEST_VAL) \
TEST_F(VmvTest, vmv_v_i_e##_SEW_##m##_LMUL_) { \
for (int i = 0; i < AVL_COUNT; i++) { \
@@ -257,21 +258,21 @@
int vlmax; \
int vl; \
std::tie(vlmax, vl) = \
- vmv_test_setup<uint##_SEW_##_t>(VLMUL::LMUL_M##_LMUL_, avl); \
+ vmv_test_setup<int##_SEW_##_t>(VLMUL::LMUL_M##_LMUL_, avl); \
if (avl > vlmax) { \
continue; \
} \
- uint##_SEW_##_t *ptr_vec_1 = \
- reinterpret_cast<uint##_SEW_##_t *>(test_vector_1); \
- uint##_SEW_##_t *ptr_vec_2 = \
- reinterpret_cast<uint##_SEW_##_t *>(test_vector_2); \
- uint##_SEW_##_t test_val = -12; \
- __asm__ volatile("vmv.v.i v8, -12" ::); \
+ int##_SEW_##_t *ptr_vec_1 = \
+ reinterpret_cast<int##_SEW_##_t *>(test_vector_1); \
+ int##_SEW_##_t *ptr_vec_2 = \
+ reinterpret_cast<int##_SEW_##_t *>(test_vector_2); \
+ int##_SEW_##_t test_val = TEST_VAL; \
+ __asm__ volatile("vmv.v.i v8, " #TEST_VAL); \
for (int i = 0; i < vl; i++) { \
ptr_vec_1[i] = test_val; \
} \
__asm__ volatile("vse" #_SEW_ ".v v8, (%0)" : : "r"(ptr_vec_2)); \
- vmv_check<uint##_SEW_##_t>(vlmax); \
+ vmv_check<int##_SEW_##_t>(vlmax); \
} \
}