Skip to content

Commit 8a53eeb

Browse files
committed
Merge branch 'main' of https://github.com/TheNumbat/rpp
2 parents bf7cbf1 + 10aa0a4 commit 8a53eeb

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,11 @@ The following configurations are supported:
4040
| OS | Compiler | Arch |
4141
|---------|-------------|--------------|
4242
| Windows | MSVC 19.37+ | x64 |
43-
| Linux | Clang 17+ | Any |
43+
| Linux | Clang 17+ | x64, aarch64 |
4444
| macOS | Clang 17+ | x64, aarch64 |
4545

46-
Note that aside from MSVC on Windows, the [gcc vector extensions](https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html) (which are [implemented by clang](https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors)) are used to implement the SIMD operations. See `rpp/rpp/impl/simd.cpp`.
46+
Except for MSVC on Windows, the [gcc vector extensions](https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html) (also [implemented by clang](https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors)) are used to emit SIMD operations.
47+
On Linux, other architectures should therefore work, but they have not been tested.
4748

4849
Other configurations (GCC, etc.) may be added in the future.
4950

@@ -278,6 +279,7 @@ For faster parallel builds, you can instead generate [ninja](https://ninja-build
278279
- [ ] scheduler work stealing
279280
- [ ] io_uring for Linux file IO
280281
- [ ] sockets
282+
- [ ] use relaxed atomics on aarch64
281283
- Types
282284
- [ ] Result<T,E>
283285
- [ ] Map: don't store hashes of integer keys

rpp/base.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ void* memcpy(void* dest, const void* src, u64 bytes) noexcept;
116116
[[nodiscard]] i32 snprintf(u8* buffer, u64 buffer_size, const char* fmt, ...) noexcept;
117117
[[nodiscard]] i64 strtoll(const char* str, char** endptr, i32 base) noexcept;
118118
[[nodiscard]] f32 strtof(const char* str, char** endptr) noexcept;
119+
void free(void* ptr) noexcept;
119120
void keep_alive() noexcept;
120121

121122
} // namespace Libc

rpp/impl/base.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ namespace rpp::Libc {
1111
void keep_alive() noexcept {
1212
}
1313

14+
void free(void* ptr) noexcept {
15+
::free(ptr);
16+
}
17+
1418
void exit(i32 code) noexcept {
1519
::exit(code);
1620
}

0 commit comments

Comments
 (0)