[libc-commits] [libc] [libc][math][c23] Add f16fma{, l, f128} C23 math function (PR #96711)

LLVM Continuous Integration via libc-commits libc-commits at lists.llvm.org
Thu Jun 27 11:46:19 PDT 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `libc-aarch64-ubuntu-fullbuild-dbg` running on `libc-aarch64-ubuntu` while building `libc` at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/71/builds/932

Here is the relevant piece of the build log for the reference:
```
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[57/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnl.__internal__.dir/scalbnl.cpp.o
[58/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.o
[59/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.acosf.dir/acosf.cpp.o
[60/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.__internal__.dir/atan2f.cpp.o
[61/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbn.dir/scalbn.cpp.o
[62/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnf128.dir/scalbnf128.cpp.o
[63/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.asinf.__internal__.dir/asinf.cpp.o
[64/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnf16.__internal__.dir/scalbnf16.cpp.o
[65/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbn.__internal__.dir/scalbn.cpp.o
[66/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o
FAILED: projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -Iprojects/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc -isystem projects/libc/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -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 -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -O3 -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/math/generic/f16fmaf128.cpp
fatal error: error in backend: Cannot select: 0x1a7b9920: f16 = fp_round 0x1aa449a0, TargetConstant:i64<0>, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:33
  0x1aa449a0: f128,ch,glue = CopyFromReg 0x1aa541c0, Register:f128 $q0, 0x1aa541c0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
    0x1aa539a0: f128 = Register $q0
    0x1aa541c0: ch,glue = callseq_end 0x1a7b9850, TargetConstant:i64<0>, TargetConstant:i64<0>, 0x1a7b9850:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
      0x1aa452f8: i64 = TargetConstant<0>
      0x1aa452f8: i64 = TargetConstant<0>
      0x1a7b9850: ch,glue = AArch64ISD::CALL 0x1aa459b0, TargetExternalSymbol:i64'__addtf3', Register:f128 $q0, Register:f128 $q1, RegisterMask:Untyped, 0x1aa459b0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
        0x1a7b8dc0: i64 = TargetExternalSymbol'__addtf3'
        0x1aa539a0: f128 = Register $q0
        0x1aa455d0: f128 = Register $q1
        0x1aa46238: Untyped = RegisterMask
        0x1aa459b0: ch,glue = CopyToReg 0x1a7b91d0, Register:f128 $q1, 0x1aa45770, 0x1a7b91d0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
          0x1aa455d0: f128 = Register $q1
          0x1aa45770: f128,ch = CopyFromReg 0x19f108a8, Register:f128 %34, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
            0x1a7b93d8: f128 = Register %34
          0x1a7b91d0: ch,glue = CopyToReg 0x1aa45cf0, Register:f128 $q0, 0x1aa463d8, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
            0x1aa539a0: f128 = Register $q0
            0x1aa463d8: f128,ch,glue = CopyFromReg 0x1a7b9cc8, Register:f128 $q0, 0x1a7b9cc8:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
              0x1aa539a0: f128 = Register $q0
              0x1a7b9cc8: ch,glue = callseq_end 0x1aa53938, TargetConstant:i64<0>, TargetConstant:i64<0>, 0x1aa53938:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
                0x1aa452f8: i64 = TargetConstant<0>
                0x1aa452f8: i64 = TargetConstant<0>
                0x1aa53938: ch,glue = AArch64ISD::CALL 0x1a7b9780, TargetExternalSymbol:i64'__multf3', Register:f128 $q0, Register:f128 $q1, RegisterMask:Untyped, 0x1a7b9780:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
                  0x1aa45878: i64 = TargetExternalSymbol'__multf3'
                  0x1aa539a0: f128 = Register $q0
                  0x1aa455d0: f128 = Register $q1
                  0x1aa46238: Untyped = RegisterMask
                  0x1a7b9780: ch,glue = CopyToReg 0x1aa53f50, Register:f128 $q1, 0x1aa45a18, 0x1aa53f50:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35



  0x1aa452f8: i64 = TargetConstant<0>
In function: _ZN22__llvm_libc_19_0_0_git6fputil7generic3fmaIDF16_eEENS_3cpp9enable_ifIXaaaasr3cppE19is_floating_point_vIT_Esr3cppE19is_floating_point_vIT0_ElestS5_stS6_ES5_E4typeES6_S6_S6_
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: /usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -Iprojects/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc -isystem projects/libc/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -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 -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -O3 -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/math/generic/f16fmaf128.cpp 
1.	<eof> parser at end of file
Step 8 (libc-unit-tests) failure: libc-unit-tests (failure)
...
[57/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnl.__internal__.dir/scalbnl.cpp.o
[58/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.dir/atan2f.cpp.o
[59/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.acosf.dir/acosf.cpp.o
[60/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.atan2f.__internal__.dir/atan2f.cpp.o
[61/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbn.dir/scalbn.cpp.o
[62/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnf128.dir/scalbnf128.cpp.o
[63/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.asinf.__internal__.dir/asinf.cpp.o
[64/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbnf16.__internal__.dir/scalbnf16.cpp.o
[65/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.scalbn.__internal__.dir/scalbn.cpp.o
[66/2759] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o
FAILED: projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -Iprojects/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc -isystem projects/libc/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -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 -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -O3 -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/math/generic/f16fmaf128.cpp
fatal error: error in backend: Cannot select: 0x1a7b9920: f16 = fp_round 0x1aa449a0, TargetConstant:i64<0>, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:33
  0x1aa449a0: f128,ch,glue = CopyFromReg 0x1aa541c0, Register:f128 $q0, 0x1aa541c0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
    0x1aa539a0: f128 = Register $q0
    0x1aa541c0: ch,glue = callseq_end 0x1a7b9850, TargetConstant:i64<0>, TargetConstant:i64<0>, 0x1a7b9850:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
      0x1aa452f8: i64 = TargetConstant<0>
      0x1aa452f8: i64 = TargetConstant<0>
      0x1a7b9850: ch,glue = AArch64ISD::CALL 0x1aa459b0, TargetExternalSymbol:i64'__addtf3', Register:f128 $q0, Register:f128 $q1, RegisterMask:Untyped, 0x1aa459b0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
        0x1a7b8dc0: i64 = TargetExternalSymbol'__addtf3'
        0x1aa539a0: f128 = Register $q0
        0x1aa455d0: f128 = Register $q1
        0x1aa46238: Untyped = RegisterMask
        0x1aa459b0: ch,glue = CopyToReg 0x1a7b91d0, Register:f128 $q1, 0x1aa45770, 0x1a7b91d0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
          0x1aa455d0: f128 = Register $q1
          0x1aa45770: f128,ch = CopyFromReg 0x19f108a8, Register:f128 %34, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
            0x1a7b93d8: f128 = Register %34
          0x1a7b91d0: ch,glue = CopyToReg 0x1aa45cf0, Register:f128 $q0, 0x1aa463d8, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
            0x1aa539a0: f128 = Register $q0
            0x1aa463d8: f128,ch,glue = CopyFromReg 0x1a7b9cc8, Register:f128 $q0, 0x1a7b9cc8:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
              0x1aa539a0: f128 = Register $q0
              0x1a7b9cc8: ch,glue = callseq_end 0x1aa53938, TargetConstant:i64<0>, TargetConstant:i64<0>, 0x1aa53938:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
                0x1aa452f8: i64 = TargetConstant<0>
                0x1aa452f8: i64 = TargetConstant<0>
                0x1aa53938: ch,glue = AArch64ISD::CALL 0x1a7b9780, TargetExternalSymbol:i64'__multf3', Register:f128 $q0, Register:f128 $q1, RegisterMask:Untyped, 0x1a7b9780:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
                  0x1aa45878: i64 = TargetExternalSymbol'__multf3'
                  0x1aa539a0: f128 = Register $q0
                  0x1aa455d0: f128 = Register $q1
                  0x1aa46238: Untyped = RegisterMask
                  0x1a7b9780: ch,glue = CopyToReg 0x1aa53f50, Register:f128 $q1, 0x1aa45a18, 0x1aa53f50:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35



  0x1aa452f8: i64 = TargetConstant<0>
In function: _ZN22__llvm_libc_19_0_0_git6fputil7generic3fmaIDF16_eEENS_3cpp9enable_ifIXaaaasr3cppE19is_floating_point_vIT_Esr3cppE19is_floating_point_vIT0_ElestS5_stS6_ES5_E4typeES6_S6_S6_
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: /usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -Iprojects/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc -isystem projects/libc/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -DLIBC_FULL_BUILD -ffreestanding -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 -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -O3 -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmaf128.__internal__.dir/f16fmaf128.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/math/generic/f16fmaf128.cpp 
1.	<eof> parser at end of file

```

https://github.com/llvm/llvm-project/pull/96711


More information about the libc-commits mailing list