Skip to content

Commit 556b2e7

Browse files
committed
Mark arm intrinsics as unsafe
1 parent f227e2a commit 556b2e7

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/arm/v6.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ use stdsimd_test::assert_instr;
99
/// Reverse the order of the bytes.
1010
#[inline(always)]
1111
#[cfg_attr(test, assert_instr(rev))]
12-
pub fn _rev_u16(x: u16) -> u16 {
12+
pub unsafe fn _rev_u16(x: u16) -> u16 {
1313
x.swap_bytes() as u16
1414
}
1515

1616
/// Reverse the order of the bytes.
1717
#[inline(always)]
1818
#[cfg_attr(test, assert_instr(rev))]
19-
pub fn _rev_u32(x: u32) -> u32 {
19+
pub unsafe fn _rev_u32(x: u32) -> u32 {
2020
x.swap_bytes() as u32
2121
}

src/arm/v7.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,21 @@ use stdsimd_test::assert_instr;
1111
/// Count Leading Zeros.
1212
#[inline(always)]
1313
#[cfg_attr(test, assert_instr(clz))]
14-
pub fn _clz_u8(x: u8) -> u8 {
14+
pub unsafe fn _clz_u8(x: u8) -> u8 {
1515
x.leading_zeros() as u8
1616
}
1717

1818
/// Count Leading Zeros.
1919
#[inline(always)]
2020
#[cfg_attr(test, assert_instr(clz))]
21-
pub fn _clz_u16(x: u16) -> u16 {
21+
pub unsafe fn _clz_u16(x: u16) -> u16 {
2222
x.leading_zeros() as u16
2323
}
2424

2525
/// Count Leading Zeros.
2626
#[inline(always)]
2727
#[cfg_attr(test, assert_instr(clz))]
28-
pub fn _clz_u32(x: u32) -> u32 {
28+
pub unsafe fn _clz_u32(x: u32) -> u32 {
2929
x.leading_zeros() as u32
3030
}
3131

src/arm/v8.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ use stdsimd_test::assert_instr;
1010
/// Reverse the order of the bytes.
1111
#[inline(always)]
1212
#[cfg_attr(test, assert_instr(rev))]
13-
pub fn _rev_u64(x: u64) -> u64 {
13+
pub unsafe fn _rev_u64(x: u64) -> u64 {
1414
x.swap_bytes() as u64
1515
}
1616

1717
/// Count Leading Zeros.
1818
#[inline(always)]
1919
#[cfg_attr(test, assert_instr(clz))]
20-
pub fn _clz_u64(x: u64) -> u64 {
20+
pub unsafe fn _clz_u64(x: u64) -> u64 {
2121
x.leading_zeros() as u64
2222
}
2323

@@ -30,7 +30,7 @@ extern "C" {
3030
/// Reverse the bit order.
3131
#[inline(always)]
3232
#[cfg_attr(test, assert_instr(rbit))]
33-
pub fn _rbit_u64(x: u64) -> u64 {
33+
pub unsafe fn _rbit_u64(x: u64) -> u64 {
3434
unsafe { rbit_u64(x as i64) as u64 }
3535
}
3636

@@ -41,7 +41,7 @@ pub fn _rbit_u64(x: u64) -> u64 {
4141
#[inline(always)]
4242
// LLVM Bug (should be cls): https://bugs.llvm.org/show_bug.cgi?id=31802
4343
#[cfg_attr(test, assert_instr(clz))]
44-
pub fn _cls_u32(x: u32) -> u32 {
44+
pub unsafe fn _cls_u32(x: u32) -> u32 {
4545
u32::leading_zeros(!x) as u32
4646
}
4747

@@ -52,6 +52,6 @@ pub fn _cls_u32(x: u32) -> u32 {
5252
#[inline(always)]
5353
// LLVM Bug (should be cls): https://bugs.llvm.org/show_bug.cgi?id=31802
5454
#[cfg_attr(test, assert_instr(clz))]
55-
pub fn _cls_u64(x: u64) -> u64 {
55+
pub unsafe fn _cls_u64(x: u64) -> u64 {
5656
u64::leading_zeros(!x) as u64
5757
}

0 commit comments

Comments
 (0)