19e229025SChristoph Hellwig# SPDX-License-Identifier: GPL-2.0 29e229025SChristoph Hellwig 3*b6a1359bSChristoph HellwigCONTEXT_ANALYSIS := y 4*b6a1359bSChristoph Hellwig 5e20043b4SChristoph Hellwigccflags-y += -I $(src) 6e20043b4SChristoph Hellwig 79e229025SChristoph Hellwigobj-$(CONFIG_XOR_BLOCKS) += xor.o 89e229025SChristoph Hellwig 99e229025SChristoph Hellwigxor-y += xor-core.o 10c46928fdSChristoph Hellwigxor-y += xor-8regs.o 11c46928fdSChristoph Hellwigxor-y += xor-32regs.o 12c46928fdSChristoph Hellwigxor-y += xor-8regs-prefetch.o 13c46928fdSChristoph Hellwigxor-y += xor-32regs-prefetch.o 14503793b1SChristoph Hellwig 15e20043b4SChristoph Hellwigifeq ($(CONFIG_XOR_BLOCKS_ARCH),y) 16e20043b4SChristoph HellwigCFLAGS_xor-core.o += -I$(src)/$(SRCARCH) 17e20043b4SChristoph Hellwigendif 18e20043b4SChristoph Hellwig 19503793b1SChristoph Hellwigxor-$(CONFIG_ALPHA) += alpha/xor.o 200d64a24eSChristoph Hellwigxor-$(CONFIG_ARM) += arm/xor.o 210d64a24eSChristoph Hellwigifeq ($(CONFIG_ARM),y) 22a967b1f5SArd Biesheuvelxor-$(CONFIG_KERNEL_MODE_NEON) += xor-neon.o arm/xor-neon-glue.o 230d64a24eSChristoph Hellwigendif 244d3c5cbfSArd Biesheuvelxor-$(CONFIG_ARM64) += xor-neon.o arm64/xor-eor3.o \ 254d3c5cbfSArd Biesheuvel arm64/xor-neon-glue.o 26033bee3eSChristoph Hellwigxor-$(CONFIG_CPU_HAS_LSX) += loongarch/xor_simd.o 27033bee3eSChristoph Hellwigxor-$(CONFIG_CPU_HAS_LSX) += loongarch/xor_simd_glue.o 283f276cecSChristoph Hellwigxor-$(CONFIG_ALTIVEC) += powerpc/xor_vmx.o powerpc/xor_vmx_glue.o 295265d55bSChristoph Hellwigxor-$(CONFIG_RISCV_ISA_V) += riscv/xor.o riscv/xor-glue.o 307f963623SChristoph Hellwigxor-$(CONFIG_SPARC32) += sparc/xor-sparc32.o 317f963623SChristoph Hellwigxor-$(CONFIG_SPARC64) += sparc/xor-sparc64.o sparc/xor-sparc64-glue.o 3295c104ccSChristoph Hellwigxor-$(CONFIG_S390) += s390/xor.o 3377fd47e5SChristoph Hellwigxor-$(CONFIG_X86_32) += x86/xor-avx.o x86/xor-sse.o x86/xor-mmx.o 3477fd47e5SChristoph Hellwigxor-$(CONFIG_X86_64) += x86/xor-avx.o x86/xor-sse.o 35af53e85eSChristoph Hellwigobj-y += tests/ 360d64a24eSChristoph Hellwig 37a967b1f5SArd BiesheuvelCFLAGS_xor-neon.o += $(CC_FLAGS_FPU) -I$(src)/$(SRCARCH) 38a967b1f5SArd BiesheuvelCFLAGS_REMOVE_xor-neon.o += $(CC_FLAGS_NO_FPU) 393786f2adSChristoph Hellwig 404d3c5cbfSArd BiesheuvelCFLAGS_arm64/xor-eor3.o += $(CC_FLAGS_FPU) 414d3c5cbfSArd BiesheuvelCFLAGS_REMOVE_arm64/xor-eor3.o += $(CC_FLAGS_NO_FPU) 423f276cecSChristoph Hellwig 433f276cecSChristoph HellwigCFLAGS_powerpc/xor_vmx.o += -mhard-float -maltivec \ 443f276cecSChristoph Hellwig $(call cc-option,-mabi=altivec) \ 453f276cecSChristoph Hellwig -isystem $(shell $(CC) -print-file-name=include) 46