[PATCH 1/2] Implement accurate log2 function

Use the implementation was ported from the AMD builtin library rather
than LLVM Intrinsics.

This has been tested with piglit, OpenCV, and the ocl conformance tests.

We need to use M_LOG2E instead of M_LOG2E_F.

This should also update native_log2 to use the LLVM intrinsic

>
> Use the implementation was ported from the AMD builtin library rather
> than LLVM Intrinsics.
>
> This has been tested with piglit, OpenCV, and the ocl conformance tests.
> ---
> generic/include/clc/math/log.h | 2 +-
> generic/include/clc/math/log2.h | 28 +++-
> generic/include/clc/math/log2.inc | 23 +++
> generic/lib/SOURCES | 1 +
> generic/lib/math/log2.cl | 37 +++++
> generic/lib/math/log_base.h | 299 ++++++++++++++++++++++++++++++++++++++
> generic/lib/math/tables.cl | 132 +++++++++++++++++
> generic/lib/math/tables.h | 1 +
> 8 files changed, 517 insertions(+), 6 deletions(-)
> create mode 100644 generic/include/clc/math/log2.inc
> create mode 100644 generic/lib/math/log2.cl
> create mode 100644 generic/lib/math/log_base.h

This should also update native_log2 to use the LLVM intrinsic

I just sent out a separate patch that does this.

-Tom