[libc] Add a README.md file to the AOR directory.
authorSiva Chandra Reddy <sivachandra@google.com>
Mon, 16 Mar 2020 19:27:22 +0000 (12:27 -0700)
committerSiva Chandra Reddy <sivachandra@google.com>
Mon, 16 Mar 2020 19:29:24 +0000 (12:29 -0700)
Also, add config.mk file which will help test the implementations in the
"math" directory for x86_64 with a simple "make check".

libc/AOR_v20.02/README.md [new file with mode: 0644]
libc/AOR_v20.02/config.mk [new file with mode: 0644]

diff --git a/libc/AOR_v20.02/README.md b/libc/AOR_v20.02/README.md
new file mode 100644 (file)
index 0000000..860f90e
--- /dev/null
@@ -0,0 +1,6 @@
+This directory contains Arm's contribution of their optimized routines as
+initially uploaded to https://reviews.llvm.org/D75355. Going forward, parts
+of the implementations from this directory will be moved over to the
+appropriate place in the LLVM-libc tree. This will be done over many patches,
+all of which will go through the normal LLVM code review practice, and follow
+the LLVM-libc implementation standards.
diff --git a/libc/AOR_v20.02/config.mk b/libc/AOR_v20.02/config.mk
new file mode 100644 (file)
index 0000000..6808df9
--- /dev/null
@@ -0,0 +1,70 @@
+# Example config.mk
+#
+# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+# See https://llvm.org/LICENSE.txt for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+# Subprojects to build
+# For now, LLVM-libc project will focus only "math" functions.
+SUBS = math # string networking
+
+# Target architecture: aarch64, arm or x86_64
+# For now, LLVM-libc project will focus on x86_64 only.
+ARCH = x86_64
+
+# Compiler for the target
+CC = $(CROSS_COMPILE)gcc
+CFLAGS = -std=c99 -pipe -O3
+CFLAGS += -Wall -Wno-missing-braces
+CFLAGS += -Werror=implicit-function-declaration
+
+# Used for test case generator that is executed on the host
+HOST_CC = gcc
+HOST_CFLAGS = -std=c99 -O2
+HOST_CFLAGS += -Wall -Wno-unused-function
+
+# Enable debug info.
+HOST_CFLAGS += -g
+CFLAGS += -g
+
+# Optimize the shared libraries on aarch64 assuming they fit in 1M.
+#CFLAGS_SHARED = -fPIC -mcmodel=tiny
+
+# Use for cross compilation with gcc.
+#CROSS_COMPILE = aarch64-none-linux-gnu-
+
+# Use with cross testing.
+#EMULATOR = qemu-aarch64-static
+#EMULATOR = sh -c 'scp $$1 user@host:/dir && ssh user@host /dir/"$$@"' --
+
+# Additional flags for subprojects.
+math-cflags =
+math-ldlibs =
+math-ulpflags =
+math-testflags =
+string-cflags =
+networking-cflags =
+
+# Use if mpfr is available on the target for ulp error checking.
+#math-ldlibs += -lmpfr -lgmp
+#math-cflags += -DUSE_MPFR
+
+# Use with gcc.
+math-cflags += -frounding-math -fexcess-precision=standard -fno-stack-protector
+math-cflags += -ffp-contract=fast -fno-math-errno
+
+# Use with clang.
+#math-cflags += -ffp-contract=fast
+
+# Disable vector math code
+#math-cflags += -DWANT_VMATH=0
+
+# Disable fenv checks
+#math-ulpflags = -q -f
+#math-testflags = -nostatus
+
+# Enable assertion checks.
+#networking-cflags += -DWANT_ASSERT
+
+# Avoid auto-vectorization of scalar code and unroll loops
+networking-cflags += -O2 -fno-tree-vectorize -funroll-loops