Skip to content

Commit aa900dc

Browse files
authored
Docs: Add table to summarize platform intrinsics support (rust-lang#1945)
1 parent 3176744 commit aa900dc

File tree

1 file changed

+32
-3
lines changed

1 file changed

+32
-3
lines changed

docs/src/rust-feature-support/intrinsics.md

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
# Intrinsics
22

3-
The table below tries to summarize the current support in Kani for Rust
4-
compiler intrinsics. We define the level of support similar to how we
5-
indicate [Rust feature support](../rust-feature-support.md):
3+
The tables below try to summarize the current support in Kani for Rust intrinsics.
4+
We define the level of support similar to how we indicate [Rust feature support](../rust-feature-support.md):
65
* **Yes**: The intrinsic is fully supported. We are not aware of any issue with it.
76
* **Partial**: The intrinsic is at least partially supported. We are aware of some issue with
87
with it.
@@ -12,6 +11,12 @@ In general, code generation for unsupported intrinsics follows the rule
1211
described in [Rust feature support - Code generation for unsupported
1312
features](../rust-feature-support.md#code-generation-for-unsupported-features).
1413

14+
Any intrinsic not appearing in the tables below is considered not supported.
15+
Please [open a feature request](https://github.com/model-checking/kani/issues/new?assignees=&labels=%5BC%5D+Feature+%2F+Enhancement&template=feature_request.md&title=)
16+
if your code depends on an unsupported intrinsic.
17+
18+
### Compiler intrinsics
19+
1520
Name | Support | Notes |
1621
--- | --- | --- |
1722
abort | Yes | |
@@ -244,3 +249,27 @@ performed. But as noted in [Notes - Concurrency](#concurrency), Kani support for
244249
concurrent verification is limited and not used by default. Verification on code
245250
containing atomic intrinsics should not be trusted given that Kani assumes the
246251
code to be sequential.
252+
253+
### Platform intrinsics
254+
255+
Name | Support | Notes |
256+
--- | --- | --- |
257+
`simd_add` | Yes | |
258+
`simd_and` | Yes | |
259+
`simd_div` | No | |
260+
`simd_eq` | Yes | |
261+
`simd_extract` | No | |
262+
`simd_ge` | Yes | |
263+
`simd_gt` | Yes | |
264+
`simd_insert` | No | |
265+
`simd_le` | Yes | |
266+
`simd_lt` | Yes | |
267+
`simd_mul` | Yes | |
268+
`simd_ne` | Yes | |
269+
`simd_or` | Yes | |
270+
`simd_rem` | No | |
271+
`simd_shl` | No | |
272+
`simd_shr` | No | |
273+
`simd_shuffle*` | No | |
274+
`simd_sub` | Yes | |
275+
`simd_xor` | Yes | |

0 commit comments

Comments
 (0)