Provide android_filesystem_config, which depends Android style fs
msm8960: Improve performance of memmove and bcopy

Change-Id: I62b3da046889387f835da741110d35ffd3c8f806
Signed-off-by: Jim Huang <jserv@0xlab.org>
msm8960: Improve performance of memcpy

Change-Id: I0c8355ae5e92060ad5a0811d33937e6913c8b633
Signed-off-by: Jim Huang <jserv@0xlab.org>
Bionic/libm: fast neon pow() for small x,y

Add a fast neon version of pow() suitable for relatively small
positive x and y (between 0 and 4).  Run the standard
implementation in all other cases.  Gives approximately 60%
performance improvement to AnTuTu FPU score.

Change-Id: I9234d37eaa6a815d1e619375f5b049c4ec88f557
Signed-off-by: Jim Huang <jserv@0xlab.org>
msm7627a: Enable neon optimized memove and pow functions.

Define SPARROW_NEON_OPTIMIZATION flag so that neon optimized
memove and pow functions are used. Also add Corresponding
definitions in make files.

Change-Id: I12089fc7002e3ec294e63632bd84e395fbd24936
Signed-off-by: Jim Huang <jserv@0xlab.org>
msm8660: Add neon based pow() function for Scorpion

Add #define to enable neon based pow() function for msm8660.

(cherry picked from commit f795151ff5dc4eb622b2630cb6f42353db4a1b55)

Change-Id: Iab0f30eb0583c30bcfd6940a23f47e98ffe075df
Signed-off-by: Jim Huang <jserv@0xlab.org>
libm: Reorder optimization rules to be consistent
Bionic/libm: Prefer branches and VFP ABI

For internal functions set gcc attribute "aapcs-vfp" for ARM
and use -fno-if-conversion to prefer branches over predicated
instructions (improves performance on architectures with good
branch prediction).

Change-Id: Ie5f751d0971756d0d3ae61f3656eca91a1deb6b4
Signed-off-by: Jim Huang <jserv@0xlab.org>
Bionic/libm: add assembly versions of sin/cos

Add assembly versions of sin/cos with integrated remainder pi/2
calculation.  Directly extracted from binary libm.so compiled with
__ieee754_rem_pio2 calls inlined.

Change-Id: Ib50bb5d7c9635a52e1f273fdcae1d0341ab5c020
Signed-off-by: Jim Huang <jserv@0xlab.org>
Bionic/libm: Pow optimizations and bug fixes

Use VFP calling convention for pow_neon handoff function by default.
Fix register usage collision between two different polynomial
coefficients in pow_neon.  Remove conditional execution in pow_neon
and replace with branching.

(cherry picked from commit a2fe2653e2915ac38de850b4b33cf60428b01f29)

Change-Id: I5381da4767c518910d4b0cc0579ebe09ade2c08d
Signed-off-by: Jim Huang <jserv@0xlab.org>
Bionic/libm: Remove extra vmov from sin/cos

Move integer representations of x bits on the integer side rather
than moving them to and from the FP registers.

cherry picked from commit 4d7961de75fc6845ce7ae56390d724341fe92fa2)

Change-Id: I04835d841ab734960a7c59c9b297577f3234484f
Update copyright to The Linux Foundation

Change-Id: Ie338e14bc2ce232dc6c5af8b1ce7201e44c3422b
Bionic/libm: Fix the mismatch ENTRY/END in e_pow.S

Change-Id: Ibe53e7863f462a63029d1154f317256c00814c6d
Merge branch 'arm-optimizations'