Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Side by Side Diff: src/trusted/validator_x86/testdata/64/prefix-2.tf

Issue 10908137: (abandoned) Validator tests: convert hexes to TFs and run on bots (for prod. validator only) (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: restore 'read overflow' and 'SegmentationError' Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 BITS: 64
2 OUTCOME: invalid
3
4 # 2 prefixes of the same type
5 # lock lock add %eax,(%rsp)
6 hex: F0 F0 01 04 24
7 nc_out: ERROR: More than one (non-REX) prefix byte specified
8 nc_out: ERROR: Duplicating a prefix byte is not allowed by Native Client
9
10 # mov %edi,%edi
11 # lea (%r15,%rdi),%rdi
12 # rep rep stos %eax,%es:(%rdi)
13 asm: mov %edi,%edi
14 hex: 89 FF
15
16 asm: lea (%r15,%rdi,1),%rdi
17 hex: 49 8D 3C 3F
18
19 hex: F3 F3 AB
20 nc_out: ERROR: More than one (non-REX) prefix byte specified
21 nc_out: ERROR: Duplicating a prefix byte is not allowed by Native Client
22
23 # mov %edi,%edi
24 # lea (%r15,%rdi),%rdi
25 # repne rep stos %eax,%es:(%rdi)
26 asm: mov %edi,%edi
27 hex: 89 FF
28
29 asm: lea (%r15,%rdi,1),%rdi
30 hex: 49 8D 3C 3F
31
32 hex: F2 F3 AB
33 nc_out: ERROR: More than one (non-REX) prefix byte specified
34 nc_out: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Native Cl ient
35
36 # mov %edi,%edi
37 # lea (%r15,%rdi),%rdi
38 # rep repne scas %es:(%rdi),%al
39 asm: mov %edi,%edi
40 hex: 89 FF
41
42 asm: lea (%r15,%rdi,1),%rdi
43 hex: 49 8D 3C 3F
44
45 hex: F3 F2 AE
46 nc_out: ERROR: More than one (non-REX) prefix byte specified
47
48 # fs gs mov %eax,%eax
49 asm: fs; gs; mov %eax,%eax
50 hex: 64 65 89 C0
51 nc_out: ERROR: More than one (non-REX) prefix byte specified
52 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
53 nc_out: ERROR: Specifying different segment registers using prefix bytes is not allowed by Native Client
54
55 # 0x66 mov %ax,%ax
56 hex: 66 66 89 C0
57 nc_out: ERROR: More than one (non-REX) prefix byte specified
58 nc_out: ERROR: Duplicating a prefix byte is not allowed by Native Client
59
60 # 0x67 mov %eax,(%esp)
61 hex: 67 67 89 04 24
62 nc_out: ERROR: More than one (non-REX) prefix byte specified
63 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
64 nc_out: ERROR: Duplicating a prefix byte is not allowed by Native Client
65 nc_out: ERROR: Assignment to non-64 bit memory address
66
67 # rex rex jmp $
68 hex: 40 40 EB FD
69 nc_out: ERROR: Multiple use of REX prefix not allowed
70 nc_out: [at +1] Bad jump target
71
72
73 # 2 prefixes of different type
74 # lock add %eax, %ss:(%rsp)
75 hex: 36 F0 01 04 24
76 nc_out: ERROR: More than one (non-REX) prefix byte specified
77 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
78
79 hex: F0 36 01 04 24
80 nc_out: ERROR: More than one (non-REX) prefix byte specified
81 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
82
83
84 # Nops for bundle alignment.
85 asm: nop; nop; nop
86 hex: 90 90 90
87
88
89 # mov %edi,%edi
90 # lea (%r15,%rdi),%rdi
91 # es rep stos %eax,%es:(%rdi)
92 asm: mov %edi,%edi
93 hex: 89 FF
94
95 asm: lea (%r15,%rdi,1),%rdi
96 hex: 49 8D 3C 3F
97 nc_out: Bad basic block alignment.
98
99 hex: 26 F3 AB
100 nc_out: ERROR: More than one (non-REX) prefix byte specified
101 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
102
103 asm: mov %edi,%edi
104 hex: 89 FF
105
106 asm: lea (%r15,%rdi,1),%rdi
107 hex: 49 8D 3C 3F
108
109 hex: F3 26 AB
110 nc_out: ERROR: More than one (non-REX) prefix byte specified
111 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
112
113 # lock add %ax, (%rsp)
114 asm: lock add %ax,(%rsp)
115 hex: 66 F0 01 04 24
116
117 hex: F0 66 01 04 24
118
119 # Doesn't validate due to bug.
120 # mov %edi,%edi
121 # lea (%r15,%rdi),%rdi
122 # rep stosw %ax,%es:(%rdi)
123 asm: mov %edi,%edi
124 hex: 89 FF
125
126 asm: lea (%r15,%rdi,1),%rdi
127 hex: 49 8D 3C 3F
128
129 asm: rep stos %ax,%es:(%rdi)
130 hex: 66 F3 AB
131 nc_out: ERROR: More than one (non-REX) prefix byte specified
132 nc_out: Bad basic block alignment.
133
134 asm: mov %edi,%edi
135 hex: 89 FF
136
137 asm: lea (%r15,%rdi,1),%rdi
138 hex: 49 8D 3C 3F
139
140 hex: F3 66 AB
141 nc_out: ERROR: More than one (non-REX) prefix byte specified
142
143 # lock add %eax, (%esp)
144 asm: lock addr32 add %eax,(%esp)
145 hex: 67 F0 01 04 24
146 nc_out: ERROR: More than one (non-REX) prefix byte specified
147 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
148 nc_out: ERROR: Assignment to non-64 bit memory address
149
150 hex: F0 67 01 04 24
151 nc_out: ERROR: More than one (non-REX) prefix byte specified
152 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
153 nc_out: ERROR: Assignment to non-64 bit memory address
154
155
156 # Nop for bundle alignment.
157 asm: nop
158 hex: 90
159
160
161 # rep stos %eax, %es:(%edi)
162 asm: mov %edi,%edi
163 hex: 89 FF
164
165 asm: lea (%r15,%rdi,1),%rdi
166 hex: 49 8D 3C 3F
167
168 asm: rep addr32 stos %eax,%es:(%edi)
169 hex: 67 F3 AB
170 nc_out: ERROR: More than one (non-REX) prefix byte specified
171 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
172 nc_out: ERROR: Assignment to non-64 bit segment address
173
174 asm: mov %edi,%edi
175 hex: 89 FF
176
177 asm: lea (%r15,%rdi,1),%rdi
178 hex: 49 8D 3C 3F
179
180 hex: F3 67 AB
181 nc_out: ERROR: More than one (non-REX) prefix byte specified
182 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
183 nc_out: ERROR: Assignment to non-64 bit segment address
184
185 # lock add %rax, (%rsp)
186 asm: lock add %rax,(%rsp)
187 hex: f0 48 01 04 24
188
189 asm: rex.W; lock add %eax,(%rsp)
190 hex: 48 f0 01 04 24
191 nc_out: ERROR: REX prefix byte must appear last
192
193 # mov %edi,%edi
194 # lea (%r15,%rdi),%rdi
195 # rep stos %rax,%es:(%rdi)
196 asm: mov %edi,%edi
197 hex: 89 FF
198
199 asm: lea (%r15,%rdi,1),%rdi
200 hex: 49 8D 3C 3F
201
202 asm: rep stos %rax,%es:(%rdi)
203 hex: F3 48 AB
204
205 # fs mov %ax,%ax
206 asm: fs; mov %ax,%ax
207 hex: 64 66 89 C0
208 nc_out: ERROR: More than one (non-REX) prefix byte specified
209 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
210
211 asm: data16; fs; mov %eax,%eax
212 hex: 66 64 89 C0
213 nc_out: ERROR: More than one (non-REX) prefix byte specified
214 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
215
216 # fs add %eax, (%esp)
217 hex: 67 64 01 04 24
218 nc_out: ERROR: More than one (non-REX) prefix byte specified
219 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
220 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
221 nc_out: ERROR: Assignment to non-64 bit segment address
222
223 asm: addr32 add %eax,%fs:(%esp)
224 hex: 64 67 01 04 24
225 nc_out: ERROR: More than one (non-REX) prefix byte specified
226 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
227 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
228 nc_out: ERROR: Assignment to non-64 bit segment address
229
230 # fs mov %rax,%rax
231 asm: fs; mov %rax,%rax
232 hex: 64 48 89 C0
233 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
234
235 asm: rex.W; fs; mov %eax,%eax
236 hex: 48 64 89 C0
237 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
238 nc_out: ERROR: REX prefix byte must appear last
239
240 # add %ax, (%esp)
241 hex: 66 67 01 04 24
242 nc_out: ERROR: More than one (non-REX) prefix byte specified
243 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
244 nc_out: ERROR: Assignment to non-64 bit memory address
245
246 asm: addr32 add %ax,(%esp)
247 hex: 67 66 01 04 24
248 nc_out: ERROR: More than one (non-REX) prefix byte specified
249 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
250 nc_out: ERROR: Assignment to non-64 bit memory address
251
252 # mov %r15l, (%rsp)
253 asm: mov %r15w,(%rsp)
254 hex: 66 44 89 3C 24
255
256 asm: rex.R; mov %di,(%rsp)
257 hex: 44 66 89 3C 24
258 nc_out: ERROR: REX prefix byte must appear last
259
260 # mov %r15, (%esp)
261 asm: addr32 mov %r15,(%esp)
262 hex: 67 4C 89 3C 24
263 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
264 nc_out: ERROR: Assignment to non-64 bit memory address
265
266 asm: rex.WR; addr32 mov %edi,(%esp)
267 hex: 4C 67 89 3C 24
268 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
269 nc_out: ERROR: REX prefix byte must appear last
270 nc_out: ERROR: Assignment to non-64 bit memory address
271
272
273 # 2 prefixes when one is mandatory
274 # fs phaddw %xmm0,%xmm1
275 asm: fs; phaddw %xmm0,%xmm1
276 hex: 64 66 0F 38 01 C8
277 nc_out: ERROR: More than one (non-REX) prefix byte specified
278 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
279
280 # fs addsd %xmm0,%xmm1
281 asm: fs; addsd %xmm0,%xmm1
282 hex: 64 F2 0F 58 C8
283 nc_out: ERROR: More than one (non-REX) prefix byte specified
284 nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
285
286 # 0x66 phaddw %xmm0,%xmm1
287 hex: 66 66 0F 38 01 C8
288 nc_out: ERROR: More than one (non-REX) prefix byte specified
289 nc_out: ERROR: Duplicating a prefix byte is not allowed by Native Client
290 nc_out: [at +1] Bad basic block alignment.
291
292 # 0x66 addsd %xmm0,%xmm1
293 asm: data16; addsd %xmm0,%xmm1
294 hex: 66 F2 0F 58 C8
295 nc_out: ERROR: More than one (non-REX) prefix byte specified
296 nc_out: ERROR: Use of DATA16 (66) prefix for instruction not allowed by Native C lient
297
298 # phaddw (%esp), %xmm0
299 asm: addr32 phaddw (%esp),%xmm0
300 hex: 67 66 0f 38 01 04 24
301 nc_out: ERROR: More than one (non-REX) prefix byte specified
302 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
303 nc_out: ERROR: Assignment to non-64 bit memory address
304
305 # addsd (%esp), %xmm0
306 asm: addr32 addsd (%esp),%xmm0
307 hex: 67 f2 0f 58 04 24
308 nc_out: ERROR: More than one (non-REX) prefix byte specified
309 nc_out: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
310 nc_out: ERROR: Assignment to non-64 bit memory address
311
312 # mov %eax,%eax
313 # phaddw (%r15,%rax),%xmm0
314 asm: mov %eax,%eax
315 hex: 89 C0
316
317 asm: phaddw (%r15,%rax,1),%xmm0
318 hex: 66 41 0F 38 01 04 07
319
320 asm: mov %eax,%eax
321 hex: 89 C0
322
323 asm: rex.B; phaddw (%rdi,%rax,1),%xmm0
324 hex: 41 66 0F 38 01 04 07
325 nc_out: ERROR: REX prefix byte must appear last
326
327 # mov %eax,%eax
328 # addsd (%r15,%rax),%xmm0
329 asm: mov %eax,%eax
330 hex: 89 C0
331
332 asm: addsd (%r15,%rax,1),%xmm0
333 hex: F2 41 0F 58 04 07
334
335 asm: mov %eax,%eax
336 hex: 89 C0
337
338 asm: rex.B; addsd (%rdi,%rax,1),%xmm0
339 hex: 41 F2 0F 58 04 07
340 nc_out: ERROR: REX prefix byte must appear last
341
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698