Cleanup kelvin_isa test format warnings

Change-Id: I760c8c0725611ee18558bbd158d8016797004dce
diff --git a/tests/kelvin_isa/BUILD b/tests/kelvin_isa/BUILD
index 1d83e21..9986566 100644
--- a/tests/kelvin_isa/BUILD
+++ b/tests/kelvin_isa/BUILD
@@ -94,10 +94,6 @@
     srcs = [
         "vcmp.cc",
     ],
-    copts = [
-        # Templated error printout may have type mismatch.
-        "-Wno-format",
-    ],
     deps = [
         ":kelvin_test",
     ],
@@ -108,10 +104,6 @@
     srcs = [
         "vevn_vodd.cc",
     ],
-    copts = [
-        # Templated error printout may have type mismatch.
-        "-Wno-format",
-    ],
     deps = [
         ":kelvin_test",
     ],
@@ -150,10 +142,6 @@
     srcs = [
         "vmax_vmin.cc",
     ],
-    copts = [
-        # Templated error printout may have type mismatch.
-        "-Wno-format",
-    ],
     deps = [
         ":kelvin_test",
     ],
diff --git a/tests/kelvin_isa/kelvin_test.h b/tests/kelvin_isa/kelvin_test.h
index b0bff6f..edafece 100644
--- a/tests/kelvin_isa/kelvin_test.h
+++ b/tests/kelvin_isa/kelvin_test.h
@@ -220,18 +220,19 @@
     }                                                                      \
   }
 
-#define test_alu_w_vv(op, in0, in1, ref)                                    \
-  {                                                                         \
-    uint32_t dut[VLENW] __attribute__((aligned(64))) = {0xcccccccc};        \
-    vdup_w_x(v0, in0);                                                      \
-    vdup_w_x(v1, in1);                                                      \
-    __asm__ __volatile_always__(ARGS_F_A_A_A(op, v2, v0, v1));              \
-    vst_w_x(v2, dut);                                                       \
-    if (ref != dut[0]) {                                                    \
-      printf("**error(%d)[%s] %08x %08x : %08x %08lx\n", __LINE__, op, in0, \
-             in1, ref, dut[0]);                                             \
-      exit(-1);                                                             \
-    }                                                                       \
+#define test_alu_w_vv(op, in0, in1, ref)                                  \
+  {                                                                       \
+    uint32_t dut[VLENW] __attribute__((aligned(64))) = {0xcccccccc};      \
+    vdup_w_x(v0, in0);                                                    \
+    vdup_w_x(v1, in1);                                                    \
+    __asm__ __volatile_always__(ARGS_F_A_A_A(op, v2, v0, v1));            \
+    vst_w_x(v2, dut);                                                     \
+    if (ref != dut[0]) {                                                  \
+      printf("**error(%d)[%s] %08lx %08lx : %08lx %08lx\n", __LINE__, op, \
+             static_cast<uint32_t>(in0), static_cast<uint32_t>(in1),      \
+             static_cast<uint32_t>(ref), dut[0]);                         \
+      exit(-1);                                                           \
+    }                                                                     \
   }
 
 #define test_aluw_h_vv(op, in0, in1, ref)                                  \
diff --git a/tests/kelvin_isa/vevn_vodd.cc b/tests/kelvin_isa/vevn_vodd.cc
index cc691ca..2b50d70 100644
--- a/tests/kelvin_isa/vevn_vodd.cc
+++ b/tests/kelvin_isa/vevn_vodd.cc
@@ -16,6 +16,7 @@
 
 #include <cstdio>
 
+#include "crt/printf_traits.h"
 #include "tests/kelvin_isa/kelvin_test.h"
 
 #define vevn_vv(T, Vd, Vs, Vt) \
@@ -126,7 +127,11 @@
   for (int j = 0; j < 2; ++j) {
     for (int i = 0; i < lanes; ++i) {
       if (ref[j][i] != dut[j][i]) {
-        printf("**error vevnodd_vv[%d,%d] %x %x\n", j, i, ref[j][i], dut[j][i]);
+        printf("**error vevnodd_vv[%d,%d] ", j, i);
+        printf(PrintfTraits<T>::kFmtHex, ref[j][i]);
+        printf(" ");
+        printf(PrintfTraits<T>::kFmtHex, dut[j][i]);
+        printf("\n");
         exit(-1);
       }
     }
@@ -163,8 +168,11 @@
   for (int j = 0; j < 2; ++j) {
     for (int i = 0; i < lanes; ++i) {
       if (ref[j][i] != dut[j][i]) {
-        printf("**error vevnodd_vv_m[%d,%d] %x %x\n", j, i, ref[j][i],
-               dut[j][i]);
+        printf("**error vevnodd_vv_m[%d,%d] ", j, i);
+        printf(PrintfTraits<T>::kFmtHex, ref[j][i]);
+        printf(" ");
+        printf(PrintfTraits<T>::kFmtHex, dut[j][i]);
+        printf("\n");
         exit(-1);
       }
     }
@@ -198,7 +206,11 @@
 
   for (int i = 0; i < lanes; ++i) {
     if (ref[i] != dut[i]) {
-      printf("**error vevn_vv[%d] %x %x\n", i, ref[i], dut[i]);
+      printf("**error vevn_vv[%d] ", i);
+      printf(PrintfTraits<T>::kFmtHex, ref[i]);
+      printf(" ");
+      printf(PrintfTraits<T>::kFmtHex, dut[i]);
+      printf("\n");
       exit(-1);
     }
   }
@@ -231,7 +243,11 @@
 
   for (int i = 0; i < lanes; ++i) {
     if (ref[i] != dut[i]) {
-      printf("**error vevn_vv_m[%d] %x %x\n", i, ref[i], dut[i]);
+      printf("**error vevn_vv_m[%d] ", i);
+      printf(PrintfTraits<T>::kFmtHex, ref[i]);
+      printf(" ");
+      printf(PrintfTraits<T>::kFmtHex, dut[i]);
+      printf("\n");
       exit(-1);
     }
   }
@@ -264,7 +280,11 @@
 
   for (int i = 0; i < lanes; ++i) {
     if (ref[i] != dut[i]) {
-      printf("**error vodd_vv[%d] %x %x\n", i, ref[i], dut[i]);
+      printf("**error vodd_vv[%d] ", i);
+      printf(PrintfTraits<T>::kFmtHex, ref[i]);
+      printf(" ");
+      printf(PrintfTraits<T>::kFmtHex, dut[i]);
+      printf("\n");
       exit(-1);
     }
   }
@@ -298,7 +318,11 @@
 
   for (int i = 0; i < lanes; ++i) {
     if (ref[i] != dut[i]) {
-      printf("**error vodd_vv_m[%d] %x %x\n", i, ref[i], dut[i]);
+      printf("**error vodd_vv_m[%d] ", i);
+      printf(PrintfTraits<T>::kFmtHex, ref[i]);
+      printf(" ");
+      printf(PrintfTraits<T>::kFmtHex, dut[i]);
+      printf("\n");
       exit(-1);
     }
   }