i386: Check for reserved VEX.vvvv and EVEX.vvvv
[external/binutils.git] / gas / testsuite / gas / i386 / x86-64-inval.l
1 .*: Assembler messages:
2 .*:4: Error: .*
3 .*:5: Error: .*
4 .*:6: Error: .*
5 .*:7: Error: .*
6 .*:8: Error: .*
7 .*:9: Error: .*
8 .*:10: Error: .*
9 .*:11: Error: .*
10 .*:12: Error: .*
11 .*:13: Error: .*
12 .*:14: Error: .*
13 .*:15: Error: .*
14 .*:16: Error: .*
15 .*:17: Error: .*
16 .*:18: Error: .*
17 .*:19: Error: .*
18 .*:20: Error: .*
19 .*:21: Error: .*
20 .*:22: Error: .*
21 .*:23: Error: .*
22 .*:24: Error: .*
23 .*:25: Error: .*
24 .*:26: Error: .*
25 .*:27: Error: .*
26 .*:28: Error: .*
27 .*:29: Error: .*
28 .*:30: Error: .*
29 .*:31: Error: .*
30 .*:32: Error: .*
31 .*:33: Error: .*
32 .*:34: Error: .*
33 .*:35: Error: .*
34 .*:36: Error: .*
35 .*:37: Error: .*
36 .*:38: Error: .*
37 .*:39: Error: .*
38 .*:40: Error: .*
39 .*:41: Error: .*
40 .*:42: Error: .*
41 .*:43: Error: .*
42 .*:44: Error: .*
43 .*:45: Error: .*
44 .*:46: Error: .*
45 .*:47: Error: .*
46 .*:48: Error: .*
47 .*:49: Error: .*
48 .*:50: Error: .*
49 .*:51: Error: .*
50 .*:52: Error: .*
51 .*:53: Error: .*
52 .*:54: Error: .*
53 .*:55: Error: .*
54 .*:56: Error: .*
55 .*:57: Error: .*
56 .*:58: Error: .*
57 .*:59: Error: .*
58 .*:60: Error: .*
59 .*:61: Error: .*
60 .*:62: Error: .*
61 .*:63: Error: .*
62 .*:64: Error: .*
63 .*:65: Error: .*
64 .*:67: Error: .*
65 .*:68: Error: .*
66 .*:70: Error: .*
67 .*:71: Error: .*
68 .*:72: Error: .*
69 .*:73: Error: .*
70 .*:74: Error: .*
71 .*:75: Error: .*
72 .*:76: Error: .*
73 .*:77: Error: .*
74 .*:78: Error: .*
75 .*:79: Error: .*
76 .*:80: Error: .*
77 .*:81: Error: .*
78 .*:84: Error: .*
79 .*:85: Error: .*
80 .*:86: Error: .*
81 .*:87: Error: .*
82 .*:88: Error: .*
83 .*:89: Error: .*
84 .*:90: Error: .*
85 .*:91: Error: .*
86 .*:92: Error: .*
87 .*:93: Error: .*
88 .*:94: Error: .*
89 .*:95: Error: .*
90 .*:96: Error: .*
91 .*:97: Error: .*
92 .*:98: Error: .*
93 .*:99: Error: .*
94 .*:100: Error: .*
95 .*:101: Error: .*
96 .*:102: Error: .*
97 .*:103: Error: .*
98 .*:104: Error: .*
99 .*:105: Error: .*
100 .*:106: Error: .*
101 .*:107: Error: .*
102 .*:108: Error: .*
103 .*:109: Error: .*
104 .*:110: Error: .*
105 .*:111: Error: .*
106 .*:112: Error: .*
107 .*:113: Error: .*
108 .*:114: Error: .*
109 .*:115: Error: .*
110 .*:116: Error: .*
111 .*:117: Error: .*
112 .*:118: Error: .*
113 .*:121: Error: .*
114 GAS LISTING .*
115
116
117 [       ]*1[    ]+\.text
118 [       ]*2[    ]+\.allow_index_reg
119 [       ]*3[    ]+\# All the following should be illegal for x86-64
120 [       ]*4[    ]+aaa           \# illegal
121 [       ]*5[    ]+aad           \# illegal
122 [       ]*6[    ]+aam           \# illegal
123 [       ]*7[    ]+aas           \# illegal
124 [       ]*8[    ]+arpl %ax,%ax  \# illegal
125 [       ]*9[    ]+bound %eax,\(%rax\) \# illegal
126 [       ]*10[   ]+calll \*%eax  \# 32-bit data size not allowed
127 [       ]*11[   ]+calll \*\(%ax\)       \# 32-bit data size not allowed
128 [       ]*12[   ]+calll \*\(%eax\)      \# 32-bit data size not allowed
129 [       ]*13[   ]+calll \*\(%r8\)       \# 32-bit data size not allowed
130 [       ]*14[   ]+calll \*\(%rax\)      \# 32-bit data size not allowed
131 [       ]*15[   ]+callq \*\(%ax\)       \# no 16-bit addressing
132 [       ]*16[   ]+daa           \# illegal
133 [       ]*17[   ]+das           \# illegal
134 [       ]*18[   ]+enterl \$0,\$0        \# can't have 32-bit stack operands
135 [       ]*19[   ]+into          \# illegal
136 [       ]*20[   ]+foo:  jcxz foo        \# No prefix exists to select CX as a counter
137 [       ]*21[   ]+jmpl \*%eax   \# 32-bit data size not allowed
138 [       ]*22[   ]+jmpl \*\(%ax\)        \# 32-bit data size not allowed
139 [       ]*23[   ]+jmpl \*\(%eax\)       \# 32-bit data size not allowed
140 [       ]*24[   ]+jmpl \*\(%r8\)        \# 32-bit data size not allowed
141 [       ]*25[   ]+jmpl \*\(%rax\)       \# 32-bit data size not allowed
142 [       ]*26[   ]+jmpq \*\(%ax\)        \# no 16-bit addressing
143 [       ]*27[   ]+lcalll \$0,\$0        \# illegal
144 [       ]*28[   ]+lcallq \$0,\$0        \# illegal
145 [       ]*29[   ]+ldsl %eax,\(%rax\) \# illegal
146 [       ]*30[   ]+ldsq %rax,\(%rax\) \# illegal
147 [       ]*31[   ]+lesl %eax,\(%rax\) \# illegal
148 [       ]*32[   ]+lesq %rax,\(%rax\) \# illegal
149 [       ]*33[   ]+ljmpl \$0,\$0 \# illegal
150 [       ]*34[   ]+ljmpq \$0,\$0 \# illegal
151 [       ]*35[   ]+ljmpq \*\(%rax\)      \# 64-bit data size not allowed
152 [       ]*36[   ]+loopw foo     \# No prefix exists to select CX as a counter
153 [       ]*37[   ]+loopew foo    \# No prefix exists to select CX as a counter
154 [       ]*38[   ]+loopnew foo   \# No prefix exists to select CX as a counter
155 [       ]*39[   ]+loopnzw foo   \# No prefix exists to select CX as a counter
156 [       ]*40[   ]+loopzw foo    \# No prefix exists to select CX as a counter
157 [       ]*41[   ]+leavel                \# can't have 32-bit stack operands
158 [       ]*42[   ]+pop %ds               \# illegal
159 [       ]*43[   ]+pop %es               \# illegal
160 [       ]*44[   ]+pop %ss               \# illegal
161 [       ]*45[   ]+popa          \# illegal
162 [       ]*46[   ]+popl %eax     \# can't have 32-bit stack operands
163 [       ]*47[   ]+push %cs      \# illegal
164 [       ]*48[   ]+push %ds      \# illegal
165 [       ]*49[   ]+push %es      \# illegal
166 [       ]*50[   ]+push %ss      \# illegal
167 [       ]*51[   ]+pusha         \# illegal
168 [       ]*52[   ]+pushl %eax    \# can't have 32-bit stack operands
169 [       ]*53[   ]+pushfl                \# can't have 32-bit stack operands
170 [       ]*54[   ]+popfl         \# can't have 32-bit stack operands
171 [       ]*55[   ]+retl          \# can't have 32-bit stack operands
172 [       ]*56[   ]+insertq \$4,\$2,%xmm2,%ebx \# The last operand must be XMM register\.
173 [       ]*57[   ]+fnstsw %eax
174 \fGAS LISTING .*
175
176
177 [       ]*58[   ]+fnstsw %al
178 [       ]*59[   ]+fstsw %eax
179 [       ]*60[   ]+fstsw %al
180 [       ]*61[   ]+in \$8,%rax
181 [       ]*62[   ]+out %rax,\$8
182 [       ]*63[   ]+movzxl \(%rax\),%rax
183 [       ]*64[   ]+movnti %ax, \(%rax\)
184 [       ]*65[   ]+movntiw %ax, \(%rax\)
185 [       ]*66[   ]+
186 [       ]*67[   ]+mov 0x80000000\(%rax\),%ebx
187 [       ]*68[   ]+mov 0x80000000,%ebx
188 [       ]*69[   ]+
189 [       ]*70[   ]+add \(%rip,%rsi\), %eax
190 [       ]*71[   ]+add \(%rsi,%rip\), %eax
191 [       ]*72[   ]+add \(,%rip\), %eax
192 [       ]*73[   ]+add \(%eip,%esi\), %eax
193 [       ]*74[   ]+add \(%esi,%eip\), %eax
194 [       ]*75[   ]+add \(,%eip\), %eax
195 [       ]*76[   ]+add \(%rsi,%esi\), %eax
196 [       ]*77[   ]+add \(%esi,%rsi\), %eax
197 [       ]*78[   ]+add \(%eiz\), %eax
198 [       ]*79[   ]+add \(%riz\), %eax
199 [       ]*80[   ]+add \(%rax\), %riz
200 [       ]*81[   ]+add \(%rax\), %eiz
201 [       ]*82[   ]+
202 [       ]*83[   ]+\.intel_syntax noprefix
203 [       ]*84[   ]+cmpxchg16b dword ptr \[rax\] \# Must be oword
204 [       ]*85[   ]+movq xmm1, XMMWORD PTR \[rsp\]
205 [       ]*86[   ]+movq xmm1, DWORD PTR \[rsp\]
206 [       ]*87[   ]+movq xmm1, WORD PTR \[rsp\]
207 [       ]*88[   ]+movq xmm1, BYTE PTR \[rsp\]
208 [       ]*89[   ]+movq XMMWORD PTR \[rsp\],xmm1
209 [       ]*90[   ]+movq DWORD PTR \[rsp\],xmm1
210 [       ]*91[   ]+movq WORD PTR \[rsp\],xmm1
211 [       ]*92[   ]+movq BYTE PTR \[rsp\],xmm1
212 [       ]*93[   ]+fnstsw eax
213 [       ]*94[   ]+fnstsw al
214 [       ]*95[   ]+fstsw eax
215 [       ]*96[   ]+fstsw al
216 [       ]*97[   ]+in rax,8
217 [       ]*98[   ]+out 8,rax
218 [       ]*99[   ]+movsx ax, \[rax\]
219 [       ]*100[  ]+movsx eax, \[rax\]
220 [       ]*101[  ]+movsx rax, \[rax\]
221 [       ]*102[  ]+movzx ax, \[rax\]
222 [       ]*103[  ]+movzx eax, \[rax\]
223 [       ]*104[  ]+movzx rax, \[rax\]
224 [       ]*105[  ]+movnti word ptr \[rax\], ax
225 [       ]*106[  ]+calld eax     \# 32-bit data size not allowed
226 [       ]*107[  ]+calld \[ax\]  \# 32-bit data size not allowed
227 [       ]*108[  ]+calld \[eax\] \# 32-bit data size not allowed
228 [       ]*109[  ]+calld \[r8\]  \# 32-bit data size not allowed
229 [       ]*110[  ]+calld \[rax\] \# 32-bit data size not allowed
230 [       ]*111[  ]+callq \[ax\]  \# no 16-bit addressing
231 [       ]*112[  ]+jmpd eax      \# 32-bit data size not allowed
232 [       ]*113[  ]+jmpd \[ax\]   \# 32-bit data size not allowed
233 [       ]*114[  ]+jmpd \[eax\]  \# 32-bit data size not allowed
234 \fGAS LISTING .*
235
236
237 [       ]*115[  ]+jmpd \[r8\]   \# 32-bit data size not allowed
238 [       ]*116[  ]+jmpd \[rax\]  \# 32-bit data size not allowed
239 [       ]*117[  ]+jmpq \[ax\]   \# no 16-bit addressing
240 [       ]*[1-9][0-9]*[  ]+mov eax,\[rax\+0x876543210\] \# out of range displacement
241 [       ]*[1-9][0-9]*[  ]+
242 [       ]*[1-9][0-9]*[  ]+\.att_syntax prefix
243 [       ]*[1-9][0-9]*[  ]+movsd \(%rsi\), %ss:\(%rdi\), %ss:\(%rax\)