]> git.lizzy.rs Git - rust.git/blob - tests/pretty/asm.rs
Rollup merge of #107731 - RalfJung:interpret-discriminant, r=cjgillot
[rust.git] / tests / pretty / asm.rs
1 // pretty-mode:expanded
2 // pp-exact:asm.pp
3 // only-x86_64
4
5 use std::arch::asm;
6
7 pub fn main() {
8     let a: i32;
9     let mut b = 4i32;
10     unsafe {
11         asm!("");
12         asm!("", options());
13         asm!("", options(nostack, nomem));
14         asm!("{}", in(reg) 4);
15         asm!("{0}", out(reg) a);
16         asm!("{name}", name = inout(reg) b);
17         asm!("{} {}", out(reg) _, inlateout(reg) b => _);
18         asm!("", out("al") _, lateout("rcx") _);
19         asm!("inst1", "inst2");
20         asm!("inst1 {}, 42", "inst2 {}, 24", in(reg) a, out(reg) b);
21         asm!("inst2 {1}, 24", "inst1 {0}, 42", in(reg) a, out(reg) b);
22         asm!("inst1 {}, 42", "inst2 {name}, 24", in(reg) a, name = out(reg) b);
23         asm!(
24             "inst1
25 inst2"
26         );
27         asm!("inst1\ninst2");
28         asm!("inst1\n\tinst2");
29         asm!("inst1\ninst2", "inst3\ninst4");
30     }
31 }