+# NEON optims
+ifeq ($(SYS_ARCH),ARM)
+ifneq ($(AS),)
+ASMSRC += common/arm/cpu-a.S common/arm/pixel-a.S common/arm/mc-a.S \
+ common/arm/dct-a.S common/arm/quant-a.S common/arm/deblock-a.S \
+ common/arm/predict-a.S common/arm/bitstream-a.S
+SRCS += common/arm/mc-c.c common/arm/predict-c.c
+OBJASM = $(ASMSRC:%.S=%.o)
+OBJCHK += tools/checkasm-arm.o
+endif
+endif
+
+# AArch64 NEON optims
+ifeq ($(SYS_ARCH),AARCH64)
+ifneq ($(AS),)
+ASMSRC += common/aarch64/bitstream-a.S \
+ common/aarch64/cabac-a.S \
+ common/aarch64/dct-a.S \
+ common/aarch64/deblock-a.S \
+ common/aarch64/mc-a.S \
+ common/aarch64/pixel-a.S \
+ common/aarch64/predict-a.S \
+ common/aarch64/quant-a.S
+SRCS += common/aarch64/asm-offsets.c \
+ common/aarch64/mc-c.c \
+ common/aarch64/predict-c.c
+OBJASM = $(ASMSRC:%.S=%.o)
+OBJCHK += tools/checkasm-aarch64.o
+endif
+endif
+
+# MSA optims
+ifeq ($(SYS_ARCH),MIPS)
+ifneq ($(findstring HAVE_MSA 1, $(CONFIG)),)
+SRCS += common/mips/mc-c.c common/mips/dct-c.c \
+ common/mips/deblock-c.c common/mips/pixel-c.c \
+ common/mips/predict-c.c common/mips/quant-c.c
+endif