mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-11 16:37:42 +00:00
Added support for building against Android API-9 SDK
Created an abstraction for log2, llvm::Log2 in Support/MathExtras.h Hid Android problems inside of it Differential Revision: http://reviews.llvm.org/D9467 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236680 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
be6ad41cdd
commit
a94bd7a780
@ -24,6 +24,10 @@
|
||||
#include <intrin.h>
|
||||
#endif
|
||||
|
||||
#ifdef __ANDROID_NDK__
|
||||
#include <android/api-level.h>
|
||||
#endif
|
||||
|
||||
namespace llvm {
|
||||
/// \brief The behavior an operation has on an input of 0.
|
||||
enum ZeroBehavior {
|
||||
@ -449,6 +453,15 @@ inline unsigned countPopulation(T Value) {
|
||||
return detail::PopulationCounter<T, sizeof(T)>::count(Value);
|
||||
}
|
||||
|
||||
/// Log2 - This function returns the log base 2 of the specified value
|
||||
inline double Log2(double Value) {
|
||||
#if defined(__ANDROID_API__) && __ANDROID_API__ < 18
|
||||
return (double)__builtin_log2l(Value);
|
||||
#else
|
||||
return log2(Value);
|
||||
#endif
|
||||
}
|
||||
|
||||
/// Log2_32 - This function returns the floor log base 2 of the specified value,
|
||||
/// -1 if the value is zero. (32 bit edition.)
|
||||
/// Ex. Log2_32(32) == 5, Log2_32(1) == 0, Log2_32(0) == -1, Log2_32(6) == 2
|
||||
|
@ -1438,7 +1438,7 @@ static Constant *ConstantFoldScalarCall(StringRef Name, unsigned IntrinsicID,
|
||||
case Intrinsic::fabs:
|
||||
return ConstantFoldFP(fabs, V, Ty);
|
||||
case Intrinsic::log2:
|
||||
return ConstantFoldFP(log2, V, Ty);
|
||||
return ConstantFoldFP(Log2, V, Ty);
|
||||
case Intrinsic::log:
|
||||
return ConstantFoldFP(log, V, Ty);
|
||||
case Intrinsic::log10:
|
||||
|
Loading…
x
Reference in New Issue
Block a user