mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-29 10:13:54 +00:00
e6b9bb7b72
This adds the `only-apple`/`ignore-apple` compiletest directive, and uses that basically everywhere instead of `only-macos`/`ignore-macos`. Some of the updates in `run-make` are a bit redundant, as they use `ignore-cross-compile` and won't run on iOS - but using Apple in these is still more correct, so I've made that change anyhow.
21 lines
625 B
Rust
21 lines
625 B
Rust
//@ assembly-output: emit-asm
|
|
//@ compile-flags: --crate-type=lib -O -C llvm-args=-x86-asm-syntax=intel
|
|
//@ only-x86_64
|
|
//@ ignore-sgx
|
|
//@ ignore-apple (manipulates rsp too)
|
|
|
|
// Depending on various codegen choices, this might end up copying
|
|
// a `<2 x i8>`, an `i16`, or two `i8`s.
|
|
// Regardless of those choices, make sure the instructions use (2-byte) words.
|
|
|
|
// CHECK-LABEL: array_copy_2_elements:
|
|
#[no_mangle]
|
|
pub fn array_copy_2_elements(a: &[u8; 2], p: &mut [u8; 2]) {
|
|
// CHECK-NOT: byte
|
|
// CHECK-NOT: mov
|
|
// CHECK: mov{{.+}}, word ptr
|
|
// CHECK-NEXT: mov word ptr
|
|
// CHECK-NEXT: ret
|
|
*p = *a;
|
|
}
|