Use handwritten memcheck assembly helpers on x86/Solaris in addition to {arm,x86}-linux.
Fixes BZ #350813.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15464 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/NEWS b/NEWS
index 52988cc..85a5a38 100644
--- a/NEWS
+++ b/NEWS
@@ -271,6 +271,7 @@
 349941  di_notify_mmap might create wrong start/size DebugInfoMapping
 350809  Fix none/tests/async-sigs for Solaris
 350811  Remove reference to --db-attach which has been removed.
+350813  Use handwritten memcheck assembly helpers on x86/Solaris in addition to {arm,x86}-linux
 n-i-bz  Provide implementations of certain compiler builtins to support
         compilers who may not provide those
 n-i-bz  Old STABS code is still being compiled, but never used. Remove it.
diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c
index 712f7d3..9877d33 100644
--- a/memcheck/mc_main.c
+++ b/memcheck/mc_main.c
@@ -4587,7 +4587,7 @@
 );
 
 #elif ENABLE_ASSEMBLY_HELPERS && defined(PERF_FAST_LOADV) \
-      && defined(VGP_x86_linux)
+      && (defined(VGP_x86_linux) || defined(VGP_x86_solaris))
 __asm__(
 ".text\n"
 ".align 16\n"
@@ -4622,7 +4622,7 @@
 );
 
 #else
-// Generic for all platforms except {arm32,x86}-linux
+// Generic for all platforms except {arm32,x86}-linux and x86-solaris
 VG_REGPARM(1) ULong MC_(helperc_LOADV64le) ( Addr a )
 {
    return mc_LOADV64(a, False);
@@ -4785,7 +4785,7 @@
 );
 
 #elif ENABLE_ASSEMBLY_HELPERS && defined(PERF_FAST_LOADV) \
-      && defined(VGP_x86_linux)
+      && (defined(VGP_x86_linux) || defined(VGP_x86_solaris))
 __asm__(
 ".text\n"
 ".align 16\n"
@@ -4818,7 +4818,7 @@
 );
 
 #else
-// Generic for all platforms except {arm32,x86}-linux
+// Generic for all platforms except {arm32,x86}-linux and x86-solaris
 VG_REGPARM(1) UWord MC_(helperc_LOADV32le) ( Addr a )
 {
    return mc_LOADV32(a, False);
@@ -4998,7 +4998,7 @@
 );
 
 #elif ENABLE_ASSEMBLY_HELPERS && defined(PERF_FAST_LOADV) \
-      && defined(VGP_x86_linux)
+      && (defined(VGP_x86_linux) || defined(VGP_x86_solaris))
 __asm__(
 ".text\n"
 ".align 16\n"
@@ -5043,7 +5043,7 @@
 );
 
 #else
-// Generic for all platforms except {arm32,x86}-linux
+// Generic for all platforms except {arm32,x86}-linux and x86-solaris
 VG_REGPARM(1) UWord MC_(helperc_LOADV16le) ( Addr a )
 {
    return mc_LOADV16(a, False);
@@ -5192,7 +5192,7 @@
 
 /* Non-generic assembly for x86-linux */
 #elif ENABLE_ASSEMBLY_HELPERS && defined(PERF_FAST_LOADV) \
-      && defined(VGP_x86_linux)
+      && (defined(VGP_x86_linux) || defined(VGP_x86_solaris))
 __asm__(
 ".text\n"
 ".align 16\n"
@@ -5234,7 +5234,7 @@
 );
 
 #else
-// Generic for all platforms except {arm32,x86}-linux
+// Generic for all platforms except {arm32,x86}-linux and x86-solaris
 VG_REGPARM(1)
 UWord MC_(helperc_LOADV8) ( Addr a )
 {