-# VIS optims
-ifeq ($(ARCH),UltraSPARC)
-ifeq ($(findstring HIGH_BIT_DEPTH, $(CONFIG)),)
-ASMSRC += common/sparc/pixel.asm
-OBJASM = $(ASMSRC:%.asm=%.o)
+# 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