vppinfra: fix the vector funcs test for march variants 52/33152/3
authorMohsin Kazmi <sykazmi@cisco.com>
Thu, 15 Jul 2021 14:20:57 +0000 (14:20 +0000)
committerDamjan Marion <dmarion@me.com>
Thu, 15 Jul 2021 16:28:30 +0000 (16:28 +0000)
Type: fix

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I4208c2622817eb51a4b192cf420f9f1b5f193eef

src/vppinfra/vector/test/test.c

index 0e90bac..1a8b9d6 100644 (file)
@@ -7,6 +7,17 @@
 
 test_registration_t *test_registrations[CLIB_MARCH_TYPE_N_VARIANTS] = {};
 
+int
+test_march_supported (clib_march_variant_type_t type)
+{
+#define _(s, n)                                                               \
+  if (CLIB_MARCH_VARIANT_TYPE_##s == type)                                    \
+    return clib_cpu_march_priority_##s ();
+  foreach_march_variant
+#undef _
+    return 0;
+}
+
 int
 main (int argc, char *argv[])
 {
@@ -16,7 +27,7 @@ main (int argc, char *argv[])
     {
       test_registration_t *r = test_registrations[i];
 
-      if (r == 0)
+      if (r == 0 || test_march_supported (i) < 0)
        continue;
 
       fformat (stdout, "\nMultiarch Variant: %U\n", format_march_variant, i);