Skip to content

Conversation

@sadlerap
Copy link
Contributor

This adds support for the simd variants of the pointer provenance intrinsics, which are simd_cast_ptr, simd_expose_addr, and simd_from_exposed_addr.

The preconditions for each intrinsic are adapted from rustc_codegen_llvm to preserve compatibility. Each of these intrinsics are implemented as calling the non-simd variant of each intrinsic on each lane.

This is enough to enable the UI test ui/simd/intrinsic/ptr-cast.rs to pass.

This adds support for the simd variants of the pointer provenance
intrinsics, which are `simd_cast_ptr`, `simd_expose_addr`, and
`simd_from_exposed_addr`.

The preconditions for each intrinsic are adapted from rustc_codegen_llvm
to preserve compatibility.  Each of these intrinsics are implemented as
calling the non-simd variant of each intrinsic on each lane.

This is enough to enable the UI test `ui/simd/intrinsic/ptr-cast.rs` to
pass.

Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
@GuillaumeGomez
Copy link
Member

Thanks! Let's wait for @antoyo to take a look as well. :)

@antoyo antoyo merged commit 02eb434 into rust-lang:master May 27, 2024
@antoyo
Copy link
Contributor

antoyo commented May 27, 2024

Thank you for your contribution!

@sadlerap sadlerap deleted the simd-ptr-provenance branch May 27, 2024 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants