diff options
author | Jan Beulich <JBeulich@suse.com> | 2015-01-23 08:29:50 +0000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2015-02-04 08:35:51 +1100 |
commit | 75aaf4c3e6a4ed48207230cf133a02258ca5abd5 (patch) | |
tree | 4d4eba8a7ead427b30f41b0566838e8ff5b91688 /lib/raid6 | |
parent | d95901433436aeb921eac58bfd8a2aa77f110384 (diff) | |
download | linux-stable-75aaf4c3e6a4ed48207230cf133a02258ca5abd5.tar.gz linux-stable-75aaf4c3e6a4ed48207230cf133a02258ca5abd5.tar.bz2 linux-stable-75aaf4c3e6a4ed48207230cf133a02258ca5abd5.zip |
x86/raid6: correctly check for assembler capabilities
Just like for AVX2 (which simply needs an #if -> #ifdef conversion),
SSSE3 assembler support should be checked for before using it.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Cc: Jim Kukunas <james.t.kukunas@linux.intel.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'lib/raid6')
-rw-r--r-- | lib/raid6/algos.c | 2 | ||||
-rw-r--r-- | lib/raid6/recov_avx2.c | 2 | ||||
-rw-r--r-- | lib/raid6/recov_ssse3.c | 6 |
3 files changed, 8 insertions, 2 deletions
diff --git a/lib/raid6/algos.c b/lib/raid6/algos.c index 7d0e5cd7b570..dbef2314901e 100644 --- a/lib/raid6/algos.c +++ b/lib/raid6/algos.c @@ -89,10 +89,10 @@ void (*raid6_datap_recov)(int, size_t, int, void **); EXPORT_SYMBOL_GPL(raid6_datap_recov); const struct raid6_recov_calls *const raid6_recov_algos[] = { -#if (defined(__i386__) || defined(__x86_64__)) && !defined(__arch_um__) #ifdef CONFIG_AS_AVX2 &raid6_recov_avx2, #endif +#ifdef CONFIG_AS_SSSE3 &raid6_recov_ssse3, #endif &raid6_recov_intx1, diff --git a/lib/raid6/recov_avx2.c b/lib/raid6/recov_avx2.c index e1eea433a493..53fe3d7bdfb3 100644 --- a/lib/raid6/recov_avx2.c +++ b/lib/raid6/recov_avx2.c @@ -8,7 +8,7 @@ * of the License. */ -#if CONFIG_AS_AVX2 +#ifdef CONFIG_AS_AVX2 #include <linux/raid/pq.h> #include "x86.h" diff --git a/lib/raid6/recov_ssse3.c b/lib/raid6/recov_ssse3.c index a9168328f03b..cda33e56a5e3 100644 --- a/lib/raid6/recov_ssse3.c +++ b/lib/raid6/recov_ssse3.c @@ -7,6 +7,8 @@ * of the License. */ +#ifdef CONFIG_AS_SSSE3 + #include <linux/raid/pq.h> #include "x86.h" @@ -330,3 +332,7 @@ const struct raid6_recov_calls raid6_recov_ssse3 = { #endif .priority = 1, }; + +#else +#warning "your version of binutils lacks SSSE3 support" +#endif |