Merge "Small fixes for vmv_v_i test"
diff --git a/tests/vmv_test.cpp b/tests/vmv_test.cpp
index 0cc0dd0..e934f7a 100644
--- a/tests/vmv_test.cpp
+++ b/tests/vmv_test.cpp
@@ -243,13 +243,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;
@@ -259,6 +259,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++) { \
@@ -266,21 +267,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); \
} \
}