summaryrefslogtreecommitdiffstats
path: root/src/test/codegen/asm-clobbers.rs
blob: 2ef10a2837d22621a755662122adc7ddb3de97a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// compile-flags: -O
// only-x86_64

#![crate_type = "rlib"]

use std::arch::asm;

// CHECK-LABEL: @x87_clobber
// CHECK: ~{st},~{st(1)},~{st(2)},~{st(3)},~{st(4)},~{st(5)},~{st(6)},~{st(7)}
#[no_mangle]
pub unsafe fn x87_clobber() {
    asm!("foo", out("st") _);
}

// CHECK-LABEL: @mmx_clobber
// CHECK: ~{st},~{st(1)},~{st(2)},~{st(3)},~{st(4)},~{st(5)},~{st(6)},~{st(7)}
#[no_mangle]
pub unsafe fn mmx_clobber() {
    asm!("bar", out("mm0") _, out("mm1") _);
}