authorgravatar for jan.hafer@rwth-aachen.deJan Philipp Hafer <jan.hafer@rwth-aachen.de> 2023-02-09 23:30:12+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-04-20 16:04:10-07:00
log8674418454e4d530303aecceee5f86c725a150cf
tree839de41447a37b1f6289925ef9faec38ee7ca85f
parenta1f7c8d860e52cc2d5b8c2196230306095aaeea3

compiler_rt: README stubs for arbitrary precision big integer library routines

Document current status of exports and intended design being inspired by Integer Operations.

1 files changed, 16 insertions(+), 3 deletions(-)

lib/compiler_rt/README.md+16-3
......@@ -695,6 +695,22 @@ are additionally supported by Zig, but not part of C standard. Alphabetically so
695695| ✓ | truncq | f128 | ∅ | f128 | .. PPC |
696696| ✓ | truncl |long double| ∅ |long double| .. |
697697
698Arbitrary Precision Big Integer (BigInt) library routines
699
700TODO brief description
701
702| Done | Name | result| a | b | size| ret | Comment |
703| ---- | ------- | ----- | ----- | ----- | --- | ----- |---------------------- |
704| | | | | | | |**BigInt Bit Operation**|
705| | | | | | | |**BigInt Comparison** |
706| | | | | | | |**BigInt Arithmetic** |
707|✓|__udivei4 |[*c]u32|[*c]u32|[*c]u32|usize|void | `a / b` |
708|✓|__umodei4 |[*c]u32|[*c]u32|[*c]u32|usize|void | `a % b` |
709|✗|__divei4 |[*c]u32|[*c]u32|[*c]u32|usize|void | `a / b` |
710|✗|__modei4 |[*c]u32|[*c]u32|[*c]u32|usize|void | `a % b` |
711| | | | | | | |**BigInt Arithmetic with Trapping Overflow**|
712| | | | | | | |**BigInt Arithmetic which Return on Overflow**[^noptr_faster]|
713
698714Further content (conditionally) exported with C abi:
699715- aarch64 outline atomics
700716- arm routines (memory routines + memclr [setting to 0], divmod routines and stubs for unwind_cpp)
......@@ -706,6 +722,3 @@ Further content (conditionally) exported with C abi:
706722- objective-c __isPlatformVersionAtLeast check
707723- stack probe routines
708724- tls emulation
709
710Future work:
711- Arbitrary length integer library routines