]> git.lizzy.rs Git - rust.git/blob - src/test/ui/asm/x86_64/bad-reg.stderr
Auto merge of #90668 - matthiaskrgr:clippy_nov7, r=jyn514
[rust.git] / src / test / ui / asm / x86_64 / bad-reg.stderr
1 error: invalid register class `foo`: unknown register class
2   --> $DIR/bad-reg.rs:12:20
3    |
4 LL |         asm!("{}", in(foo) foo);
5    |                    ^^^^^^^^^^^
6
7 error: invalid register `foo`: unknown register
8   --> $DIR/bad-reg.rs:14:18
9    |
10 LL |         asm!("", in("foo") foo);
11    |                  ^^^^^^^^^^^^^
12
13 error: invalid asm template modifier for this register class
14   --> $DIR/bad-reg.rs:16:15
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
24   --> $DIR/bad-reg.rs:18:15
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
34   --> $DIR/bad-reg.rs:20:15
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
42   --> $DIR/bad-reg.rs:22:15
43    |
44 LL |         asm!("{:a}", sym main);
45    |               ^^^^   -------- argument
46    |               |
47    |               template modifier
48
49 error: invalid register `ebp`: the frame pointer cannot be used as an operand for inline asm
50   --> $DIR/bad-reg.rs:24:18
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
56   --> $DIR/bad-reg.rs:26:18
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
62   --> $DIR/bad-reg.rs:28:18
63    |
64 LL |         asm!("", in("ip") foo);
65    |                  ^^^^^^^^^^^^
66
67 error: invalid register `k0`: the k0 AVX mask register cannot be used as an operand for inline asm
68   --> $DIR/bad-reg.rs:30:18
69    |
70 LL |         asm!("", in("k0") foo);
71    |                  ^^^^^^^^^^^^
72
73 error: invalid register `ah`: high byte registers cannot be used as an operand on x86_64
74   --> $DIR/bad-reg.rs:32:18
75    |
76 LL |         asm!("", in("ah") foo);
77    |                  ^^^^^^^^^^^^
78
79 error: register class `x87_reg` can only be used as a clobber, not as an input or output
80   --> $DIR/bad-reg.rs:35:18
81    |
82 LL |         asm!("", in("st(2)") foo);
83    |                  ^^^^^^^^^^^^^^^
84
85 error: register class `mmx_reg` can only be used as a clobber, not as an input or output
86   --> $DIR/bad-reg.rs:37:18
87    |
88 LL |         asm!("", in("mm0") foo);
89    |                  ^^^^^^^^^^^^^
90
91 error: register class `x87_reg` can only be used as a clobber, not as an input or output
92   --> $DIR/bad-reg.rs:41:20
93    |
94 LL |         asm!("{}", in(x87_reg) foo);
95    |                    ^^^^^^^^^^^^^^^
96
97 error: register class `mmx_reg` can only be used as a clobber, not as an input or output
98   --> $DIR/bad-reg.rs:43:20
99    |
100 LL |         asm!("{}", in(mmx_reg) foo);
101    |                    ^^^^^^^^^^^^^^^
102
103 error: register class `x87_reg` can only be used as a clobber, not as an input or output
104   --> $DIR/bad-reg.rs:45:20
105    |
106 LL |         asm!("{}", out(x87_reg) _);
107    |                    ^^^^^^^^^^^^^^
108
109 error: register class `mmx_reg` can only be used as a clobber, not as an input or output
110   --> $DIR/bad-reg.rs:47:20
111    |
112 LL |         asm!("{}", out(mmx_reg) _);
113    |                    ^^^^^^^^^^^^^^
114
115 error: register `al` conflicts with register `ax`
116   --> $DIR/bad-reg.rs:53:33
117    |
118 LL |         asm!("", in("eax") foo, in("al") bar);
119    |                  -------------  ^^^^^^^^^^^^ register `al`
120    |                  |
121    |                  register `ax`
122
123 error: register `ax` conflicts with register `ax`
124   --> $DIR/bad-reg.rs:55:33
125    |
126 LL |         asm!("", in("rax") foo, out("rax") bar);
127    |                  -------------  ^^^^^^^^^^^^^^ register `ax`
128    |                  |
129    |                  register `ax`
130    |
131 help: use `lateout` instead of `out` to avoid conflict
132   --> $DIR/bad-reg.rs:55:18
133    |
134 LL |         asm!("", in("rax") foo, out("rax") bar);
135    |                  ^^^^^^^^^^^^^
136
137 error: register `ymm0` conflicts with register `xmm0`
138   --> $DIR/bad-reg.rs:58:34
139    |
140 LL |         asm!("", in("xmm0") foo, in("ymm0") bar);
141    |                  --------------  ^^^^^^^^^^^^^^ register `ymm0`
142    |                  |
143    |                  register `xmm0`
144
145 error: register `ymm0` conflicts with register `xmm0`
146   --> $DIR/bad-reg.rs:60:34
147    |
148 LL |         asm!("", in("xmm0") foo, out("ymm0") bar);
149    |                  --------------  ^^^^^^^^^^^^^^^ register `ymm0`
150    |                  |
151    |                  register `xmm0`
152    |
153 help: use `lateout` instead of `out` to avoid conflict
154   --> $DIR/bad-reg.rs:60:18
155    |
156 LL |         asm!("", in("xmm0") foo, out("ymm0") bar);
157    |                  ^^^^^^^^^^^^^^
158
159 error: aborting due to 21 previous errors
160