Skip to content

Commit 884232b

Browse files
committed
Remove usage of platform-intrinsics where unadjusted works
As suggested [here]! [here]: rust-lang/rust#57048 (comment)
1 parent ddb3022 commit 884232b

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

coresimd/x86/rdrand.rs

+6-1
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22
//! on-chip hardware random number generator which has been seeded by an
33
//! on-chip entropy source.
44
5-
extern "platform-intrinsic" {
5+
#[allow(improper_ctypes)]
6+
extern "unadjusted" {
7+
#[link_name = "llvm.x86.rdrand.16"]
68
fn x86_rdrand16_step() -> (u16, i32);
9+
#[link_name = "llvm.x86.rdrand.32"]
710
fn x86_rdrand32_step() -> (u32, i32);
11+
#[link_name = "llvm.x86.rdseed.16"]
812
fn x86_rdseed16_step() -> (u16, i32);
13+
#[link_name = "llvm.x86.rdseed.32"]
914
fn x86_rdseed32_step() -> (u32, i32);
1015
}
1116

coresimd/x86_64/rdrand.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22
//! on-chip hardware random number generator which has been seeded by an
33
//! on-chip entropy source.
44
5-
extern "platform-intrinsic" {
5+
#[allow(improper_ctypes)]
6+
extern "unadjusted" {
7+
#[link_name = "llvm.x86.rdrand.64"]
68
fn x86_rdrand64_step() -> (u64, i32);
9+
#[link_name = "llvm.x86.rdseed.64"]
710
fn x86_rdseed64_step() -> (u64, i32);
811
}
912

crates/coresimd/src/lib.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@
3636
avx512_target_feature,
3737
mips_target_feature,
3838
powerpc_target_feature,
39-
wasm_target_feature
39+
wasm_target_feature,
40+
abi_unadjusted,
4041
)]
4142
// NB: When running nvptx/nvptx64 cross tests, enabling "integer_atomics" yields
4243
// a compile-time error: 'unknown feature `integer_atomics`'. This ought to be

0 commit comments

Comments
 (0)