Skip to content

Commit 544eb34

Browse files
committed
make prefetch intrinsics safe
1 parent e020f88 commit 544eb34

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

tests/pass/prefetch.rs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
#![feature(core_intrinsics)]
22

3+
// Test that these intrinsics work. Their behavior should be a no-op.
4+
35
fn main() {
46
static X: [u8; 8] = [0; 8];
57

6-
unsafe {
7-
::std::intrinsics::prefetch_read_data(::std::ptr::null::<u8>(), 1);
8-
::std::intrinsics::prefetch_read_data(::std::ptr::dangling::<u8>(), 2);
9-
::std::intrinsics::prefetch_read_data(X.as_ptr(), 3);
8+
::std::intrinsics::prefetch_read_data::<_, 1>(::std::ptr::null::<u8>());
9+
::std::intrinsics::prefetch_read_data::<_, 2>(::std::ptr::dangling::<u8>());
10+
::std::intrinsics::prefetch_read_data::<_, 3>(X.as_ptr());
1011

11-
::std::intrinsics::prefetch_write_data(::std::ptr::null::<u8>(), 1);
12-
::std::intrinsics::prefetch_write_data(::std::ptr::dangling::<u8>(), 2);
13-
::std::intrinsics::prefetch_write_data(X.as_ptr(), 3);
12+
::std::intrinsics::prefetch_write_data::<_, 1>(::std::ptr::null::<u8>());
13+
::std::intrinsics::prefetch_write_data::<_, 2>(::std::ptr::dangling::<u8>());
14+
::std::intrinsics::prefetch_write_data::<_, 3>(X.as_ptr());
1415

15-
::std::intrinsics::prefetch_read_instruction(::std::ptr::null::<u8>(), 1);
16-
::std::intrinsics::prefetch_read_instruction(::std::ptr::dangling::<u8>(), 2);
17-
::std::intrinsics::prefetch_read_instruction(X.as_ptr(), 3);
16+
::std::intrinsics::prefetch_read_instruction::<_, 1>(::std::ptr::null::<u8>());
17+
::std::intrinsics::prefetch_read_instruction::<_, 2>(::std::ptr::dangling::<u8>());
18+
::std::intrinsics::prefetch_read_instruction::<_, 3>(X.as_ptr());
1819

19-
::std::intrinsics::prefetch_write_instruction(::std::ptr::null::<u8>(), 1);
20-
::std::intrinsics::prefetch_write_instruction(::std::ptr::dangling::<u8>(), 2);
21-
::std::intrinsics::prefetch_write_instruction(X.as_ptr(), 3);
22-
}
20+
::std::intrinsics::prefetch_write_instruction::<_, 1>(::std::ptr::null::<u8>());
21+
::std::intrinsics::prefetch_write_instruction::<_, 2>(::std::ptr::dangling::<u8>());
22+
::std::intrinsics::prefetch_write_instruction::<_, 3>(X.as_ptr());
2323
}

0 commit comments

Comments
 (0)