aboutsummaryrefslogtreecommitdiffstats
path: root/libm/arm64
Commit message (Collapse)AuthorAgeFilesLines
* Fix arm64 fenv warnings, and make warnings errors.Christopher Ferris2015-11-071-4/+15
| | | | | | | | | | | | | Even though the control registers being read/written in fenv.c only have 32 bits that are used, the instructions take a 64 bit register. Make sure the inline assembler in the macros use 64 bit values. Verified that before the change and after the change, the disassembly is exactly the same. In addition, add -Werror to the cflags. Change-Id: I6603779327488c23e3aab13300edf2e02b101916
* For libm, use a macro for aliasing symbols.Christopher Ferris2015-03-131-4/+2
| | | | Change-Id: Ibd42ebc387c2bf3eba9aa96091770915b4b34184
* Add aarch64 instructions wherever possibleAmaury Le Leyzour2015-03-047-0/+198
| | | | | | fma, sqrt and various rounding functions have aarch64 instruction equivalent Change-Id: I1284f31b9f78f914281e5563b8d44db8362b627d
* AArch64: libm: Fix ARM64 fenv_t and refactor ARM64 libm implementation.Serban Constantinescu2014-06-091-72/+126
| | | | | | | | | | | | | | | | This patch fixes the ARM64 ABI for libm. fenv_t is now split in 32bit status and 32bit control. This mirrors the AArch64 FPU control and status registers (FPCR, FPSR). The patch also refactors the libm implementation for ARM64 into a finer grained control over the FPU registers. Bionic-benchmarks has been expanded with 3 more benchmarks for floating point operations. The new libm implementation for ARM64 performs better over all the math benchmarks available. Change-Id: I2a7f81d6b4e55c91f8a63a4c69614fc8b1bcf2db Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* Clean-up _fpmath and fake_long_doublesCalin Juravle2014-04-231-60/+0
| | | | | | | | | | | | | | - promoted IEEEld2bits to fpmath since most of the where the same for diffrent archs - removed _fpmath - reinstated weak_references - moved isfinite and isnormal to libc - clean up fake_long_doubles - clean up some useless ifdefs - added missing nexttoward* tests Bug: 14134235 Change-Id: I95639c4885653fe47fd7dc0570ee5bb3389bbc6b
* Fix arm64 floating point definitions.Elliott Hughes2014-04-141-13/+0
| | | | Change-Id: I6836da8fc9f66465435a21c51cb18851e20e9645
* Fix LP64 libm for 128-bit long doublesCalin Juravle2014-03-241-10/+27
| | | | | | | | | | | | | * reworked amd64/_fpmath.h and arm64/_fpmath.h to support 128-bit long doubles. * improved tests to cover long double cases * made modfl an alias for LP32 Tests pass on x86, x86_64, arm, arm64 and mips. Bug: 12921273 Change-Id: Ibe39acde57972447a8950fa45b1e702acc68ebeb
* Moved to a more openbsd-like fenv.hCalin Juravle2014-02-261-0/+106
| | | | | | | | Factored out common declarations to include/fenv.h and pushed the implementation to .c files. Bug: 11050744 Change-Id: I446b13cc4bc599d328343a8d392b07de280f6304
* bionic: rename aarch64 target to arm64Colin Cross2014-01-232-0/+91
Rename aarch64 build targets to arm64. The gcc toolchain is still aarch64. Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3