mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 14:36:08 +00:00
[libc][NFC] Rename LIBC_COMPILER_HAS_FLOAT128
to LIBC_TYPES_HAS_FLOAT128
(#83395)
Umbrella bug #83182
This commit is contained in:
parent
21be2fbd17
commit
75fb825bcc
@ -55,7 +55,7 @@ foreach(feature IN LISTS ALL_COMPILER_FEATURES)
|
||||
if(has_feature)
|
||||
list(APPEND AVAILABLE_COMPILER_FEATURES ${feature})
|
||||
if(${feature} STREQUAL "float128")
|
||||
set(LIBC_COMPILER_HAS_FLOAT128 TRUE)
|
||||
set(LIBC_TYPES_HAS_FLOAT128 TRUE)
|
||||
elseif(${feature} STREQUAL "fixed_point")
|
||||
set(LIBC_COMPILER_HAS_FIXED_POINT TRUE)
|
||||
endif()
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include "src/__support/macros/properties/types.h"
|
||||
|
||||
#ifndef LIBC_COMPILER_HAS_FLOAT128
|
||||
#ifndef LIBC_TYPES_HAS_FLOAT128
|
||||
#error unsupported
|
||||
#endif
|
||||
|
@ -414,7 +414,7 @@ set(TARGET_LIBM_ENTRYPOINTS
|
||||
libc.src.math.truncl
|
||||
)
|
||||
|
||||
if(LIBC_COMPILER_HAS_FLOAT128)
|
||||
if(LIBC_TYPES_HAS_FLOAT128)
|
||||
list(APPEND TARGET_LIBM_ENTRYPOINTS
|
||||
# math.h C23 _Float128 entrypoints
|
||||
libc.src.math.ceilf128
|
||||
|
@ -423,7 +423,7 @@ set(TARGET_LIBM_ENTRYPOINTS
|
||||
libc.src.math.truncl
|
||||
)
|
||||
|
||||
if(LIBC_COMPILER_HAS_FLOAT128)
|
||||
if(LIBC_TYPES_HAS_FLOAT128)
|
||||
list(APPEND TARGET_LIBM_ENTRYPOINTS
|
||||
# math.h C23 _Float128 entrypoints
|
||||
libc.src.math.ceilf128
|
||||
|
@ -442,7 +442,7 @@ set(TARGET_LIBM_ENTRYPOINTS
|
||||
libc.src.math.truncl
|
||||
)
|
||||
|
||||
if(LIBC_COMPILER_HAS_FLOAT128)
|
||||
if(LIBC_TYPES_HAS_FLOAT128)
|
||||
list(APPEND TARGET_LIBM_ENTRYPOINTS
|
||||
# math.h C23 _Float128 entrypoints
|
||||
libc.src.math.ceilf128
|
||||
|
@ -48,7 +48,7 @@ We define two kinds of macros:
|
||||
* ``cpu_features.h`` - Target cpu feature availability.
|
||||
e.g., ``LIBC_TARGET_CPU_HAS_AVX2``.
|
||||
* ``types.h`` - Type properties and availability.
|
||||
e.g., ``LIBC_COMPILER_HAS_FLOAT128``.
|
||||
e.g., ``LIBC_TYPES_HAS_FLOAT128``.
|
||||
* ``os.h`` - Target os properties.
|
||||
e.g., ``LIBC_TARGET_OS_IS_LINUX``.
|
||||
|
||||
|
@ -364,37 +364,37 @@ def StdC : StandardSpec<"stdc"> {
|
||||
FunctionSpec<"copysign", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"copysignf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"copysignl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"copysignf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"copysignf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"ceil", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"ceilf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"ceill", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"ceilf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"ceilf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"fabs", RetValSpec<DoubleType>, [ArgSpec<DoubleType>], [ConstAttr]>,
|
||||
FunctionSpec<"fabsf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"fabsl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"fabsf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"fabsf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"fdim", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"fdimf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"fdiml", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"fdimf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"fdimf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"floor", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"floorf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"floorl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"floorf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"floorf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"fmin", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"fminf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"fminl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"fminf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"fminf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"fmax", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"fmaxf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"fmaxl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"fmaxf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"fmaxf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"fma", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>, ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"fmaf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>, ArgSpec<FloatType>]>,
|
||||
@ -406,7 +406,7 @@ def StdC : StandardSpec<"stdc"> {
|
||||
FunctionSpec<"frexp", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<IntPtr>]>,
|
||||
FunctionSpec<"frexpf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<IntPtr>]>,
|
||||
FunctionSpec<"frexpl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<IntPtr>]>,
|
||||
GuardedFunctionSpec<"frexpf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<IntPtr>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"frexpf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<IntPtr>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"hypot", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"hypotf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatType>]>,
|
||||
@ -414,17 +414,17 @@ def StdC : StandardSpec<"stdc"> {
|
||||
FunctionSpec<"ilogb", RetValSpec<IntType>, [ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"ilogbf", RetValSpec<IntType>, [ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"ilogbl", RetValSpec<IntType>, [ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"ilogbf128", RetValSpec<IntType>, [ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"ilogbf128", RetValSpec<IntType>, [ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"llogb", RetValSpec<LongType>, [ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"llogbf", RetValSpec<LongType>, [ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"llogbl", RetValSpec<LongType>, [ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"llogbf128", RetValSpec<LongType>, [ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"llogbf128", RetValSpec<LongType>, [ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"ldexp", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<IntType>]>,
|
||||
FunctionSpec<"ldexpf", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<IntType>]>,
|
||||
FunctionSpec<"ldexpl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>, ArgSpec<IntType>]>,
|
||||
GuardedFunctionSpec<"ldexpf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<IntType>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"ldexpf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>, ArgSpec<IntType>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"log10", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"log10f", RetValSpec<FloatType>, [ArgSpec<FloatType>]>,
|
||||
@ -441,7 +441,7 @@ def StdC : StandardSpec<"stdc"> {
|
||||
FunctionSpec<"logb", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"logbf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"logbl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"logbf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"logbf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"modf", RetValSpec<DoubleType>, [ArgSpec<DoubleType>, ArgSpec<DoublePtr>]>,
|
||||
FunctionSpec<"modff", RetValSpec<FloatType>, [ArgSpec<FloatType>, ArgSpec<FloatPtr>]>,
|
||||
@ -476,7 +476,7 @@ def StdC : StandardSpec<"stdc"> {
|
||||
FunctionSpec<"round", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"roundf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"roundl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"roundf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"roundf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"lround", RetValSpec<LongType>, [ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"lroundf", RetValSpec<LongType>, [ArgSpec<FloatType>]>,
|
||||
@ -501,12 +501,12 @@ def StdC : StandardSpec<"stdc"> {
|
||||
FunctionSpec<"sqrt", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"sqrtf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"sqrtl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"sqrtf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"sqrtf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"trunc", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"truncf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>,
|
||||
FunctionSpec<"truncl", RetValSpec<LongDoubleType>, [ArgSpec<LongDoubleType>]>,
|
||||
GuardedFunctionSpec<"truncf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_COMPILER_HAS_FLOAT128">,
|
||||
GuardedFunctionSpec<"truncf128", RetValSpec<Float128Type>, [ArgSpec<Float128Type>], "LIBC_TYPES_HAS_FLOAT128">,
|
||||
|
||||
FunctionSpec<"nearbyint", RetValSpec<DoubleType>, [ArgSpec<DoubleType>]>,
|
||||
FunctionSpec<"nearbyintf", RetValSpec<FloatType>, [ArgSpec<FloatType>]>,
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include "src/__support/CPP/type_traits/is_same.h"
|
||||
#include "src/__support/CPP/type_traits/remove_cv.h"
|
||||
#include "src/__support/macros/attributes.h"
|
||||
#include "src/__support/macros/properties/types.h"
|
||||
#include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_FLOAT128
|
||||
|
||||
namespace LIBC_NAMESPACE::cpp {
|
||||
|
||||
@ -24,13 +24,13 @@ private:
|
||||
}
|
||||
|
||||
public:
|
||||
#if defined(LIBC_COMPILER_HAS_FLOAT128)
|
||||
#if defined(LIBC_TYPES_HAS_FLOAT128)
|
||||
LIBC_INLINE_VAR static constexpr bool value =
|
||||
__is_unqualified_any_of<T, float, double, long double, float128>();
|
||||
#else
|
||||
LIBC_INLINE_VAR static constexpr bool value =
|
||||
__is_unqualified_any_of<T, float, double, long double>();
|
||||
#endif // LIBC_COMPILER_HAS_FLOAT128
|
||||
#endif // LIBC_TYPES_HAS_FLOAT128
|
||||
};
|
||||
template <typename T>
|
||||
LIBC_INLINE_VAR constexpr bool is_floating_point_v =
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include "src/__support/common.h"
|
||||
#include "src/__support/libc_assert.h" // LIBC_ASSERT
|
||||
#include "src/__support/macros/attributes.h" // LIBC_INLINE, LIBC_INLINE_VAR
|
||||
#include "src/__support/macros/properties/types.h" // LIBC_COMPILER_HAS_FLOAT128
|
||||
#include "src/__support/macros/properties/types.h" // LIBC_TYPES_HAS_FLOAT128
|
||||
#include "src/__support/math_extras.h" // mask_trailing_ones
|
||||
|
||||
#include <stdint.h>
|
||||
@ -808,12 +808,8 @@ template <typename T> LIBC_INLINE static constexpr FPType get_fp_type() {
|
||||
else if constexpr (cpp::is_same_v<UnqualT, float16>)
|
||||
return FPType::IEEE754_Binary16;
|
||||
#endif
|
||||
#if defined(LIBC_COMPILER_HAS_C23_FLOAT128)
|
||||
else if constexpr (cpp::is_same_v<UnqualT, _Float128>)
|
||||
return FPType::IEEE754_Binary128;
|
||||
#endif
|
||||
#if defined(LIBC_COMPILER_HAS_FLOAT128_EXTENSION)
|
||||
else if constexpr (cpp::is_same_v<UnqualT, __float128>)
|
||||
#if defined(LIBC_TYPES_HAS_FLOAT128)
|
||||
else if constexpr (cpp::is_same_v<UnqualT, float128>)
|
||||
return FPType::IEEE754_Binary128;
|
||||
#endif
|
||||
else
|
||||
|
@ -54,8 +54,7 @@ using float16 = _Float16;
|
||||
#if defined(LIBC_COMPILER_HAS_C23_FLOAT128) || \
|
||||
defined(LIBC_COMPILER_HAS_FLOAT128_EXTENSION) || \
|
||||
defined(LIBC_LONG_DOUBLE_IS_FLOAT128)
|
||||
// TODO: Replace with LIBC_HAS_FLOAT128
|
||||
#define LIBC_COMPILER_HAS_FLOAT128
|
||||
#define LIBC_TYPES_HAS_FLOAT128
|
||||
#endif
|
||||
|
||||
#endif // LLVM_LIBC_SRC___SUPPORT_MACROS_PROPERTIES_TYPES_H
|
||||
|
@ -575,7 +575,7 @@ TEST(LlvmLibcFPBitsTest, LongDoubleType) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(LIBC_COMPILER_HAS_FLOAT128)
|
||||
#if defined(LIBC_TYPES_HAS_FLOAT128)
|
||||
TEST(LlvmLibcFPBitsTest, Float128Type) {
|
||||
using Float128Bits = FPBits<float128>;
|
||||
|
||||
@ -643,4 +643,4 @@ TEST(LlvmLibcFPBitsTest, Float128Type) {
|
||||
Float128Bits quiet_nan = Float128Bits::quiet_nan();
|
||||
EXPECT_EQ(quiet_nan.is_quiet_nan(), true);
|
||||
}
|
||||
#endif // LIBC_COMPILER_HAS_FLOAT128
|
||||
#endif // LIBC_TYPES_HAS_FLOAT128
|
||||
|
@ -54,7 +54,7 @@ TEST(LlvmLibcUIntClassTest, BitCastToFromNativeUint128) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef LIBC_COMPILER_HAS_FLOAT128
|
||||
#ifdef LIBC_TYPES_HAS_FLOAT128
|
||||
TEST(LlvmLibcUIntClassTest, BitCastToFromNativeFloat128) {
|
||||
static_assert(cpp::is_trivially_copyable<LL_UInt128>::value);
|
||||
static_assert(sizeof(LL_UInt128) == sizeof(float128));
|
||||
@ -65,7 +65,7 @@ TEST(LlvmLibcUIntClassTest, BitCastToFromNativeFloat128) {
|
||||
EXPECT_TRUE(value == forth);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif // LIBC_TYPES_HAS_FLOAT128
|
||||
|
||||
TEST(LlvmLibcUIntClassTest, BasicInit) {
|
||||
LL_UInt128 half_val(12345);
|
||||
|
Loading…
x
Reference in New Issue
Block a user