diff options
Diffstat (limited to 'tests/codegen/intrinsics/nontemporal.rs')
| -rw-r--r-- | tests/codegen/intrinsics/nontemporal.rs | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/tests/codegen/intrinsics/nontemporal.rs b/tests/codegen/intrinsics/nontemporal.rs deleted file mode 100644 index a151d4bd297..00000000000 --- a/tests/codegen/intrinsics/nontemporal.rs +++ /dev/null @@ -1,32 +0,0 @@ -//@ add-core-stubs -//@ compile-flags: -Copt-level=3 -//@revisions: with_nontemporal without_nontemporal -//@[with_nontemporal] compile-flags: --target aarch64-unknown-linux-gnu -//@[with_nontemporal] needs-llvm-components: aarch64 -//@[without_nontemporal] compile-flags: --target x86_64-unknown-linux-gnu -//@[without_nontemporal] needs-llvm-components: x86 - -// Ensure that we *do* emit the `!nontemporal` flag on architectures where it -// is well-behaved, but do *not* emit it on architectures where it is ill-behaved. -// For more context, see <https://github.com/rust-lang/rust/issues/114582> and -// <https://github.com/llvm/llvm-project/issues/64521>. - -#![feature(no_core, lang_items, intrinsics)] -#![no_core] -#![crate_type = "lib"] - -extern crate minicore; -use minicore::*; - -#[rustc_intrinsic] -pub unsafe fn nontemporal_store<T>(ptr: *mut T, val: T); - -#[no_mangle] -pub fn a(a: &mut u32, b: u32) { - // CHECK-LABEL: define{{.*}}void @a - // with_nontemporal: store i32 %b, ptr %a, align 4, !nontemporal - // without_nontemporal-NOT: nontemporal - unsafe { - nontemporal_store(a, b); - } -} |
