Fix getvl_test build warning

Change the test macros to avoid the unspecified behavior

Change-Id: I01c69c5e0b2665521f8ec774756f3fc9f0ac989c
diff --git a/tests/kelvin_isa/BUILD b/tests/kelvin_isa/BUILD
index f6b6802..158ef33 100644
--- a/tests/kelvin_isa/BUILD
+++ b/tests/kelvin_isa/BUILD
@@ -15,8 +15,8 @@
     srcs = [
         "getvl_test.cc",
     ],
-    copts = [
-        "-Wno-address",
+    hdrs = [
+        "kelvin_test.h",
     ],
     deps = [
         ":kelvin_test",
diff --git a/tests/kelvin_isa/getvl_test.cc b/tests/kelvin_isa/getvl_test.cc
index bae225e..8d547a1 100644
--- a/tests/kelvin_isa/getvl_test.cc
+++ b/tests/kelvin_isa/getvl_test.cc
@@ -6,14 +6,14 @@
 #include "tests/kelvin_isa/kelvin_test.h"
 
 // clang-format off
-#define TEST_GETVL_X(op, in)                                              \
+#define TEST_GETVL_X(T, op, in)                                           \
   {                                                                       \
     int ref, dut;                                                         \
-    if (op == "getvl.b.x" || op == "getvl.b.x.m") {                       \
+    if (sizeof(T) == 1) {                                                 \
       ref = std::min(vlb, in);                                            \
-    } else if (op == "getvl.h.x" || op == "getvl.h.x.m") {                \
+    } else if (sizeof(T) == 2) {                                          \
       ref = std::min(vlh, in);                                            \
-    } else if (op == "getvl.w.x" || op == "getvl.w.x.m") {                \
+    } else if (sizeof(T) == 4) {                                          \
       ref = std::min(vlw, in);                                            \
     } else {                                                              \
       printf("**error(%d)[unknown getvl]\n", __LINE__);                   \
@@ -27,14 +27,14 @@
       exit(-1);                                                           \
     }                                                                     \
   }
-#define TEST_GETVL_XX(op, in0, in1)                                          \
+#define TEST_GETVL_XX(T, op, in0, in1)                                       \
   {                                                                          \
     int ref, dut;                                                            \
-    if (op == "getvl.b.xx" || op == "getvl.b.xx.m") {                        \
+    if (sizeof(T) == 1) {                                                    \
       ref = std::min(vlb, std::min(in0, in1));                               \
-    } else if (op == "getvl.h.xx" || op == "getvl.h.xx.m") {                 \
+    } else if (sizeof(T) == 2) {                                             \
       ref = std::min(vlh, std::min(in0, in1));                               \
-    } else if (op == "getvl.w.xx" || op == "getvl.w.xx.m") {                 \
+    } else if (sizeof(T) == 4) {                                             \
       ref = std::min(vlw, std::min(in0, in1));                               \
     } else {                                                                 \
       printf("**error(%d)[unknown getvl]\n", __LINE__);                      \
@@ -72,27 +72,27 @@
     exit(-1);
   }
   for (int i = 0; i < vlb + pad; ++i) {
-    TEST_GETVL_X("getvl.b.x", i);
+    TEST_GETVL_X(uint8_t, "getvl.b.x", i);
   }
   for (int i = 0; i < vlh + pad; ++i) {
-    TEST_GETVL_X("getvl.h.x", i);
+    TEST_GETVL_X(uint16_t, "getvl.h.x", i);
   }
   for (int i = 0; i < vlw + pad; ++i) {
-    TEST_GETVL_X("getvl.w.x", i);
+    TEST_GETVL_X(uint32_t, "getvl.w.x", i);
   }
   for (int i = 0; i < vlb + pad; ++i) {
     for (int j = 0; j < vlb + pad; ++j) {
-      TEST_GETVL_XX("getvl.b.xx", i, j);
+      TEST_GETVL_XX(uint8_t, "getvl.b.xx", i, j);
     }
   }
   for (int i = 0; i < vlh + pad; ++i) {
     for (int j = 0; j < vlh + pad; ++j) {
-      TEST_GETVL_XX("getvl.h.xx", i, j);
+      TEST_GETVL_XX(uint16_t, "getvl.h.xx", i, j);
     }
   }
   for (int i = 0; i < vlw + pad; ++i) {
     for (int j = 0; j < vlw + pad; ++j) {
-      TEST_GETVL_XX("getvl.w.xx", i, j);
+      TEST_GETVL_XX(uint32_t, "getvl.w.xx", i, j);
     }
   }
   // ---------------------------------------------------------------------------
@@ -114,27 +114,27 @@
     exit(-1);
   }
   for (int i = 0; i < vlb + pad; ++i) {
-    TEST_GETVL_X("getvl.b.x.m", i);
+    TEST_GETVL_X(uint8_t, "getvl.b.x.m", i);
   }
   for (int i = 0; i < vlh + pad; ++i) {
-    TEST_GETVL_X("getvl.h.x.m", i);
+    TEST_GETVL_X(uint16_t, "getvl.h.x.m", i);
   }
   for (int i = 0; i < vlw + pad; ++i) {
-    TEST_GETVL_X("getvl.w.x.m", i);
+    TEST_GETVL_X(uint32_t, "getvl.w.x.m", i);
   }
   for (int i = 0; i < vlb + pad; ++i) {
     for (int j = 0; j < vlb + pad; ++j) {
-      TEST_GETVL_XX("getvl.b.xx.m", i, j);
+      TEST_GETVL_XX(uint8_t, "getvl.b.xx.m", i, j);
     }
   }
   for (int i = 0; i < vlh + pad; ++i) {
     for (int j = 0; j < vlh + pad; ++j) {
-      TEST_GETVL_XX("getvl.h.xx.m", i, j);
+      TEST_GETVL_XX(uint16_t, "getvl.h.xx.m", i, j);
     }
   }
   for (int i = 0; i < vlw + pad; ++i) {
     for (int j = 0; j < vlw + pad; ++j) {
-      TEST_GETVL_XX("getvl.w.xx.m", i, j);
+      TEST_GETVL_XX(uint32_t, "getvl.w.xx.m", i, j);
     }
   }
   return 0;