diff --git a/test/simd_cmp_impl.h b/test/simd_cmp_impl.h
index 5423a48..44a32a8 100644
--- a/test/simd_cmp_impl.h
+++ b/test/simd_cmp_impl.h
@@ -335,10 +335,10 @@
 std::string Print(const uint8_t *a, int size) {
   std::string text = "0x";
   for (int i = 0; i < size; i++) {
-    char buf[3];
-    snprintf(buf, sizeof(buf), "%02x",
-             a[!CONFIG_BIG_ENDIAN ? size - 1 - i : i]);
-    text += buf;
+    const uint8_t c = a[!CONFIG_BIG_ENDIAN ? size - 1 - i : i];
+    // Same as snprintf(..., ..., "%02x", c)
+    text += (c >> 4) + '0' + ((c >> 4) > 9) * ('a' - '0' - 10);
+    text += (c & 15) + '0' + ((c & 15) > 9) * ('a' - '0' - 10);
   }
 
   return text;
@@ -448,9 +448,9 @@
   fptr ref_simd;
   fptr simd;
   int error = 0;
-  DECLARE_ALIGNED(sizeof(CArg), uint16_t, s[sizeof(CArg) / sizeof(uint16_t)]);
-  DECLARE_ALIGNED(sizeof(CRet), uint8_t, d[sizeof(CRet)]);
-  DECLARE_ALIGNED(sizeof(CRet), uint8_t, ref_d[sizeof(CRet)]);
+  DECLARE_ALIGNED(32, uint16_t, s[sizeof(CArg) / sizeof(uint16_t)]);
+  DECLARE_ALIGNED(32, uint8_t, d[sizeof(CRet)]);
+  DECLARE_ALIGNED(32, uint8_t, ref_d[sizeof(CRet)]);
   memset(ref_d, 0, sizeof(ref_d));
   memset(d, 0, sizeof(d));
 
@@ -510,12 +510,10 @@
   fptr ref_simd;
   fptr simd;
   int error = 0;
-  DECLARE_ALIGNED(sizeof(CArg1), uint16_t,
-                  s1[sizeof(CArg1) / sizeof(uint16_t)]);
-  DECLARE_ALIGNED(sizeof(CArg2), uint16_t,
-                  s2[sizeof(CArg2) / sizeof(uint16_t)]);
-  DECLARE_ALIGNED(sizeof(CRet), uint8_t, d[sizeof(CRet)]);
-  DECLARE_ALIGNED(sizeof(CRet), uint8_t, ref_d[sizeof(CRet)]);
+  DECLARE_ALIGNED(32, uint16_t, s1[sizeof(CArg1) / sizeof(uint16_t)]);
+  DECLARE_ALIGNED(32, uint16_t, s2[sizeof(CArg2) / sizeof(uint16_t)]);
+  DECLARE_ALIGNED(32, uint8_t, d[sizeof(CRet)]);
+  DECLARE_ALIGNED(32, uint8_t, ref_d[sizeof(CRet)]);
   memset(ref_d, 0, sizeof(ref_d));
   memset(d, 0, sizeof(d));
 
