[libc-commits] [libc] [libc][math] Implement a code-size optimized version of powf. (PR #190984)
via libc-commits
libc-commits at lists.llvm.org
Wed Apr 8 07:56:27 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
The build failed before running any tests. Click on a failure below to see the details.
<details>
<summary>libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_ROUND_OPT.dir/powf.cpp.o</summary>
```
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_ROUND_OPT.dir/powf.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -mavx2 -mfma -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -UNDEBUG -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_ROUND_OPT.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_ROUND_OPT.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_ROUND_OPT.dir/powf.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:584:47: error: use of undeclared identifier 'R2'; did you mean 'common_constants_internal::R2'?
584 | double dx2 = fputil::multiply_add(1.0 + dx, R2[idx2], -1.0); // Exact
| ^~
| common_constants_internal::R2
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:368:34: note: 'common_constants_internal::R2' declared here
368 | LIBC_INLINE_VAR constexpr double R2[193] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:887:53: error: use of undeclared identifier 'R'; did you mean 'common_constants_internal::R'?
887 | static_cast<double>(fputil::multiply_add(m_x, R[idx_x], -1.0f)); // Exact
| ^
| common_constants_internal::R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:39:44: note: 'common_constants_internal::R' declared here
39 | alignas(8) LIBC_INLINE_VAR constexpr float R[128] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:932:42: error: use of undeclared identifier 'LOG2_R'; did you mean 'common_constants_internal::LOG2_R'?
932 | double s = fputil::multiply_add(dx, p, LOG2_R[idx_x] + e_x);
| ^~~~~~
| common_constants_internal::LOG2_R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:155:34: note: 'common_constants_internal::LOG2_R' declared here
155 | LIBC_INLINE_VAR constexpr double LOG2_R[128] = {
| ^
3 errors generated.
```
</details>
<details>
<summary>libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o</summary>
```
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -mavx2 -mfma -msse4.2 -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -UNDEBUG -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__internal__.dir/powf.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:584:47: error: use of undeclared identifier 'R2'; did you mean 'common_constants_internal::R2'?
584 | double dx2 = fputil::multiply_add(1.0 + dx, R2[idx2], -1.0); // Exact
| ^~
| common_constants_internal::R2
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:368:34: note: 'common_constants_internal::R2' declared here
368 | LIBC_INLINE_VAR constexpr double R2[193] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:887:53: error: use of undeclared identifier 'R'; did you mean 'common_constants_internal::R'?
887 | static_cast<double>(fputil::multiply_add(m_x, R[idx_x], -1.0f)); // Exact
| ^
| common_constants_internal::R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:39:44: note: 'common_constants_internal::R' declared here
39 | alignas(8) LIBC_INLINE_VAR constexpr float R[128] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:932:42: error: use of undeclared identifier 'LOG2_R'; did you mean 'common_constants_internal::LOG2_R'?
932 | double s = fputil::multiply_add(dx, p, LOG2_R[idx_x] + e_x);
| ^~~~~~
| common_constants_internal::LOG2_R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:155:34: note: 'common_constants_internal::LOG2_R' declared here
155 | LIBC_INLINE_VAR constexpr double LOG2_R[128] = {
| ^
3 errors generated.
```
</details>
<details>
<summary>libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o</summary>
```
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -msse4.2 -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -UNDEBUG -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__internal__.dir/powf.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:584:47: error: use of undeclared identifier 'R2'; did you mean 'common_constants_internal::R2'?
584 | double dx2 = fputil::multiply_add(1.0 + dx, R2[idx2], -1.0); // Exact
| ^~
| common_constants_internal::R2
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:368:34: note: 'common_constants_internal::R2' declared here
368 | LIBC_INLINE_VAR constexpr double R2[193] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:890:54: error: use of undeclared identifier 'RD'; did you mean 'common_constants_internal::RD'?
890 | fputil::multiply_add(static_cast<double>(m_x), RD[idx_x], -1.0); // Exact
| ^~
| common_constants_internal::RD
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:60:34: note: 'common_constants_internal::RD' declared here
60 | LIBC_INLINE_VAR constexpr double RD[128] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:932:42: error: use of undeclared identifier 'LOG2_R'; did you mean 'common_constants_internal::LOG2_R'?
932 | double s = fputil::multiply_add(dx, p, LOG2_R[idx_x] + e_x);
| ^~~~~~
| common_constants_internal::LOG2_R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:155:34: note: 'common_constants_internal::LOG2_R' declared here
155 | LIBC_INLINE_VAR constexpr double LOG2_R[128] = {
| ^
3 errors generated.
```
</details>
<details>
<summary>libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_ROUND_OPT.__internal__.dir/powf.cpp.o</summary>
```
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_ROUND_OPT.__internal__.dir/powf.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -mavx2 -mfma -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -UNDEBUG -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_ROUND_OPT.__internal__.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_ROUND_OPT.__internal__.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_ROUND_OPT.__internal__.dir/powf.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:584:47: error: use of undeclared identifier 'R2'; did you mean 'common_constants_internal::R2'?
584 | double dx2 = fputil::multiply_add(1.0 + dx, R2[idx2], -1.0); // Exact
| ^~
| common_constants_internal::R2
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:368:34: note: 'common_constants_internal::R2' declared here
368 | LIBC_INLINE_VAR constexpr double R2[193] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:887:53: error: use of undeclared identifier 'R'; did you mean 'common_constants_internal::R'?
887 | static_cast<double>(fputil::multiply_add(m_x, R[idx_x], -1.0f)); // Exact
| ^
| common_constants_internal::R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:39:44: note: 'common_constants_internal::R' declared here
39 | alignas(8) LIBC_INLINE_VAR constexpr float R[128] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:932:42: error: use of undeclared identifier 'LOG2_R'; did you mean 'common_constants_internal::LOG2_R'?
932 | double s = fputil::multiply_add(dx, p, LOG2_R[idx_x] + e_x);
| ^~~~~~
| common_constants_internal::LOG2_R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:155:34: note: 'common_constants_internal::LOG2_R' declared here
155 | LIBC_INLINE_VAR constexpr double LOG2_R[128] = {
| ^
3 errors generated.
```
</details>
<details>
<summary>libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o</summary>
```
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -mavx2 -mfma -msse4.2 -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -UNDEBUG -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.dir/powf.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:584:47: error: use of undeclared identifier 'R2'; did you mean 'common_constants_internal::R2'?
584 | double dx2 = fputil::multiply_add(1.0 + dx, R2[idx2], -1.0); // Exact
| ^~
| common_constants_internal::R2
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:368:34: note: 'common_constants_internal::R2' declared here
368 | LIBC_INLINE_VAR constexpr double R2[193] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:887:53: error: use of undeclared identifier 'R'; did you mean 'common_constants_internal::R'?
887 | static_cast<double>(fputil::multiply_add(m_x, R[idx_x], -1.0f)); // Exact
| ^
| common_constants_internal::R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:39:44: note: 'common_constants_internal::R' declared here
39 | alignas(8) LIBC_INLINE_VAR constexpr float R[128] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:932:42: error: use of undeclared identifier 'LOG2_R'; did you mean 'common_constants_internal::LOG2_R'?
932 | double s = fputil::multiply_add(dx, p, LOG2_R[idx_x] + e_x);
| ^~~~~~
| common_constants_internal::LOG2_R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:155:34: note: 'common_constants_internal::LOG2_R' declared here
155 | LIBC_INLINE_VAR constexpr double LOG2_R[128] = {
| ^
3 errors generated.
```
</details>
<details>
<summary>libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__NO_ROUND_OPT.__internal__.dir/powf.cpp.o</summary>
```
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__NO_ROUND_OPT.__internal__.dir/powf.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -UNDEBUG -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__NO_ROUND_OPT.__internal__.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__NO_ROUND_OPT.__internal__.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__NO_ROUND_OPT.__internal__.dir/powf.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:584:47: error: use of undeclared identifier 'R2'; did you mean 'common_constants_internal::R2'?
584 | double dx2 = fputil::multiply_add(1.0 + dx, R2[idx2], -1.0); // Exact
| ^~
| common_constants_internal::R2
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:368:34: note: 'common_constants_internal::R2' declared here
368 | LIBC_INLINE_VAR constexpr double R2[193] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:890:54: error: use of undeclared identifier 'RD'; did you mean 'common_constants_internal::RD'?
890 | fputil::multiply_add(static_cast<double>(m_x), RD[idx_x], -1.0); // Exact
| ^~
| common_constants_internal::RD
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:60:34: note: 'common_constants_internal::RD' declared here
60 | LIBC_INLINE_VAR constexpr double RD[128] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:932:42: error: use of undeclared identifier 'LOG2_R'; did you mean 'common_constants_internal::LOG2_R'?
932 | double s = fputil::multiply_add(dx, p, LOG2_R[idx_x] + e_x);
| ^~~~~~
| common_constants_internal::LOG2_R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:155:34: note: 'common_constants_internal::LOG2_R' declared here
155 | LIBC_INLINE_VAR constexpr double LOG2_R[128] = {
| ^
3 errors generated.
```
</details>
<details>
<summary>libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.dir/powf.cpp.o</summary>
```
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.dir/powf.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -msse4.2 -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -UNDEBUG -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.dir/powf.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:584:47: error: use of undeclared identifier 'R2'; did you mean 'common_constants_internal::R2'?
584 | double dx2 = fputil::multiply_add(1.0 + dx, R2[idx2], -1.0); // Exact
| ^~
| common_constants_internal::R2
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:368:34: note: 'common_constants_internal::R2' declared here
368 | LIBC_INLINE_VAR constexpr double R2[193] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:890:54: error: use of undeclared identifier 'RD'; did you mean 'common_constants_internal::RD'?
890 | fputil::multiply_add(static_cast<double>(m_x), RD[idx_x], -1.0); // Exact
| ^~
| common_constants_internal::RD
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:60:34: note: 'common_constants_internal::RD' declared here
60 | LIBC_INLINE_VAR constexpr double RD[128] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:932:42: error: use of undeclared identifier 'LOG2_R'; did you mean 'common_constants_internal::LOG2_R'?
932 | double s = fputil::multiply_add(dx, p, LOG2_R[idx_x] + e_x);
| ^~~~~~
| common_constants_internal::LOG2_R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:155:34: note: 'common_constants_internal::LOG2_R' declared here
155 | LIBC_INLINE_VAR constexpr double LOG2_R[128] = {
| ^
3 errors generated.
```
</details>
<details>
<summary>libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__NO_ROUND_OPT.dir/powf.cpp.o</summary>
```
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__NO_ROUND_OPT.dir/powf.cpp.o
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ --target=x86_64-unknown-linux-gnu -DLIBC_NAMESPACE=__llvm_libc_23_0_0_git -I/home/gha/actions-runner/_work/llvm-project/llvm-project/libc -isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O3 -DNDEBUG -std=gnu++17 -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=clang_vector -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=word -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_CONF_WCTYPE_MODE=LIBC_WCTYPE_MODE_ASCII -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -UNDEBUG -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__NO_ROUND_OPT.dir/powf.cpp.o -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__NO_ROUND_OPT.dir/powf.cpp.o.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.powf.__NO_FMA_OPT.__NO_ROUND_OPT.dir/powf.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:584:47: error: use of undeclared identifier 'R2'; did you mean 'common_constants_internal::R2'?
584 | double dx2 = fputil::multiply_add(1.0 + dx, R2[idx2], -1.0); // Exact
| ^~
| common_constants_internal::R2
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:368:34: note: 'common_constants_internal::R2' declared here
368 | LIBC_INLINE_VAR constexpr double R2[193] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:890:54: error: use of undeclared identifier 'RD'; did you mean 'common_constants_internal::RD'?
890 | fputil::multiply_add(static_cast<double>(m_x), RD[idx_x], -1.0); // Exact
| ^~
| common_constants_internal::RD
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:60:34: note: 'common_constants_internal::RD' declared here
60 | LIBC_INLINE_VAR constexpr double RD[128] = {
| ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/math/generic/powf.cpp:10:
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/powf.h:932:42: error: use of undeclared identifier 'LOG2_R'; did you mean 'common_constants_internal::LOG2_R'?
932 | double s = fputil::multiply_add(dx, p, LOG2_R[idx_x] + e_x);
| ^~~~~~
| common_constants_internal::LOG2_R
/home/gha/actions-runner/_work/llvm-project/llvm-project/libc/src/__support/math/common_constants.h:155:34: note: 'common_constants_internal::LOG2_R' declared here
155 | LIBC_INLINE_VAR constexpr double LOG2_R[128] = {
| ^
3 errors generated.
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/190984
More information about the libc-commits
mailing list