authorgravatar for manlio.perillo@gmail.comManlio Perillo <manlio.perillo@gmail.com> 2023-02-03 12:44:52+01:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-02-04 17:23:03+02:00
logc1f71963a9b8c913acee0fc167e0a4ecdecd2890
tree94041759733087b83202458cbe86c05c1f592bbb
parent693b12f8e1c1d99d33c01961c1fdc972a5255eb6

compiler_rt: fix and improve documentation

- In Integer Bit Operations, use zeros consistently and fix the incorrect function descriptions - In ucmp, fix the incorrect signedness of the operands - In Integer Arithmetic, document the signedness of the operands in div, udiv, mod, umod, udivmod and divmod as it is done in LLVM documentation - In Float Conversion, replace "int_to_float" to "int to float" and "uint_to_float" to "uint to float"

1 files changed, 20 insertions(+), 20 deletions(-)

lib/compiler_rt/README.md+20-20
...@@ -51,31 +51,31 @@ Integer and Float Operations...@@ -51,31 +51,31 @@ Integer and Float Operations
51| Done | Name | a | b | Out | Comment |51| Done | Name | a | b | Out | Comment |
52| ------ | ------------- | ---- | ---- | ---- | ------------------------------ |52| ------ | ------------- | ---- | ---- | ---- | ------------------------------ |
53| | | | | | **Integer Bit Operations** |53| | | | | | **Integer Bit Operations** |
54| ✓ | __clzsi2 | u32 | ∅ | i32 | count leading zeroes |54| ✓ | __clzsi2 | u32 | ∅ | i32 | count leading zeros |
55| ✓ | __clzdi2 | u64 | ∅ | i32 | count leading zeroes |55| ✓ | __clzdi2 | u64 | ∅ | i32 | count leading zeros |
56| ✓ | __clzti2 | u128 | ∅ | i32 | count trailing zeros |56| ✓ | __clzti2 | u128 | ∅ | i32 | count leading zeros |
57| ✓ | __ctzsi2 | u32 | ∅ | i32 | count trailing zeros |57| ✓ | __ctzsi2 | u32 | ∅ | i32 | count trailing zeros |
58| ✓ | __ctzdi2 | u64 | ∅ | i32 | count trailing zeros |58| ✓ | __ctzdi2 | u64 | ∅ | i32 | count trailing zeros |
59| ✓ | __ctzti2 | u128 | ∅ | i32 | count leading zeroes |59| ✓ | __ctzti2 | u128 | ∅ | i32 | count trailing zeros |
60| ✓ | __ffssi2 | u32 | ∅ | i32 | count leading zeroes |60| ✓ | __ffssi2 | u32 | ∅ | i32 | find least significant 1 bit |
61| ✓ | __ffsdi2 | u64 | ∅ | i32 | count leading zeroes |61| ✓ | __ffsdi2 | u64 | ∅ | i32 | find least significant 1 bit |
62| ✓ | __ffsti2 | u128 | ∅ | i32 | count leading zeroes |62| ✓ | __ffsti2 | u128 | ∅ | i32 | find least significant 1 bit |
63| ✓ | __paritysi2 | u32 | ∅ | i32 | find least significant 1 bit |63| ✓ | __paritysi2 | u32 | ∅ | i32 | bit parity |
64| ✓ | __paritydi2 | u64 | ∅ | i32 | find least significant 1 bit |64| ✓ | __paritydi2 | u64 | ∅ | i32 | bit parity |
65| ✓ | __parityti2 | u128 | ∅ | i32 | find least significant 1 bit |65| ✓ | __parityti2 | u128 | ∅ | i32 | bit parity |
66| ✓ | __popcountsi2 | u32 | ∅ | i32 | bit population |66| ✓ | __popcountsi2 | u32 | ∅ | i32 | bit population |
67| ✓ | __popcountdi2 | u64 | ∅ | i32 | bit population |67| ✓ | __popcountdi2 | u64 | ∅ | i32 | bit population |
68| ✓ | __popcountti2 | u128 | ∅ | i32 | bit population |68| ✓ | __popcountti2 | u128 | ∅ | i32 | bit population |
69| ✓ | __bswapsi2 | u32 | ∅ | i32 | bit parity |69| ✓ | __bswapsi2 | u32 | ∅ | i32 | byte swap |
70| ✓ | __bswapdi2 | u64 | ∅ | i32 | bit parity |70| ✓ | __bswapdi2 | u64 | ∅ | i32 | byte swap |
71| ✓ | __bswapti2 | u128 | ∅ | i32 | bit parity |71| ✓ | __bswapti2 | u128 | ∅ | i32 | byte swap |
72| | | | | | **Integer Comparison** |72| | | | | | **Integer Comparison** |
73| ✓ | __cmpsi2 | i32 | i32 | i32 | `(a<b) -> 0, (a==b) -> 1, (a>b) -> 2` |73| ✓ | __cmpsi2 | i32 | i32 | i32 | `(a<b) -> 0, (a==b) -> 1, (a>b) -> 2` |
74| ✓ | __cmpdi2 | i64 | i64 | i32 | .. |74| ✓ | __cmpdi2 | i64 | i64 | i32 | .. |
75| ✓ | __cmpti2 | i128 | i128 | i32 | .. |75| ✓ | __cmpti2 | i128 | i128 | i32 | .. |
76| ✓ | __ucmpsi2 | i32 | i32 | i32 | `(a<b) -> 0, (a==b) -> 1, (a>b) -> 2` |76| ✓ | __ucmpsi2 | u32 | u32 | i32 | `(a<b) -> 0, (a==b) -> 1, (a>b) -> 2` |
77| ✓ | __ucmpdi2 | i64 | i64 | i32 | .. |77| ✓ | __ucmpdi2 | u64 | u64 | i32 | .. |
78| ✓ | __ucmpti2 | i128 | i128 | i32 | .. |78| ✓ | __ucmpti2 | u128 | u128 | i32 | .. |
79| | | | | | **Integer Arithmetic** |79| | | | | | **Integer Arithmetic** |
80| ✗ | __ashlsi3 | i32 | i32 | i32 | `a << b` [^unused_rl78] |80| ✗ | __ashlsi3 | i32 | i32 | i32 | `a << b` [^unused_rl78] |
81| ✓ | __ashldi3 | i64 | i32 | i64 | .. |81| ✓ | __ashldi3 | i64 | i32 | i64 | .. |
...@@ -165,7 +165,7 @@ Integer and Float Operations...@@ -165,7 +165,7 @@ Integer and Float Operations
165| ✓ | _Qp_qtos |*f128 | ∅ | f32 | .. SPARC |165| ✓ | _Qp_qtos |*f128 | ∅ | f32 | .. SPARC |
166| ✓ | __trunckfdf2 | f128 | ∅ | f64 | .. PPC |166| ✓ | __trunckfdf2 | f128 | ∅ | f64 | .. PPC |
167| ✓ | _Qp_qtod |*f128 | ∅ | f64 | .. SPARC |167| ✓ | _Qp_qtod |*f128 | ∅ | f64 | .. SPARC |
168| ✓ | __fixhfsi | f16 | ∅ | i32 | rounding towards zero |168| ✓ | __fixhfsi | f16 | ∅ | i32 | float to int, rounding towards zero |
169| ✓ | __fixsfsi | f32 | ∅ | i32 | .. |169| ✓ | __fixsfsi | f32 | ∅ | i32 | .. |
170| ✓ | __fixdfsi | f64 | ∅ | i32 | .. |170| ✓ | __fixdfsi | f64 | ∅ | i32 | .. |
171| ✓ | __fixtfsi | f128 | ∅ | i32 | .. |171| ✓ | __fixtfsi | f128 | ∅ | i32 | .. |
...@@ -180,7 +180,7 @@ Integer and Float Operations...@@ -180,7 +180,7 @@ Integer and Float Operations
180| ✓ | __fixdfti | f64 | ∅ | i128 | .. |180| ✓ | __fixdfti | f64 | ∅ | i128 | .. |
181| ✓ | __fixtfti | f128 | ∅ | i128 | .. |181| ✓ | __fixtfti | f128 | ∅ | i128 | .. |
182| ✓ | __fixxfti | f80 | ∅ | i128 | .. |182| ✓ | __fixxfti | f80 | ∅ | i128 | .. |
183| ✓ | __fixunshfsi | f16 | ∅ | u32 | rounding towards zero. negative values become 0. |183| ✓ | __fixunshfsi | f16 | ∅ | u32 | float to uint, rounding towards zero. negative values become 0. |
184| ✓ | __fixunssfsi | f32 | ∅ | u32 | .. |184| ✓ | __fixunssfsi | f32 | ∅ | u32 | .. |
185| ✓ | __fixunsdfsi | f64 | ∅ | u32 | .. |185| ✓ | __fixunsdfsi | f64 | ∅ | u32 | .. |
186| ✓ | __fixunstfsi | f128 | ∅ | u32 | .. |186| ✓ | __fixunstfsi | f128 | ∅ | u32 | .. |
...@@ -195,7 +195,7 @@ Integer and Float Operations...@@ -195,7 +195,7 @@ Integer and Float Operations
195| ✓ | __fixunsdfti | f64 | ∅ | u128 | .. |195| ✓ | __fixunsdfti | f64 | ∅ | u128 | .. |
196| ✓ | __fixunstfti | f128 | ∅ | u128 | .. |196| ✓ | __fixunstfti | f128 | ∅ | u128 | .. |
197| ✓ | __fixunsxfti | f80 | ∅ | u128 | .. |197| ✓ | __fixunsxfti | f80 | ∅ | u128 | .. |
198| ✓ | __floatsihf | i32 | ∅ | f16 | int_to_float conversions |198| ✓ | __floatsihf | i32 | ∅ | f16 | int to float |
199| ✓ | __floatsisf | i32 | ∅ | f32 | .. |199| ✓ | __floatsisf | i32 | ∅ | f32 | .. |
200| ✓ | __floatsidf | i32 | ∅ | f64 | .. |200| ✓ | __floatsidf | i32 | ∅ | f64 | .. |
201| ✓ | __floatsitf | i32 | ∅ | f128 | .. |201| ✓ | __floatsitf | i32 | ∅ | f128 | .. |
...@@ -209,7 +209,7 @@ Integer and Float Operations...@@ -209,7 +209,7 @@ Integer and Float Operations
209| ✓ | __floattidf | i128 | ∅ | f64 | .. |209| ✓ | __floattidf | i128 | ∅ | f64 | .. |
210| ✓ | __floattitf | i128 | ∅ | f128 | .. |210| ✓ | __floattitf | i128 | ∅ | f128 | .. |
211| ✓ | __floattixf | i128 | ∅ | f80 | .. |211| ✓ | __floattixf | i128 | ∅ | f80 | .. |
212| ✓ | __floatunsihf | u32 | ∅ | f16 | uint_to_float conversions |212| ✓ | __floatunsihf | u32 | ∅ | f16 | uint to float |
213| ✓ | __floatunsisf | u32 | ∅ | f32 | .. |213| ✓ | __floatunsisf | u32 | ∅ | f32 | .. |
214| ✓ | __floatunsidf | u32 | ∅ | f64 | .. |214| ✓ | __floatunsidf | u32 | ∅ | f64 | .. |
215| ✓ | __floatunsitf | u32 | ∅ | f128 | .. |215| ✓ | __floatunsitf | u32 | ∅ | f128 | .. |