summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/powerpc/stringloops/memcmp.c
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2020-08-03 12:07:19 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2020-08-03 22:12:41 +1000
commit872d11bca9c29ed19595c993b9f552ffe9b63dcb (patch)
tree101f33625913e951cad50b2ea693162014d6efb0 /tools/testing/selftests/powerpc/stringloops/memcmp.c
parent8d8a629d00a5283874b81b594f31f8d436dc57d8 (diff)
selftests/powerpc: Skip vmx/vsx/tar/etc tests on older CPUs
Some of our tests use VSX or newer VMX instructions, so need to be skipped on older CPUs to avoid SIGILL'ing. Similarly TAR was added in v2.07, and the PMU event used in the stcx fail test only works on Power8 or later. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200803020719.96114-1-mpe@ellerman.id.au
Diffstat (limited to 'tools/testing/selftests/powerpc/stringloops/memcmp.c')
-rw-r--r--tools/testing/selftests/powerpc/stringloops/memcmp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/testing/selftests/powerpc/stringloops/memcmp.c b/tools/testing/selftests/powerpc/stringloops/memcmp.c
index e4605ca850dc..979df3d98368 100644
--- a/tools/testing/selftests/powerpc/stringloops/memcmp.c
+++ b/tools/testing/selftests/powerpc/stringloops/memcmp.c
@@ -4,6 +4,7 @@
#include <string.h>
#include <sys/mman.h>
#include <time.h>
+#include <asm/cputable.h>
#include "utils.h"
#define SIZE 256
@@ -151,6 +152,11 @@ static int testcase(bool islarge)
static int testcases(void)
{
+#ifdef __powerpc64__
+ // vcmpequd used in memcmp_64.S is v2.07
+ SKIP_IF(!have_hwcap2(PPC_FEATURE2_ARCH_2_07));
+#endif
+
testcase(0);
testcase(1);
return 0;