]>
Commit | Line | Data |
---|---|---|
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"] | |
14 | trait Sized {} | |
15 | ||
16 | #[rustc_builtin_macro] | |
17 | macro_rules! asm { | |
18 | () => {}; | |
19 | } | |
20 | ||
21 | // CHECK-LABEL: @cr_clobber | |
22 | // CHECK: call void asm sideeffect "", "~{cr}"() | |
23 | #[no_mangle] | |
24 | pub 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] | |
31 | pub 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] | |
38 | pub 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] | |
45 | pub unsafe fn xer_clobber() { | |
46 | asm!("", out("xer") _, options(nostack, nomem)); | |
47 | } |