]>
Commit | Line | Data |
---|---|---|
f9f354fc | 1 | error: invalid register class `foo`: unknown register class |
a2a8927a | 2 | --> $DIR/bad-reg.rs:14:20 |
f9f354fc XL |
3 | | |
4 | LL | asm!("{}", in(foo) foo); | |
5 | | ^^^^^^^^^^^ | |
6 | ||
7 | error: invalid register `foo`: unknown register | |
a2a8927a | 8 | --> $DIR/bad-reg.rs:16:18 |
f9f354fc XL |
9 | | |
10 | LL | asm!("", in("foo") foo); | |
11 | | ^^^^^^^^^^^^^ | |
12 | ||
13 | error: invalid asm template modifier for this register class | |
a2a8927a | 14 | --> $DIR/bad-reg.rs:18:15 |
f9f354fc XL |
15 | | |
16 | LL | asm!("{:z}", in(reg) foo); | |
17 | | ^^^^ ----------- argument | |
18 | | | | |
19 | | template modifier | |
20 | | | |
21 | = note: the `reg` register class supports the following template modifiers: `l`, `x`, `e`, `r` | |
22 | ||
23 | error: invalid asm template modifier for this register class | |
a2a8927a | 24 | --> $DIR/bad-reg.rs:20:15 |
f9f354fc XL |
25 | | |
26 | LL | asm!("{:r}", in(xmm_reg) foo); | |
27 | | ^^^^ --------------- argument | |
28 | | | | |
29 | | template modifier | |
30 | | | |
31 | = note: the `xmm_reg` register class supports the following template modifiers: `x`, `y`, `z` | |
32 | ||
33 | error: asm template modifiers are not allowed for `const` arguments | |
a2a8927a | 34 | --> $DIR/bad-reg.rs:22:15 |
f9f354fc XL |
35 | | |
36 | LL | asm!("{:a}", const 0); | |
37 | | ^^^^ ------- argument | |
38 | | | | |
39 | | template modifier | |
40 | ||
41 | error: asm template modifiers are not allowed for `sym` arguments | |
a2a8927a | 42 | --> $DIR/bad-reg.rs:24:15 |
f9f354fc XL |
43 | | |
44 | LL | asm!("{:a}", sym main); | |
45 | | ^^^^ -------- argument | |
46 | | | | |
47 | | template modifier | |
48 | ||
f9f354fc | 49 | error: invalid register `ebp`: the frame pointer cannot be used as an operand for inline asm |
a2a8927a | 50 | --> $DIR/bad-reg.rs:26:18 |
f9f354fc XL |
51 | | |
52 | LL | asm!("", in("ebp") foo); | |
53 | | ^^^^^^^^^^^^^ | |
54 | ||
55 | error: invalid register `rsp`: the stack pointer cannot be used as an operand for inline asm | |
a2a8927a | 56 | --> $DIR/bad-reg.rs:28:18 |
f9f354fc XL |
57 | | |
58 | LL | asm!("", in("rsp") foo); | |
59 | | ^^^^^^^^^^^^^ | |
60 | ||
61 | error: invalid register `ip`: the instruction pointer cannot be used as an operand for inline asm | |
a2a8927a | 62 | --> $DIR/bad-reg.rs:30:18 |
f9f354fc XL |
63 | | |
64 | LL | asm!("", in("ip") foo); | |
65 | | ^^^^^^^^^^^^ | |
66 | ||
136023e0 | 67 | error: invalid register `k0`: the k0 AVX mask register cannot be used as an operand for inline asm |
a2a8927a | 68 | --> $DIR/bad-reg.rs:32:18 |
f9f354fc | 69 | | |
136023e0 XL |
70 | LL | asm!("", in("k0") foo); |
71 | | ^^^^^^^^^^^^ | |
72 | ||
136023e0 | 73 | error: register class `x87_reg` can only be used as a clobber, not as an input or output |
ee023bcb | 74 | --> $DIR/bad-reg.rs:35:18 |
136023e0 | 75 | | |
f9f354fc XL |
76 | LL | asm!("", in("st(2)") foo); |
77 | | ^^^^^^^^^^^^^^^ | |
78 | ||
136023e0 | 79 | error: register class `mmx_reg` can only be used as a clobber, not as an input or output |
ee023bcb | 80 | --> $DIR/bad-reg.rs:37:18 |
f9f354fc XL |
81 | | |
82 | LL | asm!("", in("mm0") foo); | |
83 | | ^^^^^^^^^^^^^ | |
84 | ||
136023e0 | 85 | error: register class `x87_reg` can only be used as a clobber, not as an input or output |
ee023bcb | 86 | --> $DIR/bad-reg.rs:41:20 |
f9f354fc | 87 | | |
136023e0 XL |
88 | LL | asm!("{}", in(x87_reg) foo); |
89 | | ^^^^^^^^^^^^^^^ | |
f9f354fc | 90 | |
136023e0 | 91 | error: register class `mmx_reg` can only be used as a clobber, not as an input or output |
ee023bcb | 92 | --> $DIR/bad-reg.rs:43:20 |
cdc7bbd5 | 93 | | |
136023e0 XL |
94 | LL | asm!("{}", in(mmx_reg) foo); |
95 | | ^^^^^^^^^^^^^^^ | |
96 | ||
97 | error: register class `x87_reg` can only be used as a clobber, not as an input or output | |
ee023bcb | 98 | --> $DIR/bad-reg.rs:45:20 |
136023e0 XL |
99 | | |
100 | LL | asm!("{}", out(x87_reg) _); | |
101 | | ^^^^^^^^^^^^^^ | |
102 | ||
103 | error: register class `mmx_reg` can only be used as a clobber, not as an input or output | |
ee023bcb | 104 | --> $DIR/bad-reg.rs:47:20 |
136023e0 XL |
105 | | |
106 | LL | asm!("{}", out(mmx_reg) _); | |
107 | | ^^^^^^^^^^^^^^ | |
cdc7bbd5 | 108 | |
f9f354fc | 109 | error: register `al` conflicts with register `ax` |
ee023bcb | 110 | --> $DIR/bad-reg.rs:53:33 |
f9f354fc XL |
111 | | |
112 | LL | asm!("", in("eax") foo, in("al") bar); | |
113 | | ------------- ^^^^^^^^^^^^ register `al` | |
114 | | | | |
115 | | register `ax` | |
116 | ||
117 | error: register `ax` conflicts with register `ax` | |
ee023bcb | 118 | --> $DIR/bad-reg.rs:55:33 |
f9f354fc XL |
119 | | |
120 | LL | asm!("", in("rax") foo, out("rax") bar); | |
121 | | ------------- ^^^^^^^^^^^^^^ register `ax` | |
122 | | | | |
123 | | register `ax` | |
124 | | | |
125 | help: use `lateout` instead of `out` to avoid conflict | |
ee023bcb | 126 | --> $DIR/bad-reg.rs:55:18 |
f9f354fc XL |
127 | | |
128 | LL | asm!("", in("rax") foo, out("rax") bar); | |
129 | | ^^^^^^^^^^^^^ | |
130 | ||
131 | error: register `ymm0` conflicts with register `xmm0` | |
ee023bcb | 132 | --> $DIR/bad-reg.rs:58:34 |
f9f354fc XL |
133 | | |
134 | LL | asm!("", in("xmm0") foo, in("ymm0") bar); | |
135 | | -------------- ^^^^^^^^^^^^^^ register `ymm0` | |
136 | | | | |
137 | | register `xmm0` | |
138 | ||
139 | error: register `ymm0` conflicts with register `xmm0` | |
ee023bcb | 140 | --> $DIR/bad-reg.rs:60:34 |
f9f354fc XL |
141 | | |
142 | LL | asm!("", in("xmm0") foo, out("ymm0") bar); | |
143 | | -------------- ^^^^^^^^^^^^^^^ register `ymm0` | |
144 | | | | |
145 | | register `xmm0` | |
146 | | | |
147 | help: use `lateout` instead of `out` to avoid conflict | |
ee023bcb | 148 | --> $DIR/bad-reg.rs:60:18 |
f9f354fc XL |
149 | | |
150 | LL | asm!("", in("xmm0") foo, out("ymm0") bar); | |
151 | | ^^^^^^^^^^^^^^ | |
152 | ||
ee023bcb | 153 | error: aborting due to 20 previous errors |
f9f354fc | 154 |