simd_cmp_impl,TestSimd*Arg: break on failure

check for googletest failures as well as mismatches. this greatly
reduces the error output and time to failure.

BUG=aomedia:371

Change-Id: Ic617905430a8ec39fbee2af9ce6655a8ef6796c0
diff --git a/test/simd_cmp_impl.h b/test/simd_cmp_impl.h
index 5b36a43..ffbe333 100644
--- a/test/simd_cmp_impl.h
+++ b/test/simd_cmp_impl.h
@@ -795,7 +795,8 @@
     FAIL() << "Internal error: Unknown intrinsic function " << name;
   }
 
-  for (unsigned int count = 0; count < iterations && !error; count++) {
+  for (unsigned int count = 0;
+       count < iterations && !error && !testing::Test::HasFailure(); count++) {
     for (unsigned int c = 0; c < sizeof(CArg) / sizeof(uint16_t); c++)
       s[c] = rnd.Rand16();
 
@@ -914,7 +915,8 @@
     FAIL() << "Internal error: Unknown intrinsic function " << name;
   }
 
-  for (unsigned int count = 0; count < iterations && !error; count++) {
+  for (unsigned int count = 0;
+       count < iterations && !error && !testing::Test::HasFailure(); count++) {
     for (unsigned int c = 0; c < sizeof(CArg1) / sizeof(uint16_t); c++)
       s1[c] = rnd.Rand16();