diff --git a/package/kernel/linux/modules/lib.mk b/package/kernel/linux/modules/lib.mk
index af536270f60380db3b75302107ebf39baa412c52..cd919ba62e9f6844bc0d45b7308b856a17d0f6f9 100644
--- a/package/kernel/linux/modules/lib.mk
+++ b/package/kernel/linux/modules/lib.mk
@@ -138,8 +138,15 @@ define KernelPackage/lib-xor
   TITLE:=XOR blocks algorithm support
   HIDDEN:=1
   KCONFIG:=CONFIG_XOR_BLOCKS
+ifneq ($(wildcard $(LINUX_DIR)/arch/arm/lib/xor-neon.ko),)
+  FILES:= \
+    $(LINUX_DIR)/crypto/xor.ko \
+    $(LINUX_DIR)/arch/arm/lib/xor-neon.ko
+  AUTOLOAD:=$(call AutoProbe,xor-neon xor)
+else
   FILES:=$(LINUX_DIR)/crypto/xor.ko
   AUTOLOAD:=$(call AutoProbe,xor)
+endif
 endef
 
 define KernelPackage/lib-xor/description