Merge "libbcc: Fix build with ISO C++ 11 compilers"
libbcc: Fix build with gcc 4.8+

gcc 4.8+ exports __ashldi3, __divsi3, __fixdfdi, ... in libgcc.
Redefining them here causes linker errors.

Change-Id: I21e17608bc7ec0b13d56602c1169a2aaec121fcf
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Merge "libbcc: Fix build with gcc 4.8+"
Start to add X86/SSE2+ optimized clcore library

'sqrt' and 'clamp' are optimized on x86/sse2 target.

Change-Id: Ia8f1b12c666828de88c49699006e44b17431a9ac
Author: Michael Liao <michael.liao@intel.com>
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 61893
Add more X86/SSE2+ optimized functions

- SSSE3 optimized length() is added by using HADDPS
- SSSE3 optimized dot() is added by using HADDPS
- scalar exp() and pow() is translated into LLVM intrinsics to allow
  backend to schedule insn around them to reduce register pressure or
  improve code scheduling. They eventually will be lowered into standard
  C math library call.

Change-Id: Ife462352e15d1762ba46829165a3d02b3b1be858
Author: Michael Liao <michael.liao@intel.com>
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 66242
Add HAS_HW_DIV to control the compilation of __udivsi3.

libgcc.a will contain __udivsi3 if -mcpu=cortex-a15 is specified.

Bug: 7961327

cherry-picked from internal master.

Change-Id: Ia00295cee23f1af3dacff4fcdf612b312897327c
Merge "Add HAS_HW_DIV to control the compilation of __udivsi3."
libbcc shouldn't define an unused ARCH_ARM_HAVE_THUMB_SUPPORT macro.

Change-Id: I76a67807ddb504980c3af52f962348c734bae6af
Merge "libbcc shouldn't define an unused ARCH_ARM_HAVE_THUMB_SUPPORT macro."
[MIPS] Configure code generator to emit static code

The code generator creates PIC by default but it is better to generate
static code in this environment.

Change-Id: I663eb664a3177cafb9e6e7cace6586a4a8ba5cb8
Signed-off-by: Chris Dearman <chris@mips.com>
Merge "[MIPS] Configure code generator to emit static code"
Merge "Start to add X86/SSE2+ optimized clcore library"
Merge "Add more X86/SSE2+ optimized functions"
Undefine a bunch of helper function already exising in gcc 4.7.

Once we start to link libgcc.a before libm.so, these redefined symbols will
cause problems.

DO NOT MERGE

Change-Id: I564a9fbb280450bb2bea83e3e7ce3427b6192412
Merge "Undefine a bunch of helper function already exising in gcc 4.7."
Quick fix for the x86 build.

Change-Id: I995882f60ce3163fe639e4d3cd4073f1f6bde8ae
Merge "Quick fix for the x86 build."
Quick fix for the Mips build.

This fix is simular to what was done for x86, except only 2 of the
functions are not implemented in libgcc 4.7 for Mips.

Change-Id: Ic008d29072702d0c9424b3c97447b765727ff61b
Signed-off-by: Douglas Leung <douglas@mips.com>
Merge "Quick fix for the Mips build."
Merge remote-tracking branch 'aosp/master' into jbm1

Change-Id: Ideb17c01008e9df6d6e663e6d514ac0f01139ea6