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: `w`, `x`
23 error: invalid asm template modifier for this register class
24 --> $DIR/bad-reg.rs:20:15
26 LL | asm!("{:r}", in(vreg) foo);
27 | ^^^^ ------------ argument
31 = note: the `vreg` register class supports the following template modifiers: `b`, `h`, `s`, `d`, `q`, `v`
33 error: invalid asm template modifier for this register class
34 --> $DIR/bad-reg.rs:22:15
36 LL | asm!("{:r}", in(vreg_low16) foo);
37 | ^^^^ ------------------ argument
41 = note: the `vreg_low16` register class supports the following template modifiers: `b`, `h`, `s`, `d`, `q`, `v`
43 error: asm template modifiers are not allowed for `const` arguments
44 --> $DIR/bad-reg.rs:24:15
46 LL | asm!("{:a}", const 0);
47 | ^^^^ ------- argument
51 error: asm template modifiers are not allowed for `sym` arguments
52 --> $DIR/bad-reg.rs:26:15
54 LL | asm!("{:a}", sym main);
55 | ^^^^ -------- argument
59 error: invalid register `x29`: the frame pointer cannot be used as an operand for inline asm
60 --> $DIR/bad-reg.rs:28:18
62 LL | asm!("", in("x29") foo);
65 error: invalid register `sp`: the stack pointer cannot be used as an operand for inline asm
66 --> $DIR/bad-reg.rs:30:18
68 LL | asm!("", in("sp") foo);
71 error: invalid register `xzr`: the zero register cannot be used as an operand for inline asm
72 --> $DIR/bad-reg.rs:32:18
74 LL | asm!("", in("xzr") foo);
77 error: invalid register `x19`: x19 is used internally by LLVM and cannot be used as an operand for inline asm
78 --> $DIR/bad-reg.rs:34:18
80 LL | asm!("", in("x19") foo);
83 error: register class `preg` can only be used as a clobber, not as an input or output
84 --> $DIR/bad-reg.rs:37:18
86 LL | asm!("", in("p0") foo);
89 error: register class `preg` can only be used as a clobber, not as an input or output
90 --> $DIR/bad-reg.rs:41:20
92 LL | asm!("{}", in(preg) foo);
95 error: register class `preg` can only be used as a clobber, not as an input or output
96 --> $DIR/bad-reg.rs:44:20
98 LL | asm!("{}", out(preg) _);
101 error: register `x0` conflicts with register `x0`
102 --> $DIR/bad-reg.rs:50:32
104 LL | asm!("", in("x0") foo, in("w0") bar);
105 | ------------ ^^^^^^^^^^^^ register `x0`
109 error: register `x0` conflicts with register `x0`
110 --> $DIR/bad-reg.rs:52:32
112 LL | asm!("", in("x0") foo, out("x0") bar);
113 | ------------ ^^^^^^^^^^^^^ register `x0`
117 help: use `lateout` instead of `out` to avoid conflict
118 --> $DIR/bad-reg.rs:52:18
120 LL | asm!("", in("x0") foo, out("x0") bar);
123 error: register `v0` conflicts with register `v0`
124 --> $DIR/bad-reg.rs:55:32
126 LL | asm!("", in("v0") foo, in("q0") bar);
127 | ------------ ^^^^^^^^^^^^ register `v0`
131 error: register `v0` conflicts with register `v0`
132 --> $DIR/bad-reg.rs:57:32
134 LL | asm!("", in("v0") foo, out("q0") bar);
135 | ------------ ^^^^^^^^^^^^^ register `v0`
139 help: use `lateout` instead of `out` to avoid conflict
140 --> $DIR/bad-reg.rs:57:18
142 LL | asm!("", in("v0") foo, out("q0") bar);
145 error: type `i32` cannot be used with this register class
146 --> $DIR/bad-reg.rs:37:27
148 LL | asm!("", in("p0") foo);
151 = note: register class `preg` supports these types:
153 error: type `i32` cannot be used with this register class
154 --> $DIR/bad-reg.rs:41:29
156 LL | asm!("{}", in(preg) foo);
159 = note: register class `preg` supports these types:
161 error: aborting due to 20 previous errors