// only-x86_64 // revisions: base avx512 // [avx512]compile-flags: -C target-feature=+avx512f #![crate_type = "rlib"] use std::arch::asm; // CHECK-LABEL: @amx_clobber // base: call void asm sideeffect inteldialect "", "~{tmm0}"() #[no_mangle] pub unsafe fn amx_clobber() { asm!("", out("tmm0") _, options(nostack, nomem, preserves_flags)); } // CHECK-LABEL: @avx512_clobber // base: call void asm sideeffect inteldialect "", "~{xmm31}"() // avx512: call float asm sideeffect inteldialect "", "=&{xmm31}"() #[no_mangle] pub unsafe fn avx512_clobber() { asm!("", out("zmm31") _, options(nostack, nomem, preserves_flags)); } // CHECK-LABEL: @eax_clobber // CHECK: call i32 asm sideeffect inteldialect "", "=&{ax}"() #[no_mangle] pub unsafe fn eax_clobber() { asm!("", out("eax") _, options(nostack, nomem, preserves_flags)); }