valgrind: avoid neon for targets which don't support it

The sh-mem-random.c test app tries to use neon loads and stores to
test 64-bit float copies when building for ARM. Allow it to do so if
possible, but fallback to C when building for ARM targets which don't
support neon.

(From OE-Core rev: 2194bbfe287412449d85182a4e02c8884c83170f)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Andre McCurdy
2016-01-19 18:47:51 -08:00
committed by Richard Purdie
parent b191f58557
commit 9cf1ec00e8
2 changed files with 34 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
From 8facc29c3c56e6cf9cfef70986cf73876044a3fb Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Tue, 19 Jan 2016 16:42:36 -0800
Subject: [PATCH] avoid neon for targets which don't support it
The sh-mem-random.c test app tries to use neon loads and stores to
test 64-bit float copies when building for ARM. Allow it to do so if
possible, but fallback to C when building for ARM targets which don't
support neon.
Upstream-Status: Pending
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
---
memcheck/tests/sh-mem-random.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/memcheck/tests/sh-mem-random.c b/memcheck/tests/sh-mem-random.c
index ae82248..816e139 100644
--- a/memcheck/tests/sh-mem-random.c
+++ b/memcheck/tests/sh-mem-random.c
@@ -191,7 +191,7 @@ void do_test_at ( U1* arr )
"emms"
: : "r"(arr+dst), "r"(arr+src) : "memory"
);
-#elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
+#elif defined(__linux__) && defined(__arm__) && defined(__ARM_NEON__) && !defined(__aarch64__)
/* On arm32, many compilers generate a 64-bit float move
using two 32 bit integer registers, which completely
defeats this test. Hence force a 64-bit NEON load and
--
1.9.1

View File

@@ -22,6 +22,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \
file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \
file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \
file://avoid-neon-for-targets-which-don-t-support-it.patch \
"
SRC_URI[md5sum] = "4ea62074da73ae82e0162d6550d3f129"