rust/tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs

18 lines
377 B
Rust

// Test LVI load hardening on SGX enclave code
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type staticlib
//@ only-x86_64-fortanix-unknown-sgx
#[no_mangle]
pub extern fn plus_one(r: &mut u64) {
*r = *r + 1;
}
// CHECK: plus_one
// CHECK: lfence
// CHECK-NEXT: incq
// CHECK: popq [[REGISTER:%[a-z]+]]
// CHECK-NEXT: lfence
// CHECK-NEXT: jmpq *[[REGISTER]]