Initialize the register dumping machinery while testing assembler code.
[catacomb] / symm / gcm.c
index 73b2851..b438415 100644 (file)
@@ -778,9 +778,14 @@ void gcm_concat(const gcm_params *p, uint32 *z, const uint32 *x,
 
 #ifdef TEST_RIG
 
+#include <mLib/macros.h>
 #include <mLib/quis.h>
 #include <mLib/testrig.h>
 
+#ifdef ENABLE_ASM_DEBUG
+#  include "regdump.h"
+#endif
+
 static void report_failure(const char *test, unsigned nbits,
                           const char *ref, dstr v[], dstr *d)
 {
@@ -820,7 +825,7 @@ static int test_mul(uint32 poly, dstr v[])
 
 #define CHECK(E, what, ref) do {                                       \
   for (i = 0; i < nbits/32; i++) STORE32_##E(d.buf + 4*i, z[i]);       \
-  if (memcmp(d.buf, v[I_##ref].buf, nbits/8) != 0)                     \
+  if (MEMCMP(d.buf, !=, v[I_##ref].buf, nbits/8))                      \
     { ok = 0; report_failure(what, nbits, #ref, v, &d); }              \
 } while (0)
 
@@ -873,6 +878,9 @@ GCM_WIDTHS(TEST)
 int main(int argc,  char *argv[])
 {
   ego(argv[0]);
+#ifdef ENABLE_ASM_DEBUG
+  regdump_init();
+#endif
   test_run(argc, argv, defs, SRCDIR"/t/gcm");
   return (0);
 }