1 error: invalid register class `foo`: unknown register class
2 --> $DIR/bad-reg.rs:14:20
4 LL | asm!("{}", in(foo) foo);
7 error: invalid register `foo`: unknown register
8 --> $DIR/bad-reg.rs:16:18
10 LL | asm!("", in("foo") foo);
13 error: invalid asm template modifier for this register class
14 --> $DIR/bad-reg.rs:18:15
16 LL | asm!("{:z}", in(reg) foo);
17 | ^^^^ ----------- argument
21 = note: the `reg` register class supports the following template modifiers: `l`, `x`, `e`, `r`
23 error: invalid asm template modifier for this register class
24 --> $DIR/bad-reg.rs:20:15
26 LL | asm!("{:r}", in(xmm_reg) foo);
27 | ^^^^ --------------- argument
31 = note: the `xmm_reg` register class supports the following template modifiers: `x`, `y`, `z`
33 error: asm template modifiers are not allowed for `const` arguments
34 --> $DIR/bad-reg.rs:22:15
36 LL | asm!("{:a}", const 0);
37 | ^^^^ ------- argument
41 error: asm template modifiers are not allowed for `sym` arguments
42 --> $DIR/bad-reg.rs:24:15
44 LL | asm!("{:a}", sym main);
45 | ^^^^ -------- argument
49 error: invalid register `ebp`: the frame pointer cannot be used as an operand for inline asm
50 --> $DIR/bad-reg.rs:26:18
52 LL | asm!("", in("ebp") foo);
55 error: invalid register `rsp`: the stack pointer cannot be used as an operand for inline asm
56 --> $DIR/bad-reg.rs:28:18
58 LL | asm!("", in("rsp") foo);
61 error: invalid register `ip`: the instruction pointer cannot be used as an operand for inline asm
62 --> $DIR/bad-reg.rs:30:18
64 LL | asm!("", in("ip") foo);
67 error: register class `x87_reg` can only be used as a clobber, not as an input or output
68 --> $DIR/bad-reg.rs:33:18
70 LL | asm!("", in("st(2)") foo);
73 error: register class `mmx_reg` can only be used as a clobber, not as an input or output
74 --> $DIR/bad-reg.rs:36:18
76 LL | asm!("", in("mm0") foo);
79 error: register class `kreg0` can only be used as a clobber, not as an input or output
80 --> $DIR/bad-reg.rs:39:18
82 LL | asm!("", in("k0") foo);
85 error: register class `x87_reg` can only be used as a clobber, not as an input or output
86 --> $DIR/bad-reg.rs:44:20
88 LL | asm!("{}", in(x87_reg) foo);
91 error: register class `mmx_reg` can only be used as a clobber, not as an input or output
92 --> $DIR/bad-reg.rs:47:20
94 LL | asm!("{}", in(mmx_reg) foo);
97 error: register class `x87_reg` can only be used as a clobber, not as an input or output
98 --> $DIR/bad-reg.rs:50:20
100 LL | asm!("{}", out(x87_reg) _);
103 error: register class `mmx_reg` can only be used as a clobber, not as an input or output
104 --> $DIR/bad-reg.rs:52:20
106 LL | asm!("{}", out(mmx_reg) _);
109 error: register `al` conflicts with register `ax`
110 --> $DIR/bad-reg.rs:58:33
112 LL | asm!("", in("eax") foo, in("al") bar);
113 | ------------- ^^^^^^^^^^^^ register `al`
117 error: register `ax` conflicts with register `ax`
118 --> $DIR/bad-reg.rs:61:33
120 LL | asm!("", in("rax") foo, out("rax") bar);
121 | ------------- ^^^^^^^^^^^^^^ register `ax`
125 help: use `lateout` instead of `out` to avoid conflict
126 --> $DIR/bad-reg.rs:61:18
128 LL | asm!("", in("rax") foo, out("rax") bar);
131 error: register `ymm0` conflicts with register `xmm0`
132 --> $DIR/bad-reg.rs:66:34
134 LL | asm!("", in("xmm0") foo, in("ymm0") bar);
135 | -------------- ^^^^^^^^^^^^^^ register `ymm0`
139 error: register `ymm0` conflicts with register `xmm0`
140 --> $DIR/bad-reg.rs:68:34
142 LL | asm!("", in("xmm0") foo, out("ymm0") bar);
143 | -------------- ^^^^^^^^^^^^^^^ register `ymm0`
147 help: use `lateout` instead of `out` to avoid conflict
148 --> $DIR/bad-reg.rs:68:18
150 LL | asm!("", in("xmm0") foo, out("ymm0") bar);
153 error: type `i32` cannot be used with this register class
154 --> $DIR/bad-reg.rs:33:30
156 LL | asm!("", in("st(2)") foo);
159 = note: register class `x87_reg` supports these types:
161 error: type `i32` cannot be used with this register class
162 --> $DIR/bad-reg.rs:36:28
164 LL | asm!("", in("mm0") foo);
167 = note: register class `mmx_reg` supports these types:
169 error: type `i32` cannot be used with this register class
170 --> $DIR/bad-reg.rs:39:27
172 LL | asm!("", in("k0") foo);
175 = note: register class `kreg0` supports these types:
177 error: type `i32` cannot be used with this register class
178 --> $DIR/bad-reg.rs:44:32
180 LL | asm!("{}", in(x87_reg) foo);
183 = note: register class `x87_reg` supports these types:
185 error: type `i32` cannot be used with this register class
186 --> $DIR/bad-reg.rs:47:32
188 LL | asm!("{}", in(mmx_reg) foo);
191 = note: register class `mmx_reg` supports these types:
193 error: type `i32` cannot be used with this register class
194 --> $DIR/bad-reg.rs:58:42
196 LL | asm!("", in("eax") foo, in("al") bar);
199 = note: register class `reg_byte` supports these types: i8
201 error: type `i32` cannot be used with this register class
202 --> $DIR/bad-reg.rs:63:27
204 LL | asm!("", in("al") foo, lateout("al") bar);
207 = note: register class `reg_byte` supports these types: i8
209 error: type `i32` cannot be used with this register class
210 --> $DIR/bad-reg.rs:63:46
212 LL | asm!("", in("al") foo, lateout("al") bar);
215 = note: register class `reg_byte` supports these types: i8
217 error: aborting due to 28 previous errors