[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:45:57 PDT 2024


llvm-ci wrote:

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

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

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)
...
[106/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.fmaximumf.dir/fmaximumf.cpp.o
[107/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.lroundf.dir/lroundf.cpp.o
[108/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.remainder.dir/remainder.cpp.o
[109/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.nearbyintf128.dir/nearbyintf128.cpp.o
[110/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.llrintf128.dir/llrintf128.cpp.o
[111/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.llrintf16.dir/llrintf16.cpp.o
[112/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.rintf128.dir/rintf128.cpp.o
[113/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.lrintl.dir/lrintl.cpp.o
[114/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.nearbyint.dir/nearbyint.cpp.o
[115/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o
FAILED: projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_18_0_0_git -D_DEBUG -Iprojects/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/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 -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 -DLIBC_COPT_PUBLIC_PACKAGING -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic/f16fmal.cpp
fatal error: error in backend: Cannot select: 0x367e6b60: f16 = fp_round 0x3693a720, TargetConstant:i64<0>, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:33
  0x3693a720: f128,ch,glue = CopyFromReg 0x3693d2a0, Register:f128 $q0, 0x3693d2a0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
    0x3693ca80: f128 = Register $q0
    0x3693d2a0: ch,glue = callseq_end 0x367e6a90, TargetConstant:i64<0>, TargetConstant:i64<0>, 0x367e6a90:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
      0x3693b078: i64 = TargetConstant<0>
      0x3693b078: i64 = TargetConstant<0>
      0x367e6a90: ch,glue = AArch64ISD::CALL 0x36940ee0, TargetExternalSymbol:i64'__addtf3', Register:f128 $q0, Register:f128 $q1, RegisterMask:Untyped, 0x36940ee0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
        0x367e6000: i64 = TargetExternalSymbol'__addtf3'
        0x3693ca80: f128 = Register $q0
        0x3693b350: f128 = Register $q1
        0x36941768: Untyped = RegisterMask
        0x36940ee0: ch,glue = CopyToReg 0x367e6410, Register:f128 $q1, 0x3693b4f0, 0x367e6410:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
          0x3693b350: f128 = Register $q1
          0x3693b4f0: f128,ch = CopyFromReg 0x3660d258, Register:f128 %34, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
            0x367e6618: f128 = Register %34
          0x367e6410: ch,glue = CopyToReg 0x36941220, Register:f128 $q0, 0x36941908, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
            0x3693ca80: f128 = Register $q0
            0x36941908: f128,ch,glue = CopyFromReg 0x367e6f08, Register:f128 $q0, 0x367e6f08:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
              0x3693ca80: f128 = Register $q0
              0x367e6f08: ch,glue = callseq_end 0x3693ca18, TargetConstant:i64<0>, TargetConstant:i64<0>, 0x3693ca18:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
                0x3693b078: i64 = TargetConstant<0>
                0x3693b078: i64 = TargetConstant<0>
                0x3693ca18: ch,glue = AArch64ISD::CALL 0x367e69c0, TargetExternalSymbol:i64'__multf3', Register:f128 $q0, Register:f128 $q1, RegisterMask:Untyped, 0x367e69c0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
                  0x36940da8: i64 = TargetExternalSymbol'__multf3'
                  0x3693ca80: f128 = Register $q0
                  0x3693b350: f128 = Register $q1
                  0x36941768: Untyped = RegisterMask
                  0x367e69c0: ch,glue = CopyToReg 0x3693d030, Register:f128 $q1, 0x36940f48, 0x3693d030:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35



  0x3693b078: i64 = TargetConstant<0>
In function: _ZN22__llvm_libc_18_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_18_0_0_git -D_DEBUG -Iprojects/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/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 -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 -DLIBC_COPT_PUBLIC_PACKAGING -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic/f16fmal.cpp 
1.	<eof> parser at end of file
Step 6 (build libc) failure: build libc (failure)
...
[106/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.fmaximumf.dir/fmaximumf.cpp.o
[107/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.lroundf.dir/lroundf.cpp.o
[108/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.remainder.dir/remainder.cpp.o
[109/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.nearbyintf128.dir/nearbyintf128.cpp.o
[110/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.llrintf128.dir/llrintf128.cpp.o
[111/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.llrintf16.dir/llrintf16.cpp.o
[112/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.rintf128.dir/rintf128.cpp.o
[113/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.lrintl.dir/lrintl.cpp.o
[114/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.nearbyint.dir/nearbyint.cpp.o
[115/506] Building CXX object projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o
FAILED: projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_18_0_0_git -D_DEBUG -Iprojects/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/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 -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 -DLIBC_COPT_PUBLIC_PACKAGING -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic/f16fmal.cpp
fatal error: error in backend: Cannot select: 0x367e6b60: f16 = fp_round 0x3693a720, TargetConstant:i64<0>, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:33
  0x3693a720: f128,ch,glue = CopyFromReg 0x3693d2a0, Register:f128 $q0, 0x3693d2a0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
    0x3693ca80: f128 = Register $q0
    0x3693d2a0: ch,glue = callseq_end 0x367e6a90, TargetConstant:i64<0>, TargetConstant:i64<0>, 0x367e6a90:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
      0x3693b078: i64 = TargetConstant<0>
      0x3693b078: i64 = TargetConstant<0>
      0x367e6a90: ch,glue = AArch64ISD::CALL 0x36940ee0, TargetExternalSymbol:i64'__addtf3', Register:f128 $q0, Register:f128 $q1, RegisterMask:Untyped, 0x36940ee0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
        0x367e6000: i64 = TargetExternalSymbol'__addtf3'
        0x3693ca80: f128 = Register $q0
        0x3693b350: f128 = Register $q1
        0x36941768: Untyped = RegisterMask
        0x36940ee0: ch,glue = CopyToReg 0x367e6410, Register:f128 $q1, 0x3693b4f0, 0x367e6410:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
          0x3693b350: f128 = Register $q1
          0x3693b4f0: f128,ch = CopyFromReg 0x3660d258, Register:f128 %34, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
            0x367e6618: f128 = Register %34
          0x367e6410: ch,glue = CopyToReg 0x36941220, Register:f128 $q0, 0x36941908, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:39
            0x3693ca80: f128 = Register $q0
            0x36941908: f128,ch,glue = CopyFromReg 0x367e6f08, Register:f128 $q0, 0x367e6f08:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
              0x3693ca80: f128 = Register $q0
              0x367e6f08: ch,glue = callseq_end 0x3693ca18, TargetConstant:i64<0>, TargetConstant:i64<0>, 0x3693ca18:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
                0x3693b078: i64 = TargetConstant<0>
                0x3693b078: i64 = TargetConstant<0>
                0x3693ca18: ch,glue = AArch64ISD::CALL 0x367e69c0, TargetExternalSymbol:i64'__multf3', Register:f128 $q0, Register:f128 $q1, RegisterMask:Untyped, 0x367e69c0:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35
                  0x36940da8: i64 = TargetExternalSymbol'__multf3'
                  0x3693ca80: f128 = Register $q0
                  0x3693b350: f128 = Register $q1
                  0x36941768: Untyped = RegisterMask
                  0x367e69c0: ch,glue = CopyToReg 0x3693d030, Register:f128 $q1, 0x36940f48, 0x3693d030:1, llvm-project/libc/src/__support/FPUtil/generic/FMA.h:191:35



  0x3693b078: i64 = TargetConstant<0>
In function: _ZN22__llvm_libc_18_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_18_0_0_git -D_DEBUG -Iprojects/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic -I/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/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 -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 -DLIBC_COPT_PUBLIC_PACKAGING -std=c++17 -MD -MT projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o -MF projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o.d -o projects/libc/src/math/generic/CMakeFiles/libc.src.math.generic.f16fmal.dir/f16fmal.cpp.o -c /home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu/llvm-project/libc/src/math/generic/f16fmal.cpp 
1.	<eof> parser at end of file

```

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


More information about the libc-commits mailing list