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); \ } \ }