]> git.proxmox.com Git - rustc.git/blame - src/test/pretty/asm.pp
Merge tag 'debian/1.52.1+dfsg1-1_exp2' into proxmox/buster
[rustc.git] / src / test / pretty / asm.pp
CommitLineData
f9f354fc
XL
1#![feature(prelude_import)]
2#![no_std]
3#![feature(asm)]
4#[prelude_import]
6a06907d 5use ::std::prelude::rust_2015::*;
f9f354fc
XL
6#[macro_use]
7extern crate std;
8
9// pretty-mode:expanded
10// pp-exact:asm.pp
f035d41b 11// only-x86_64
f9f354fc
XL
12
13pub 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("rbx") _);
f035d41b
XL
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");
f9f354fc
XL
33 }
34}