]> git.proxmox.com Git - rustc.git/blob - src/test/pretty/asm.pp
New upstream version 1.54.0+dfsg1
[rustc.git] / src / test / pretty / asm.pp
1 #![feature(prelude_import)]
2 #![no_std]
3 #![feature(asm)]
4 #[prelude_import]
5 use ::std::prelude::rust_2015::*;
6 #[macro_use]
7 extern crate std;
8
9 // pretty-mode:expanded
10 // pp-exact:asm.pp
11 // only-x86_64
12
13 pub fn main() {
14 let a: i32;
15 let mut b = 4i32;
16 unsafe {
17 asm!("");
18 asm!("");
19 asm!("", options(nomem, nostack));
20 asm!("{0}", in(reg) 4);
21 asm!("{0}", out(reg) a);
22 asm!("{0}", inout(reg) b);
23 asm!("{0} {1}", out(reg) _, inlateout(reg) b => _);
24 asm!("", out("al") _, lateout("rcx") _);
25 asm!("inst1\ninst2");
26 asm!("inst1 {0}, 42\ninst2 {1}, 24", in(reg) a, out(reg) b);
27 asm!("inst2 {1}, 24\ninst1 {0}, 42", in(reg) a, out(reg) b);
28 asm!("inst1 {0}, 42\ninst2 {1}, 24", in(reg) a, out(reg) b);
29 asm!("inst1\ninst2");
30 asm!("inst1\ninst2");
31 asm!("inst1\n\tinst2");
32 asm!("inst1\ninst2\ninst3\ninst4");
33 }
34 }