linux-stable/lib/raid6
Joel Stanley 1f33700bdf raid6/ppc: Fix build for clang
commit e213574a44 upstream.

We cannot build these files with clang as it does not allow altivec
instructions in assembly when -msoft-float is passed.

Jinsong Ji <jji@us.ibm.com> wrote:
> We currently disable Altivec/VSX support when enabling soft-float.  So
> any usage of vector builtins will break.
>
> Enable Altivec/VSX with soft-float may need quite some clean up work, so
> I guess this is currently a limitation.
>
> Removing -msoft-float will make it work (and we are lucky that no
> floating point instructions will be generated as well).

This is a workaround until the issue is resolved in clang.

Link: https://bugs.llvm.org/show_bug.cgi?id=31177
Link: https://github.com/ClangBuiltLinux/linux/issues/239
Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
[nc: Use 'ifeq ($(cc-name),clang)' instead of 'ifdef CONFIG_CC_IS_CLANG'
     because that config does not exist in 4.14; the Kconfig rewrite
     that added that config happened in 4.18]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-01-13 10:01:04 +01:00
..
test lib/raid6: Fix arm64 test build 2018-11-27 16:10:48 +01:00
.gitignore RAID/s390: add SIMD implementation for raid6 gen/xor 2016-08-29 11:05:04 +02:00
algos.c md/raid6: implement recovery using ARM NEON intrinsics 2017-08-09 18:52:07 +01:00
altivec.uc powerpc: Create disable_kernel_{fp,altivec,vsx,spe}() 2015-12-01 13:52:25 +11:00
avx2.c lib/raid6: Add AVX2 optimized xor_syndrome functions 2016-11-07 15:08:20 -08:00
avx512.c lib/raid6: align AVX512 constants to 512 bits, not bytes 2017-08-25 10:21:47 -07:00
int.uc md/raid6 algorithms: xor_syndrome() for generic int 2015-04-22 08:00:42 +10:00
Makefile raid6/ppc: Fix build for clang 2019-01-13 10:01:04 +01:00
mktables.c lib/raid6: Add log-of-2 table for RAID6 HW requiring disk position 2017-05-16 10:01:57 +05:30
mmx.c md/raid6 algorithms: delta syndrome functions 2015-04-22 08:00:41 +10:00
neon.c md/raid6: delta syndrome for ARM NEON 2015-08-31 19:29:05 +02:00
neon.uc md/raid6: use faster multiplication for ARM NEON delta syndrome 2017-08-09 18:51:57 +01:00
recov.c lib/raid6: fix sparse warnings in recovery functions 2012-05-28 14:10:22 +10:00
recov_avx2.c x86/raid6: correctly check for assembler capabilities 2015-02-04 08:35:51 +11:00
recov_avx512.c lib/raid6: Add AVX512 optimized recovery functions 2016-09-21 09:09:44 -07:00
recov_neon.c md/raid6: implement recovery using ARM NEON intrinsics 2017-08-09 18:52:07 +01:00
recov_neon_inner.c md/raid6: implement recovery using ARM NEON intrinsics 2017-08-09 18:52:07 +01:00
recov_s390xc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
recov_ssse3.c x86/raid6: correctly check for assembler capabilities 2015-02-04 08:35:51 +11:00
s390vx.uc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sse1.c md/raid6 algorithms: delta syndrome functions 2015-04-22 08:00:41 +10:00
sse2.c md/raid6 algorithms: xor_syndrome() for SSE2 2015-04-22 08:00:42 +10:00
tilegx.uc md/raid6 algorithms: delta syndrome functions 2015-04-22 08:00:41 +10:00
unroll.awk
x86.h lib/raid6: Add AVX512 optimized gen_syndrome functions 2016-09-21 09:09:44 -07:00