Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 346528
b: refs/heads/master
c: 4f8c55c
h: refs/heads/master
v: v3
  • Loading branch information
Yuanhan Liu authored and NeilBrown committed Dec 13, 2012
1 parent 1e9245a commit 32790c5
Show file tree
Hide file tree
Showing 9 changed files with 29 additions and 28 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2c935842bdb46f5f557426feb4d2bdfdad1aa5f9
refs/heads/master: 4f8c55c5ad491dbc7b52ce08bb702ca39ce944cf
9 changes: 6 additions & 3 deletions trunk/lib/raid6/Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
obj-$(CONFIG_RAID6_PQ) += raid6_pq.o

raid6_pq-y += algos.o recov.o recov_ssse3.o recov_avx2.o tables.o int1.o int2.o int4.o \
int8.o int16.o int32.o altivec1.o altivec2.o altivec4.o \
altivec8.o mmx.o sse1.o sse2.o avx2.o
raid6_pq-y += algos.o recov.o tables.o int1.o int2.o int4.o \
int8.o int16.o int32.o

raid6_pq-$(CONFIG_X86) += recov_ssse3.o recov_avx2.o mmx.o sse1.o sse2.o avx2.o
raid6_pq-$(CONFIG_ALTIVEC) += altivec1.o altivec2.o altivec4.o altivec8.o

hostprogs-y += mktables

quiet_cmd_unroll = UNROLL $@
Expand Down
3 changes: 0 additions & 3 deletions trunk/lib/raid6/altivec.uc
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,10 @@

#include <linux/raid/pq.h>

#ifdef CONFIG_ALTIVEC

#include <altivec.h>
#ifdef __KERNEL__
# include <asm/cputable.h>
# include <asm/switch_to.h>
#endif

/*
* This is the C data type to use. We use a vector of
Expand Down
2 changes: 1 addition & 1 deletion trunk/lib/raid6/mmx.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* MMX implementation of RAID-6 syndrome functions
*/

#if defined(__i386__) && !defined(__arch_um__)
#ifdef CONFIG_X86_32

#include <linux/raid/pq.h>
#include "x86.h"
Expand Down
4 changes: 0 additions & 4 deletions trunk/lib/raid6/recov_avx2.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
* of the License.
*/

#if (defined(__i386__) || defined(__x86_64__)) && !defined(__arch_um__)

#if CONFIG_AS_AVX2

#include <linux/raid/pq.h>
Expand Down Expand Up @@ -323,5 +321,3 @@ const struct raid6_recov_calls raid6_recov_avx2 = {
#else
#warning "your version of binutils lacks AVX2 support"
#endif

#endif
4 changes: 0 additions & 4 deletions trunk/lib/raid6/recov_ssse3.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
* of the License.
*/

#if (defined(__i386__) || defined(__x86_64__)) && !defined(__arch_um__)

#include <linux/raid/pq.h>
#include "x86.h"

Expand Down Expand Up @@ -332,5 +330,3 @@ const struct raid6_recov_calls raid6_recov_ssse3 = {
#endif
.priority = 1,
};

#endif
2 changes: 1 addition & 1 deletion trunk/lib/raid6/sse1.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
* worthwhile as a separate implementation.
*/

#if defined(__i386__) && !defined(__arch_um__)
#ifdef CONFIG_X86_32

#include <linux/raid/pq.h>
#include "x86.h"
Expand Down
8 changes: 2 additions & 6 deletions trunk/lib/raid6/sse2.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
*
*/

#if (defined(__i386__) || defined(__x86_64__)) && !defined(__arch_um__)

#include <linux/raid/pq.h>
#include "x86.h"

Expand Down Expand Up @@ -159,9 +157,7 @@ const struct raid6_calls raid6_sse2x2 = {
1 /* Has cache hints */
};

#endif

#if defined(__x86_64__) && !defined(__arch_um__)
#ifdef CONFIG_X86_64

/*
* Unrolled-by-4 SSE2 implementation
Expand Down Expand Up @@ -259,4 +255,4 @@ const struct raid6_calls raid6_sse2x4 = {
1 /* Has cache hints */
};

#endif
#endif /* CONFIG_X86_64 */
23 changes: 18 additions & 5 deletions trunk/lib/raid6/test/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,31 @@ LD = ld
AWK = awk -f
AR = ar
RANLIB = ranlib
OBJS = int1.o int2.o int4.o int8.o int16.o int32.o recov.o algos.o tables.o

ARCH := $(shell uname -m 2>/dev/null | sed -e /s/i.86/i386/)
ifeq ($(ARCH),i386)
CFLAGS += -DCONFIG_X86_32
IS_X86 = yes
endif
ifeq ($(ARCH),x86_64)
CFLAGS += -DCONFIG_X86_64
IS_X86 = yes
endif

ifeq ($(IS_X86),yes)
OBJS += mmx.o sse1.o sse2.o avx2.o recov_ssse3.o recov_avx2.o
CFLAGS += $(shell echo "vpbroadcastb %xmm0, %ymm1" | \
gcc -c -x assembler - >&/dev/null && \
rm ./-.o && echo -DCONFIG_AS_AVX2=1)
else
HAS_ALTIVEC := $(shell echo -e '\#include <altivec.h>\nvector int a;' |\
gcc -c -x c - >&/dev/null && \
rm ./-.o && echo yes)
ifeq ($(HAS_ALTIVEC),yes)
OBJS += altivec1.o altivec2.o altivec4.o altivec8.o
endif
endif
CFLAGS += $(shell echo "vpbroadcastb %xmm0, %ymm1"| gcc -c -x assembler - &&\
rm ./-.o && echo -DCONFIG_AS_AVX2=1)

.c.o:
$(CC) $(CFLAGS) -c -o $@ $<
Expand All @@ -32,9 +47,7 @@ CFLAGS += $(shell echo "vpbroadcastb %xmm0, %ymm1"| gcc -c -x assembler - &&\

all: raid6.a raid6test

raid6.a: int1.o int2.o int4.o int8.o int16.o int32.o mmx.o sse1.o sse2.o avx2.o \
altivec1.o altivec2.o altivec4.o altivec8.o recov.o recov_ssse3.o recov_avx2.o algos.o \
tables.o
raid6.a: $(OBJS)
rm -f $@
$(AR) cq $@ $^
$(RANLIB) $@
Expand Down

0 comments on commit 32790c5

Please sign in to comment.