diff options
author | Siva Chandra Reddy <sivachandra@google.com> | 2020-03-16 12:27:22 -0700 |
---|---|---|
committer | Siva Chandra Reddy <sivachandra@google.com> | 2020-03-16 12:29:24 -0700 |
commit | 78d622a48c1936cb1f76c7562b9a06793ae79c89 (patch) | |
tree | 66ecb4618e4f581089ddd570243fa998aa68fec2 /libc/AOR_v20.02 | |
parent | 623cb95eb337618406f1095b9c67a4aae8aae81c (diff) | |
download | llvm-78d622a48c1936cb1f76c7562b9a06793ae79c89.tar.gz |
[libc] Add a README.md file to the AOR directory.
Also, add config.mk file which will help test the implementations in the
"math" directory for x86_64 with a simple "make check".
Diffstat (limited to 'libc/AOR_v20.02')
-rw-r--r-- | libc/AOR_v20.02/README.md | 6 | ||||
-rw-r--r-- | libc/AOR_v20.02/config.mk | 70 |
2 files changed, 76 insertions, 0 deletions
diff --git a/libc/AOR_v20.02/README.md b/libc/AOR_v20.02/README.md new file mode 100644 index 000000000000..860f90ebe26d --- /dev/null +++ b/libc/AOR_v20.02/README.md @@ -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 index 000000000000..6808df93519e --- /dev/null +++ b/libc/AOR_v20.02/config.mk @@ -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 |