about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorFolkert de Vries <folkert@folkertdev.nl>2025-08-19 22:16:58 +0200
committerFolkert de Vries <folkert@folkertdev.nl>2025-08-20 00:35:42 +0200
commitd25910eaeb3eab25d3bbf9b9815e6d215c202d1f (patch)
treec25781e3b114a692b28af15b566c5327e2cf5c9b /src
parent51df7aabbe3140ccca1f63617d7cfdb883509239 (diff)
downloadrust-d25910eaeb3eab25d3bbf9b9815e6d215c202d1f.tar.gz
rust-d25910eaeb3eab25d3bbf9b9815e6d215c202d1f.zip
make `prefetch` intrinsics safe
Diffstat (limited to 'src')
-rw-r--r--src/tools/miri/tests/pass/prefetch.rs28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/tools/miri/tests/pass/prefetch.rs b/src/tools/miri/tests/pass/prefetch.rs
index 09352695989..99c75c38bde 100644
--- a/src/tools/miri/tests/pass/prefetch.rs
+++ b/src/tools/miri/tests/pass/prefetch.rs
@@ -1,23 +1,23 @@
 #![feature(core_intrinsics)]
 
+// Test that these intrinsics work. Their behavior should be a no-op.
+
 fn main() {
     static X: [u8; 8] = [0; 8];
 
-    unsafe {
-        ::std::intrinsics::prefetch_read_data(::std::ptr::null::<u8>(), 1);
-        ::std::intrinsics::prefetch_read_data(::std::ptr::dangling::<u8>(), 2);
-        ::std::intrinsics::prefetch_read_data(X.as_ptr(), 3);
+    ::std::intrinsics::prefetch_read_data::<_, 1>(::std::ptr::null::<u8>());
+    ::std::intrinsics::prefetch_read_data::<_, 2>(::std::ptr::dangling::<u8>());
+    ::std::intrinsics::prefetch_read_data::<_, 3>(X.as_ptr());
 
-        ::std::intrinsics::prefetch_write_data(::std::ptr::null::<u8>(), 1);
-        ::std::intrinsics::prefetch_write_data(::std::ptr::dangling::<u8>(), 2);
-        ::std::intrinsics::prefetch_write_data(X.as_ptr(), 3);
+    ::std::intrinsics::prefetch_write_data::<_, 1>(::std::ptr::null::<u8>());
+    ::std::intrinsics::prefetch_write_data::<_, 2>(::std::ptr::dangling::<u8>());
+    ::std::intrinsics::prefetch_write_data::<_, 3>(X.as_ptr());
 
-        ::std::intrinsics::prefetch_read_instruction(::std::ptr::null::<u8>(), 1);
-        ::std::intrinsics::prefetch_read_instruction(::std::ptr::dangling::<u8>(), 2);
-        ::std::intrinsics::prefetch_read_instruction(X.as_ptr(), 3);
+    ::std::intrinsics::prefetch_read_instruction::<_, 1>(::std::ptr::null::<u8>());
+    ::std::intrinsics::prefetch_read_instruction::<_, 2>(::std::ptr::dangling::<u8>());
+    ::std::intrinsics::prefetch_read_instruction::<_, 3>(X.as_ptr());
 
-        ::std::intrinsics::prefetch_write_instruction(::std::ptr::null::<u8>(), 1);
-        ::std::intrinsics::prefetch_write_instruction(::std::ptr::dangling::<u8>(), 2);
-        ::std::intrinsics::prefetch_write_instruction(X.as_ptr(), 3);
-    }
+    ::std::intrinsics::prefetch_write_instruction::<_, 1>(::std::ptr::null::<u8>());
+    ::std::intrinsics::prefetch_write_instruction::<_, 2>(::std::ptr::dangling::<u8>());
+    ::std::intrinsics::prefetch_write_instruction::<_, 3>(X.as_ptr());
 }