]> git.proxmox.com Git - rustc.git/blame - src/test/codegen/asm-powerpc-clobbers.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / src / test / codegen / asm-powerpc-clobbers.rs
CommitLineData
94222f64
XL
1// revisions: powerpc powerpc64 powerpc64le
2//[powerpc] compile-flags: --target powerpc-unknown-linux-gnu
3//[powerpc] needs-llvm-components: powerpc
4//[powerpc64] compile-flags: --target powerpc64-unknown-linux-gnu
5//[powerpc64] needs-llvm-components: powerpc
6//[powerpc64le] compile-flags: --target powerpc64le-unknown-linux-gnu
7//[powerpc64le] needs-llvm-components: powerpc
8
9#![crate_type = "rlib"]
3c0e092e 10#![feature(no_core, rustc_attrs, lang_items, asm_experimental_arch)]
94222f64
XL
11#![no_core]
12
13#[lang = "sized"]
14trait Sized {}
15
16#[rustc_builtin_macro]
17macro_rules! asm {
18 () => {};
19}
20
21// CHECK-LABEL: @cr_clobber
22// CHECK: call void asm sideeffect "", "~{cr}"()
23#[no_mangle]
24pub unsafe fn cr_clobber() {
25 asm!("", out("cr") _, options(nostack, nomem));
26}
27
28// CHECK-LABEL: @cr0_clobber
29// CHECK: call void asm sideeffect "", "~{cr0}"()
30#[no_mangle]
31pub unsafe fn cr0_clobber() {
32 asm!("", out("cr0") _, options(nostack, nomem));
33}
34
35// CHECK-LABEL: @cr5_clobber
36// CHECK: call void asm sideeffect "", "~{cr5}"()
37#[no_mangle]
38pub unsafe fn cr5_clobber() {
39 asm!("", out("cr5") _, options(nostack, nomem));
40}
41
42// CHECK-LABEL: @xer_clobber
43// CHECK: call void asm sideeffect "", "~{xer}"()
44#[no_mangle]
45pub unsafe fn xer_clobber() {
46 asm!("", out("xer") _, options(nostack, nomem));
47}