.integer_utils
libc.src.__support.CPP.array
libc.src.__support.CPP.type_traits
- libc.src.__support.macros.attributes
+ libc.src.__support.macros.optimization
)
add_header_library(
libc.src.__support.CPP.bit
libc.src.__support.CPP.type_traits
libc.src.__support.common
+ libc.src.__support.macros.optimization
libc.include.math
libc.include.errno
libc.src.errno.errno
.fp_bits
.fenv_impl
libc.src.__support.CPP.optional
+ libc.src.__support.macros.optimization
)
nearest_integer.h
DEPENDS
libc.src.__support.common
+ libc.src.__support.macros.optimization
FLAGS
ROUND_OPT
)
.multiply_add
libc.src.__support.common
libc.src.__support.uint
+ libc.src.__support.macros.optimization
)
add_subdirectory(generic)
libc.src.__support.FPUtil.float_properties
libc.src.__support.FPUtil.fp_bits
libc.src.__support.builtin_wrappers
+ libc.src.__support.macros.optimization
libc.src.__support.uint128
)
libc.src.__support.FPUtil.float_properties
libc.src.__support.FPUtil.fp_bits
libc.src.__support.builtin_wrappers
+ libc.src.__support.macros.optimization
libc.src.math.generic.math_utils
)
libc.src.__support.FPUtil.fma
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.polyeval
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
libc.src.__support.FPUtil.fma
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.polyeval
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
libc.src.__support.FPUtil.fma
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.polyeval
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
libc.src.__support.FPUtil.fma
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.polyeval
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.nearest_integer
libc.src.__support.FPUtil.polyeval
+ libc.src.__support.macros.optimization
libc.include.errno
libc.src.errno.errno
libc.include.math
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.nearest_integer
libc.src.__support.FPUtil.polyeval
+ libc.src.__support.macros.optimization
libc.include.errno
libc.src.errno.errno
libc.include.math
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.nearest_integer
libc.src.__support.FPUtil.polyeval
+ libc.src.__support.macros.optimization
libc.include.errno
libc.src.errno.errno
libc.include.math
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.nearest_integer
libc.src.__support.FPUtil.polyeval
+ libc.src.__support.macros.optimization
libc.include.errno
libc.src.errno.errno
libc.include.math
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.double_double
libc.src.__support.FPUtil.dyadic_float
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
libc.src.__support.FPUtil.fp_bits
libc.src.__support.FPUtil.fma
libc.src.__support.FPUtil.polyeval
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
libc.src.__support.FPUtil.fp_bits
libc.src.__support.FPUtil.fma
libc.src.__support.FPUtil.polyeval
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
libc.src.__support.FPUtil.fp_bits
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.polyeval
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
.explogxf
libc.src.__support.FPUtil.fp_bits
libc.src.__support.FPUtil.multiply_add
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
DEPENDS
.explogxf
libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
DEPENDS
.explogxf
libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.polyeval
libc.src.__support.FPUtil.sqrt
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.polyeval
libc.src.__support.FPUtil.sqrt
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
DEPENDS
.explogxf
libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.polyeval
libc.src.__support.FPUtil.sqrt
+ libc.src.__support.macros.optimization
.inv_trigf_utils
COMPILE_OPTIONS
-O3
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.polyeval
libc.src.__support.FPUtil.sqrt
+ libc.src.__support.macros.optimization
.inv_trigf_utils
COMPILE_OPTIONS
-O3
.inv_trigf_utils
.math_utils
libc.src.__support.FPUtil.fp_bits
+ libc.src.__support.macros.optimization
COMPILE_OPTIONS
-O3
)
#include "src/__support/FPUtil/except_value_utils.h"
#include "src/__support/FPUtil/multiply_add.h"
#include "src/__support/common.h"
-#include "src/__support/macros/attributes.h" // LIBC_UNLIKELY
+#include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
+#include "src/__support/macros/properties/cpu_features.h"
// This is an algorithm for log10(x) in single precision which is
// correctly rounded for all rounding modes, based on the implementation of
return fputil::round_result_slightly_down(0x1.2c9314p+3f);
case 0x7956'ba5eU: // x = 69683218960000541503257137270226944.0
return fputil::round_result_slightly_up(0x1.16bebap+5f);
-#ifndef LIBC_TARGET_HAS_FMA
+#ifndef LIBC_TARGET_CPU_HAS_FMA
case 0x08ae'a356U: // x = 0x1.5d46acp-110f
return fputil::round_result_slightly_up(-0x1.07d3b4p+5f);
case 0x1c7d'a337U: // x = 0x1.fb466ep-71f
return fputil::round_result_slightly_up(-0x1.5137dp+4f);
case 0x69c8'c583U: // x = 0x1.918b06p+84f
return fputil::round_result_slightly_down(0x1.97b652p+4f);
-#endif // LIBC_TARGET_HAS_FMA
+#endif // LIBC_TARGET_CPU_HAS_FMA
}
int m = -FPBits::EXPONENT_BIAS;
#include "src/__support/FPUtil/except_value_utils.h"
#include "src/__support/FPUtil/multiply_add.h"
#include "src/__support/common.h"
-#include "src/__support/macros/attributes.h" // LIBC_UNLIKELY
+#include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
+#include "src/__support/macros/properties/cpu_features.h"
// This is an algorithm for log10(x) in single precision which is
// correctly rounded for all rounding modes.
case 0xbf800000U: // x = -1.0
fputil::raise_except(FE_DIVBYZERO);
return static_cast<float>(fputil::FPBits<float>::neg_inf());
-#ifndef LIBC_TARGET_HAS_FMA
+#ifndef LIBC_TARGET_CPU_HAS_FMA
case 0x4cc1c80bU: // x = 0x1.839016p+26f
return fputil::round_result_slightly_down(0x1.26fc04p+4f);
case 0x5ee8984eU: // x = 0x1.d1309cp+62f
return fputil::round_result_slightly_up(0x1.af66cp+5f);
case 0x79e7ec37U: // x = 0x1.cfd86ep+116f
return fputil::round_result_slightly_up(0x1.43ff6ep+6);
-#endif // LIBC_TARGET_HAS_FMA
+#endif // LIBC_TARGET_CPU_HAS_FMA
}
return internal::log(xd + 1.0);
#include "src/__support/FPUtil/except_value_utils.h"
#include "src/__support/FPUtil/multiply_add.h"
#include "src/__support/common.h"
-#include "src/__support/macros/attributes.h" // LIBC_UNLIKELY
+#include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
// This is a correctly-rounded algorithm for log2(x) in single precision with
// round-to-nearest, tie-to-even mode from the RLIBM project at:
#include "src/__support/FPUtil/except_value_utils.h"
#include "src/__support/FPUtil/multiply_add.h"
#include "src/__support/common.h"
-#include "src/__support/macros/attributes.h" // LIBC_UNLIKELY
+#include "src/__support/macros/optimization.h" // LIBC_UNLIKELY
+#include "src/__support/macros/properties/cpu_features.h"
// This is an algorithm for log(x) in single precision which is correctly
// rounded for all rounding modes, based on the implementation of log(x) from
return round_result_slightly_down(0x1.08b512p+6f);
case 0x7a17f30aU: // x = 0x1.2fe614p+117f
return round_result_slightly_up(0x1.451436p+6f);
-#ifndef LIBC_TARGET_HAS_FMA
+#ifndef LIBC_TARGET_CPU_HAS_FMA
case 0x1b7679ffU: // x = 0x1.ecf3fep-73f
return round_result_slightly_up(-0x1.8f8e5ap+5f);
case 0x1e88452dU: // x = 0x1.108a5ap-66f
return round_result_slightly_up(0x1.af66cp+5f);
case 0x79e7ec37U: // x = 0x1.cfd86ep+116f
return round_result_slightly_up(0x1.43ff6ep+6f);
-#endif // LIBC_TARGET_HAS_FMA
+#endif // LIBC_TARGET_CPU_HAS_FMA
}
int m = -FPBits::EXPONENT_BIAS;
name = "__support_cpp_cstddef",
hdrs = ["src/__support/CPP/cstddef.h"],
deps = [
- "__support_cpp_type_traits",
+ ":__support_cpp_type_traits",
":libc_root",
],
)
name = "__support_cpp_span",
hdrs = ["src/__support/CPP/span.h"],
deps = [
- "__support_cpp_array",
- "__support_cpp_type_traits",
+ ":__support_cpp_array",
+ ":__support_cpp_type_traits",
":libc_root",
],
)
name = "__support_number_pair",
hdrs = ["src/__support/number_pair.h"],
deps = [
- "__support_cpp_type_traits",
- "__support_named_pair",
+ ":__support_cpp_type_traits",
+ ":__support_named_pair",
":libc_root",
],
)
name = "__support_integer_utils",
hdrs = ["src/__support/integer_utils.h"],
deps = [
- "__support_builtin_wrappers",
- "__support_common",
- "__support_cpp_type_traits",
- "__support_number_pair",
+ ":__support_builtin_wrappers",
+ ":__support_common",
+ ":__support_cpp_type_traits",
+ ":__support_number_pair",
":libc_root",
],
)
name = "__support_uint",
hdrs = ["src/__support/UInt.h"],
deps = [
- "__support_builtin_wrappers",
- "__support_cpp_array",
- "__support_cpp_limits",
- "__support_cpp_optional",
- "__support_cpp_type_traits",
- "__support_integer_utils",
- "__support_macros_attributes",
- "__support_macros_optimization",
- "__support_number_pair",
+ ":__support_builtin_wrappers",
+ ":__support_cpp_array",
+ ":__support_cpp_limits",
+ ":__support_cpp_optional",
+ ":__support_cpp_type_traits",
+ ":__support_integer_utils",
+ ":__support_macros_attributes",
+ ":__support_macros_optimization",
+ ":__support_number_pair",
":libc_root",
],
)
textual_hdrs = nearest_integer_platform_hdrs,
deps = [
":libc_root",
+ ":__support_macros_optimization",
],
)
":__support_fputil_fma",
":__support_fputil_multiply_add",
":__support_fputil_polyeval",
+ ":__support_macros_optimization",
+ ":__support_macros_properties_cpu_features",
":common_constants",
],
)
":__support_fputil_fma",
":__support_fputil_multiply_add",
":__support_fputil_polyeval",
+ ":__support_macros_optimization",
":common_constants",
],
)
":__support_fputil_fma",
":__support_fputil_multiply_add",
":__support_fputil_polyeval",
+ ":__support_macros_optimization",
+ ":__support_macros_properties_cpu_features",
":common_constants",
],
)
":__support_fputil_fma",
":__support_fputil_multiply_add",
":__support_fputil_polyeval",
+ ":__support_macros_optimization",
+ ":__support_macros_properties_cpu_features",
":common_constants",
],
)