1# SPDX-License-Identifier: GPL-2.0 2 3CONTEXT_ANALYSIS := y 4 5ccflags-y += -I $(src) 6 7obj-$(CONFIG_XOR_BLOCKS) += xor.o 8 9xor-y += xor-core.o 10xor-y += xor-8regs.o 11xor-y += xor-32regs.o 12xor-y += xor-8regs-prefetch.o 13xor-y += xor-32regs-prefetch.o 14 15ifeq ($(CONFIG_XOR_BLOCKS_ARCH),y) 16CFLAGS_xor-core.o += -I$(src)/$(SRCARCH) 17endif 18 19xor-$(CONFIG_ALPHA) += alpha/xor.o 20xor-$(CONFIG_ARM) += arm/xor.o 21ifeq ($(CONFIG_ARM),y) 22xor-$(CONFIG_KERNEL_MODE_NEON) += xor-neon.o arm/xor-neon-glue.o 23endif 24xor-$(CONFIG_ARM64) += xor-neon.o arm64/xor-eor3.o \ 25 arm64/xor-neon-glue.o 26xor-$(CONFIG_CPU_HAS_LSX) += loongarch/xor_simd.o 27xor-$(CONFIG_CPU_HAS_LSX) += loongarch/xor_simd_glue.o 28xor-$(CONFIG_ALTIVEC) += powerpc/xor_vmx.o powerpc/xor_vmx_glue.o 29xor-$(CONFIG_RISCV_ISA_V) += riscv/xor.o riscv/xor-glue.o 30xor-$(CONFIG_SPARC32) += sparc/xor-sparc32.o 31xor-$(CONFIG_SPARC64) += sparc/xor-sparc64.o sparc/xor-sparc64-glue.o 32xor-$(CONFIG_S390) += s390/xor.o 33xor-$(CONFIG_X86_32) += x86/xor-avx.o x86/xor-sse.o x86/xor-mmx.o 34xor-$(CONFIG_X86_64) += x86/xor-avx.o x86/xor-sse.o 35obj-y += tests/ 36 37CFLAGS_xor-neon.o += $(CC_FLAGS_FPU) -I$(src)/$(SRCARCH) 38CFLAGS_REMOVE_xor-neon.o += $(CC_FLAGS_NO_FPU) 39 40CFLAGS_arm64/xor-eor3.o += $(CC_FLAGS_FPU) 41CFLAGS_REMOVE_arm64/xor-eor3.o += $(CC_FLAGS_NO_FPU) 42 43CFLAGS_powerpc/xor_vmx.o += -mhard-float -maltivec \ 44 $(call cc-option,-mabi=altivec) \ 45 -isystem $(shell $(CC) -print-file-name=include) 46