Commit 943128a5 authored by Janne Grunau's avatar Janne Grunau Committed by Fiona Glaser

aarch64: initial build support

parent ee427b69
......@@ -123,6 +123,15 @@ OBJASM = $(ASMSRC:%.S=%.o)
endif
endif
# AArch64 NEON optims
ifeq ($(ARCH),AARCH64)
ifneq ($(AS),)
ASMSRC +=
SRCS +=
OBJASM = $(ASMSRC:%.S=%.o)
endif
endif
ifneq ($(HAVE_GETOPT_LONG),1)
SRCCLI += extras/getopt.c
endif
......
......@@ -684,6 +684,15 @@ case $host_cpu in
AS="${AS-${CC}}"
fi
;;
aarch64)
ARCH="AARCH64"
if [ "$SYS" = MACOSX ] ; then
AS="${AS-extras/gas-preprocessor.pl $CC}"
ASFLAGS="$ASFLAGS -DPREFIX"
else
AS="${AS-${CC}}"
fi
;;
s390|s390x)
ARCH="S390"
;;
......@@ -767,7 +776,20 @@ if [ $asm = auto -a $ARCH = ARM ] ; then
fi
fi
if [ $asm = auto -a $ARCH = ARM ] ; then
if [ $asm = auto -a $ARCH = AARCH64 ] ; then
# set flags so neon is built by default
echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu|-arch)' || CFLAGS="$CFLAGS -arch arm64 -mfpu=neon"
if cc_check '' '' '__asm__("cmeq v0.8h, v0.8h, #0");' ; then define HAVE_NEON
ASFLAGS="$ASFLAGS -c"
else
echo "no NEON support, try adding -mfpu=neon to CFLAGS"
echo "If you really want to run on such a CPU, configure with --disable-asm."
exit 1
fi
fi
if [ $asm = auto -a \( $ARCH = ARM -o $ARCH = AARCH64 \) ] ; then
# check if the assembler supports '.func' (clang 3.5 does not)
as_check ".func test${NL}.endfunc" && define HAVE_AS_FUNC 1
fi
......@@ -1318,7 +1340,7 @@ cat conftest.log
rm conftest.log
[ "$SRCPATH" != "." ] && ln -sf ${SRCPATH}/Makefile ./Makefile
mkdir -p common/{arm,ppc,x86} encoder extras filters/video input output tools
mkdir -p common/{aarch64,arm,ppc,x86} encoder extras filters/video input output tools
echo
echo "You can run 'make' or 'make fprofiled' now."
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment