diff options
Diffstat (limited to 'libc/shared')
-rw-r--r-- | libc/shared/math.h | 8 | ||||
-rw-r--r-- | libc/shared/math/atanhf16.h | 28 | ||||
-rw-r--r-- | libc/shared/math/cbrt.h | 23 | ||||
-rw-r--r-- | libc/shared/math/cbrtf.h | 23 | ||||
-rw-r--r-- | libc/shared/math/cos.h | 23 | ||||
-rw-r--r-- | libc/shared/math/cosf.h | 23 | ||||
-rw-r--r-- | libc/shared/math/cosf16.h | 28 | ||||
-rw-r--r-- | libc/shared/math/coshf.h | 23 | ||||
-rw-r--r-- | libc/shared/math/coshf16.h | 28 | ||||
-rw-r--r-- | libc/shared/rpc.h | 3 |
10 files changed, 210 insertions, 0 deletions
diff --git a/libc/shared/math.h b/libc/shared/math.h index ddf219e..a89aa90 100644 --- a/libc/shared/math.h +++ b/libc/shared/math.h @@ -29,6 +29,14 @@ #include "math/atanf.h" #include "math/atanf16.h" #include "math/atanhf.h" +#include "math/atanhf16.h" +#include "math/cbrt.h" +#include "math/cbrtf.h" +#include "math/cos.h" +#include "math/cosf.h" +#include "math/cosf16.h" +#include "math/coshf.h" +#include "math/coshf16.h" #include "math/erff.h" #include "math/exp.h" #include "math/exp10.h" diff --git a/libc/shared/math/atanhf16.h b/libc/shared/math/atanhf16.h new file mode 100644 index 0000000..b7b5d77 --- /dev/null +++ b/libc/shared/math/atanhf16.h @@ -0,0 +1,28 @@ +//===-- Shared atanhf16 function --------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIBC_SHARED_MATH_ATANHF16_H +#define LLVM_LIBC_SHARED_MATH_ATANHF16_H + +#include "shared/libc_common.h" + +#ifdef LIBC_TYPES_HAS_FLOAT16 + +#include "src/__support/math/atanhf16.h" + +namespace LIBC_NAMESPACE_DECL { +namespace shared { + +using math::atanhf16; + +} // namespace shared +} // namespace LIBC_NAMESPACE_DECL + +#endif // LIBC_TYPES_HAS_FLOAT16 + +#endif // LLVM_LIBC_SHARED_MATH_ATANHF16_H diff --git a/libc/shared/math/cbrt.h b/libc/shared/math/cbrt.h new file mode 100644 index 0000000..5e677c5 --- /dev/null +++ b/libc/shared/math/cbrt.h @@ -0,0 +1,23 @@ +//===-- Shared cbrt function ------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIBC_SHARED_MATH_CBRT_H +#define LLVM_LIBC_SHARED_MATH_CBRT_H + +#include "shared/libc_common.h" +#include "src/__support/math/cbrt.h" + +namespace LIBC_NAMESPACE_DECL { +namespace shared { + +using math::cbrt; + +} // namespace shared +} // namespace LIBC_NAMESPACE_DECL + +#endif // LLVM_LIBC_SHARED_MATH_CBRT_H diff --git a/libc/shared/math/cbrtf.h b/libc/shared/math/cbrtf.h new file mode 100644 index 0000000..09b86be --- /dev/null +++ b/libc/shared/math/cbrtf.h @@ -0,0 +1,23 @@ +//===-- Shared cbrtf function -----------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LIBC_SHARED_MATH_CBRTF_H +#define LIBC_SHARED_MATH_CBRTF_H + +#include "shared/libc_common.h" +#include "src/__support/math/cbrtf.h" + +namespace LIBC_NAMESPACE_DECL { +namespace shared { + +using math::cbrtf; + +} // namespace shared +} // namespace LIBC_NAMESPACE_DECL + +#endif // LIBC_SHARED_MATH_CBRTF_H diff --git a/libc/shared/math/cos.h b/libc/shared/math/cos.h new file mode 100644 index 0000000..c498550 --- /dev/null +++ b/libc/shared/math/cos.h @@ -0,0 +1,23 @@ +//===-- Shared cos function -------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIBC_SHARED_MATH_COS_H +#define LLVM_LIBC_SHARED_MATH_COS_H + +#include "shared/libc_common.h" +#include "src/__support/math/cos.h" + +namespace LIBC_NAMESPACE_DECL { +namespace shared { + +using math::cos; + +} // namespace shared +} // namespace LIBC_NAMESPACE_DECL + +#endif // LLVM_LIBC_SHARED_MATH_COS_H diff --git a/libc/shared/math/cosf.h b/libc/shared/math/cosf.h new file mode 100644 index 0000000..0618220 --- /dev/null +++ b/libc/shared/math/cosf.h @@ -0,0 +1,23 @@ +//===-- Shared cosf function ------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIBC_SHARED_MATH_COSF_H +#define LLVM_LIBC_SHARED_MATH_COSF_H + +#include "shared/libc_common.h" +#include "src/__support/math/cosf.h" + +namespace LIBC_NAMESPACE_DECL { +namespace shared { + +using math::cosf; + +} // namespace shared +} // namespace LIBC_NAMESPACE_DECL + +#endif // LLVM_LIBC_SHARED_MATH_COSF_H diff --git a/libc/shared/math/cosf16.h b/libc/shared/math/cosf16.h new file mode 100644 index 0000000..8a19285 --- /dev/null +++ b/libc/shared/math/cosf16.h @@ -0,0 +1,28 @@ +//===-- Shared cosf16 function ----------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIBC_SHARED_MATH_COSF16_H +#define LLVM_LIBC_SHARED_MATH_COSF16_H + +#include "shared/libc_common.h" + +#ifdef LIBC_TYPES_HAS_FLOAT16 + +#include "src/__support/math/cosf16.h" + +namespace LIBC_NAMESPACE_DECL { +namespace shared { + +using math::cosf16; + +} // namespace shared +} // namespace LIBC_NAMESPACE_DECL + +#endif // LIBC_TYPES_HAS_FLOAT16 + +#endif // LLVM_LIBC_SHARED_MATH_COSF16_H diff --git a/libc/shared/math/coshf.h b/libc/shared/math/coshf.h new file mode 100644 index 0000000..33c2580 --- /dev/null +++ b/libc/shared/math/coshf.h @@ -0,0 +1,23 @@ +//===-- Shared coshf function -----------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIBC_SHARED_MATH_COSHF_H +#define LLVM_LIBC_SHARED_MATH_COSHF_H + +#include "shared/libc_common.h" +#include "src/__support/math/coshf.h" + +namespace LIBC_NAMESPACE_DECL { +namespace shared { + +using math::coshf; + +} // namespace shared +} // namespace LIBC_NAMESPACE_DECL + +#endif // LLVM_LIBC_SHARED_MATH_COSHF_H diff --git a/libc/shared/math/coshf16.h b/libc/shared/math/coshf16.h new file mode 100644 index 0000000..66e8d14 --- /dev/null +++ b/libc/shared/math/coshf16.h @@ -0,0 +1,28 @@ +//===-- Shared coshf16 function ---------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIBC_SHARED_MATH_COSHF16_H +#define LLVM_LIBC_SHARED_MATH_COSHF16_H + +#include "shared/libc_common.h" + +#ifdef LIBC_TYPES_HAS_FLOAT16 + +#include "src/__support/math/coshf16.h" + +namespace LIBC_NAMESPACE_DECL { +namespace shared { + +using math::coshf16; + +} // namespace shared +} // namespace LIBC_NAMESPACE_DECL + +#endif // LIBC_TYPES_HAS_FLOAT16 + +#endif // LLVM_LIBC_SHARED_MATH_COSHF16_H diff --git a/libc/shared/rpc.h b/libc/shared/rpc.h index 7295efd..dac2a79 100644 --- a/libc/shared/rpc.h +++ b/libc/shared/rpc.h @@ -551,6 +551,9 @@ template <uint32_t opcode> RPC_ATTRS Client::Port Client::open() { /// port if it has a pending receive operation RPC_ATTRS rpc::optional<typename Server::Port> Server::try_open(uint32_t lane_size, uint32_t start) { + if (rpc::get_lane_id() >= lane_size) + return rpc::nullopt; + // Perform a naive linear scan for a port that has a pending request. for (uint32_t index = start; index < process.port_count; ++index) { uint64_t lane_mask = rpc::get_lane_mask(); |