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>

Conflicts:
	runtime/lib/ashldi3.c
	runtime/lib/lshrdi3.c
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
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