[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / MC / X86 / I386-64.s
blobb626534f6ebd61107098a7a01a80a7cbafc9cba2
1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
3 // CHECK: bsfw %r13w, %r13w
4 // CHECK: encoding: [0x66,0x45,0x0f,0xbc,0xed]
5 bsfw %r13w, %r13w
7 // CHECK: bsrw %r13w, %r13w
8 // CHECK: encoding: [0x66,0x45,0x0f,0xbd,0xed]
9 bsrw %r13w, %r13w
11 // CHECK: bsfl %r13d, %r13d
12 // CHECK: encoding: [0x45,0x0f,0xbc,0xed]
13 bsfl %r13d, %r13d
15 // CHECK: bsrl %r13d, %r13d
16 // CHECK: encoding: [0x45,0x0f,0xbd,0xed]
17 bsrl %r13d, %r13d
19 // CHECK: bsfq %r13, %r13
20 // CHECK: encoding: [0x4d,0x0f,0xbc,0xed]
21 bsfq %r13, %r13
23 // CHECK: bsrq %r13, %r13
24 // CHECK: encoding: [0x4d,0x0f,0xbd,0xed]
25 bsrq %r13, %r13
28 // CHECK: btcw $0, %r13w
29 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xfd,0x00]
30 btcw $0, %r13w
32 // CHECK: btcw $255, %r13w
33 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xfd,0xff]
34 btcw $-1, %r13w
36 // CHECK: btcw $255, %r13w
37 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xfd,0xff]
38 btcw $255, %r13w
40 // CHECK: btcw %r13w, %r13w
41 // CHECK: encoding: [0x66,0x45,0x0f,0xbb,0xed]
42 btcw %r13w, %r13w
44 // CHECK: btw $0, %r13w
45 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xe5,0x00]
46 btw $0, %r13w
48 // CHECK: btw $255, %r13w
49 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xe5,0xff]
50 btw $-1, %r13w
52 // CHECK: btw $255, %r13w
53 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xe5,0xff]
54 btw $255, %r13w
56 // CHECK: btw %r13w, %r13w
57 // CHECK: encoding: [0x66,0x45,0x0f,0xa3,0xed]
58 btw %r13w, %r13w
60 // CHECK: btrw $0, %r13w
61 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xf5,0x00]
62 btrw $0, %r13w
64 // CHECK: btrw $255, %r13w
65 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xf5,0xff]
66 btrw $-1, %r13w
68 // CHECK: btrw $255, %r13w
69 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xf5,0xff]
70 btrw $255, %r13w
72 // CHECK: btrw %r13w, %r13w
73 // CHECK: encoding: [0x66,0x45,0x0f,0xb3,0xed]
74 btrw %r13w, %r13w
76 // CHECK: btsw $0, %r13w
77 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xed,0x00]
78 btsw $0, %r13w
80 // CHECK: btsw $255, %r13w
81 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xed,0xff]
82 btsw $-1, %r13w
84 // CHECK: btsw $255, %r13w
85 // CHECK: encoding: [0x66,0x41,0x0f,0xba,0xed,0xff]
86 btsw $255, %r13w
88 // CHECK: btsw %r13w, %r13w
89 // CHECK: encoding: [0x66,0x45,0x0f,0xab,0xed]
90 btsw %r13w, %r13w
92 // CHECK: btcl $0, %r13d
93 // CHECK: encoding: [0x41,0x0f,0xba,0xfd,0x00]
94 btcl $0, %r13d
96 // CHECK: btcl $255, %r13d
97 // CHECK: encoding: [0x41,0x0f,0xba,0xfd,0xff]
98 btcl $-1, %r13d
100 // CHECK: btcl $255, %r13d
101 // CHECK: encoding: [0x41,0x0f,0xba,0xfd,0xff]
102 btcl $255, %r13d
104 // CHECK: btcl %r13d, %r13d
105 // CHECK: encoding: [0x45,0x0f,0xbb,0xed]
106 btcl %r13d, %r13d
108 // CHECK: btl $0, %r13d
109 // CHECK: encoding: [0x41,0x0f,0xba,0xe5,0x00]
110 btl $0, %r13d
112 // CHECK: btl $255, %r13d
113 // CHECK: encoding: [0x41,0x0f,0xba,0xe5,0xff]
114 btl $-1, %r13d
116 // CHECK: btl $255, %r13d
117 // CHECK: encoding: [0x41,0x0f,0xba,0xe5,0xff]
118 btl $255, %r13d
120 // CHECK: btl %r13d, %r13d
121 // CHECK: encoding: [0x45,0x0f,0xa3,0xed]
122 btl %r13d, %r13d
124 // CHECK: btrl $0, %r13d
125 // CHECK: encoding: [0x41,0x0f,0xba,0xf5,0x00]
126 btrl $0, %r13d
128 // CHECK: btrl $255, %r13d
129 // CHECK: encoding: [0x41,0x0f,0xba,0xf5,0xff]
130 btrl $-1, %r13d
132 // CHECK: btrl $255, %r13d
133 // CHECK: encoding: [0x41,0x0f,0xba,0xf5,0xff]
134 btrl $255, %r13d
136 // CHECK: btrl %r13d, %r13d
137 // CHECK: encoding: [0x45,0x0f,0xb3,0xed]
138 btrl %r13d, %r13d
140 // CHECK: btsl $0, %r13d
141 // CHECK: encoding: [0x41,0x0f,0xba,0xed,0x00]
142 btsl $0, %r13d
144 // CHECK: btsl $255, %r13d
145 // CHECK: encoding: [0x41,0x0f,0xba,0xed,0xff]
146 btsl $-1, %r13d
148 // CHECK: btsl $255, %r13d
149 // CHECK: encoding: [0x41,0x0f,0xba,0xed,0xff]
150 btsl $255, %r13d
152 // CHECK: btsl %r13d, %r13d
153 // CHECK: encoding: [0x45,0x0f,0xab,0xed]
154 btsl %r13d, %r13d
156 // CHECK: btcq $0, %r13
157 // CHECK: encoding: [0x49,0x0f,0xba,0xfd,0x00]
158 btcq $0, %r13
160 // CHECK: btcq $255, %r13
161 // CHECK: encoding: [0x49,0x0f,0xba,0xfd,0xff]
162 btcq $-1, %r13
164 // CHECK: btcq $255, %r13
165 // CHECK: encoding: [0x49,0x0f,0xba,0xfd,0xff]
166 btcq $255, %r13
168 // CHECK: btcq %r13, %r13
169 // CHECK: encoding: [0x4d,0x0f,0xbb,0xed]
170 btcq %r13, %r13
172 // CHECK: btq $0, %r13
173 // CHECK: encoding: [0x49,0x0f,0xba,0xe5,0x00]
174 btq $0, %r13
176 // CHECK: btq $255, %r13
177 // CHECK: encoding: [0x49,0x0f,0xba,0xe5,0xff]
178 btq $-1, %r13
180 // CHECK: btq $255, %r13
181 // CHECK: encoding: [0x49,0x0f,0xba,0xe5,0xff]
182 btq $255, %r13
184 // CHECK: btq %r13, %r13
185 // CHECK: encoding: [0x4d,0x0f,0xa3,0xed]
186 btq %r13, %r13
188 // CHECK: btrq $0, %r13
189 // CHECK: encoding: [0x49,0x0f,0xba,0xf5,0x00]
190 btrq $0, %r13
192 // CHECK: btrq $255, %r13
193 // CHECK: encoding: [0x49,0x0f,0xba,0xf5,0xff]
194 btrq $-1, %r13
196 // CHECK: btrq $255, %r13
197 // CHECK: encoding: [0x49,0x0f,0xba,0xf5,0xff]
198 btrq $255, %r13
200 // CHECK: btrq %r13, %r13
201 // CHECK: encoding: [0x4d,0x0f,0xb3,0xed]
202 btrq %r13, %r13
204 // CHECK: btsq $0, %r13
205 // CHECK: encoding: [0x49,0x0f,0xba,0xed,0x00]
206 btsq $0, %r13
208 // CHECK: btsq $255, %r13
209 // CHECK: encoding: [0x49,0x0f,0xba,0xed,0xff]
210 btsq $-1, %r13
212 // CHECK: btsq $255, %r13
213 // CHECK: encoding: [0x49,0x0f,0xba,0xed,0xff]
214 btsq $255, %r13
216 // CHECK: btsq %r13, %r13
217 // CHECK: encoding: [0x4d,0x0f,0xab,0xed]
218 btsq %r13, %r13
220 // CHECK: cmpsb %es:(%rdi), %gs:(%rsi)
221 // CHECK: encoding: [0x65,0xa6]
222 cmpsb %es:(%rdi), %gs:(%rsi)
224 // CHECK: cmpsl %es:(%rdi), %gs:(%rsi)
225 // CHECK: encoding: [0x65,0xa7]
226 cmpsl %es:(%rdi), %gs:(%rsi)
228 // CHECK: cmpsq %es:(%rdi), %gs:(%rsi)
229 // CHECK: encoding: [0x48,0x65,0xa7]
230 cmpsq %es:(%rdi), %gs:(%rsi)
232 // CHECK: cmpsw %es:(%rdi), %gs:(%rsi)
233 // CHECK: encoding: [0x66,0x65,0xa7]
234 cmpsw %es:(%rdi), %gs:(%rsi)
236 // CHECK: insb %dx, %es:(%rdi)
237 // CHECK: encoding: [0x6c]
238 insb %dx, %es:(%rdi)
240 // CHECK: insl %dx, %es:(%rdi)
241 // CHECK: encoding: [0x6d]
242 insl %dx, %es:(%rdi)
244 // CHECK: insw %dx, %es:(%rdi)
245 // CHECK: encoding: [0x66,0x6d]
246 insw %dx, %es:(%rdi)
248 // CHECK: iretl
249 // CHECK: encoding: [0xcf]
250 iretl
252 // CHECK: iretq
253 // CHECK: encoding: [0x48,0xcf]
254 iretq
256 // CHECK: iretw
257 // CHECK: encoding: [0x66,0xcf]
258 iretw
260 // CHECK: lodsl %gs:(%rsi), %eax
261 // CHECK: encoding: [0x65,0xad]
262 lodsl %gs:(%rsi), %eax
264 // CHECK: lzcntl %r13d, %r13d
265 // CHECK: encoding: [0xf3,0x45,0x0f,0xbd,0xed]
266 lzcntl %r13d, %r13d
268 // CHECK: movsb %gs:(%rsi), %es:(%rdi)
269 // CHECK: encoding: [0x65,0xa4]
270 movsb %gs:(%rsi), %es:(%rdi)
272 // CHECK: movsbl 485498096, %r13d
273 // CHECK: encoding: [0x44,0x0f,0xbe,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
274 movsbl 485498096, %r13d
276 // CHECK: movsbl 64(%rdx), %r13d
277 // CHECK: encoding: [0x44,0x0f,0xbe,0x6a,0x40]
278 movsbl 64(%rdx), %r13d
280 // CHECK: movsbl 64(%rdx,%rax,4), %r13d
281 // CHECK: encoding: [0x44,0x0f,0xbe,0x6c,0x82,0x40]
282 movsbl 64(%rdx,%rax,4), %r13d
284 // CHECK: movsbl -64(%rdx,%rax,4), %r13d
285 // CHECK: encoding: [0x44,0x0f,0xbe,0x6c,0x82,0xc0]
286 movsbl -64(%rdx,%rax,4), %r13d
288 // CHECK: movsbl 64(%rdx,%rax), %r13d
289 // CHECK: encoding: [0x44,0x0f,0xbe,0x6c,0x02,0x40]
290 movsbl 64(%rdx,%rax), %r13d
292 // CHECK: movsbl %r11b, %r13d
293 // CHECK: encoding: [0x45,0x0f,0xbe,0xeb]
294 movsbl %r11b, %r13d
296 // CHECK: movsbl %r14b, %r13d
297 // CHECK: encoding: [0x45,0x0f,0xbe,0xee]
298 movsbl %r14b, %r13d
300 // CHECK: movsbl (%rdx), %r13d
301 // CHECK: encoding: [0x44,0x0f,0xbe,0x2a]
302 movsbl (%rdx), %r13d
304 // CHECK: movsl %gs:(%rsi), %es:(%rdi)
305 // CHECK: encoding: [0x65,0xa5]
306 movsl %gs:(%rsi), %es:(%rdi)
308 // CHECK: movsq %gs:(%rsi), %es:(%rdi)
309 // CHECK: encoding: [0x48,0x65,0xa5]
310 movsq %gs:(%rsi), %es:(%rdi)
312 // CHECK: movsw %gs:(%rsi), %es:(%rdi)
313 // CHECK: encoding: [0x66,0x65,0xa5]
314 movsw %gs:(%rsi), %es:(%rdi)
316 // CHECK: movswl 485498096, %r13d
317 // CHECK: encoding: [0x44,0x0f,0xbf,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
318 movswl 485498096, %r13d
320 // CHECK: movswl 64(%rdx), %r13d
321 // CHECK: encoding: [0x44,0x0f,0xbf,0x6a,0x40]
322 movswl 64(%rdx), %r13d
324 // CHECK: movswl 64(%rdx,%rax,4), %r13d
325 // CHECK: encoding: [0x44,0x0f,0xbf,0x6c,0x82,0x40]
326 movswl 64(%rdx,%rax,4), %r13d
328 // CHECK: movswl -64(%rdx,%rax,4), %r13d
329 // CHECK: encoding: [0x44,0x0f,0xbf,0x6c,0x82,0xc0]
330 movswl -64(%rdx,%rax,4), %r13d
332 // CHECK: movswl 64(%rdx,%rax), %r13d
333 // CHECK: encoding: [0x44,0x0f,0xbf,0x6c,0x02,0x40]
334 movswl 64(%rdx,%rax), %r13d
336 // CHECK: movswl %r11w, %r13d
337 // CHECK: encoding: [0x45,0x0f,0xbf,0xeb]
338 movswl %r11w, %r13d
340 // CHECK: movswl %r14w, %r13d
341 // CHECK: encoding: [0x45,0x0f,0xbf,0xee]
342 movswl %r14w, %r13d
344 // CHECK: movswl (%rdx), %r13d
345 // CHECK: encoding: [0x44,0x0f,0xbf,0x2a]
346 movswl (%rdx), %r13d
348 // CHECK: movzbl 485498096, %r13d
349 // CHECK: encoding: [0x44,0x0f,0xb6,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
350 movzbl 485498096, %r13d
352 // CHECK: movzbl 64(%rdx), %r13d
353 // CHECK: encoding: [0x44,0x0f,0xb6,0x6a,0x40]
354 movzbl 64(%rdx), %r13d
356 // CHECK: movzbl 64(%rdx,%rax,4), %r13d
357 // CHECK: encoding: [0x44,0x0f,0xb6,0x6c,0x82,0x40]
358 movzbl 64(%rdx,%rax,4), %r13d
360 // CHECK: movzbl -64(%rdx,%rax,4), %r13d
361 // CHECK: encoding: [0x44,0x0f,0xb6,0x6c,0x82,0xc0]
362 movzbl -64(%rdx,%rax,4), %r13d
364 // CHECK: movzbl 64(%rdx,%rax), %r13d
365 // CHECK: encoding: [0x44,0x0f,0xb6,0x6c,0x02,0x40]
366 movzbl 64(%rdx,%rax), %r13d
368 // CHECK: movzbl %r11b, %r13d
369 // CHECK: encoding: [0x45,0x0f,0xb6,0xeb]
370 movzbl %r11b, %r13d
372 // CHECK: movzbl %r14b, %r13d
373 // CHECK: encoding: [0x45,0x0f,0xb6,0xee]
374 movzbl %r14b, %r13d
376 // CHECK: movzbl (%rdx), %r13d
377 // CHECK: encoding: [0x44,0x0f,0xb6,0x2a]
378 movzbl (%rdx), %r13d
380 // CHECK: movzwl 485498096, %r13d
381 // CHECK: encoding: [0x44,0x0f,0xb7,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
382 movzwl 485498096, %r13d
384 // CHECK: movzwl 64(%rdx), %r13d
385 // CHECK: encoding: [0x44,0x0f,0xb7,0x6a,0x40]
386 movzwl 64(%rdx), %r13d
388 // CHECK: movzwl 64(%rdx,%rax,4), %r13d
389 // CHECK: encoding: [0x44,0x0f,0xb7,0x6c,0x82,0x40]
390 movzwl 64(%rdx,%rax,4), %r13d
392 // CHECK: movzwl -64(%rdx,%rax,4), %r13d
393 // CHECK: encoding: [0x44,0x0f,0xb7,0x6c,0x82,0xc0]
394 movzwl -64(%rdx,%rax,4), %r13d
396 // CHECK: movzwl 64(%rdx,%rax), %r13d
397 // CHECK: encoding: [0x44,0x0f,0xb7,0x6c,0x02,0x40]
398 movzwl 64(%rdx,%rax), %r13d
400 // CHECK: movzwl %r11w, %r13d
401 // CHECK: encoding: [0x45,0x0f,0xb7,0xeb]
402 movzwl %r11w, %r13d
404 // CHECK: movzwl %r14w, %r13d
405 // CHECK: encoding: [0x45,0x0f,0xb7,0xee]
406 movzwl %r14w, %r13d
408 // CHECK: movzwl (%rdx), %r13d
409 // CHECK: encoding: [0x44,0x0f,0xb7,0x2a]
410 movzwl (%rdx), %r13d
412 // CHECK: outsb %gs:(%rsi), %dx
413 // CHECK: encoding: [0x65,0x6e]
414 outsb %gs:(%rsi), %dx
416 // CHECK: outsl %gs:(%rsi), %dx
417 // CHECK: encoding: [0x65,0x6f]
418 outsl %gs:(%rsi), %dx
420 // CHECK: outsw %gs:(%rsi), %dx
421 // CHECK: encoding: [0x66,0x65,0x6f]
422 outsw %gs:(%rsi), %dx
424 // CHECK: rep cmpsb %es:(%rdi), %gs:(%rsi)
425 // CHECK: encoding: [0xf3,0x65,0xa6]
426 rep cmpsb %es:(%rdi), %gs:(%rsi)
428 // CHECK: rep cmpsl %es:(%rdi), %gs:(%rsi)
429 // CHECK: encoding: [0xf3,0x65,0xa7]
430 rep cmpsl %es:(%rdi), %gs:(%rsi)
432 // CHECK: rep cmpsq %es:(%rdi), %gs:(%rsi)
433 // CHECK: encoding: [0xf3,0x48,0x65,0xa7]
434 rep cmpsq %es:(%rdi), %gs:(%rsi)
436 // CHECK: rep cmpsw %es:(%rdi), %gs:(%rsi)
437 // CHECK: encoding: [0xf3,0x66,0x65,0xa7]
438 rep cmpsw %es:(%rdi), %gs:(%rsi)
440 // CHECK: rep insb %dx, %es:(%rdi)
441 // CHECK: encoding: [0xf3,0x6c]
442 rep insb %dx, %es:(%rdi)
444 // CHECK: rep insl %dx, %es:(%rdi)
445 // CHECK: encoding: [0xf3,0x6d]
446 rep insl %dx, %es:(%rdi)
448 // CHECK: rep insw %dx, %es:(%rdi)
449 // CHECK: encoding: [0xf3,0x66,0x6d]
450 rep insw %dx, %es:(%rdi)
452 // CHECK: rep lodsl %gs:(%rsi), %eax
453 // CHECK: encoding: [0xf3,0x65,0xad]
454 rep lodsl %gs:(%rsi), %eax
456 // CHECK: rep movsb %gs:(%rsi), %es:(%rdi)
457 // CHECK: encoding: [0xf3,0x65,0xa4]
458 rep movsb %gs:(%rsi), %es:(%rdi)
460 // CHECK: rep movsl %gs:(%rsi), %es:(%rdi)
461 // CHECK: encoding: [0xf3,0x65,0xa5]
462 rep movsl %gs:(%rsi), %es:(%rdi)
464 // CHECK: rep movsq %gs:(%rsi), %es:(%rdi)
465 // CHECK: encoding: [0xf3,0x48,0x65,0xa5]
466 rep movsq %gs:(%rsi), %es:(%rdi)
468 // CHECK: rep movsw %gs:(%rsi), %es:(%rdi)
469 // CHECK: encoding: [0xf3,0x66,0x65,0xa5]
470 rep movsw %gs:(%rsi), %es:(%rdi)
472 // CHECK: repne cmpsb %es:(%rdi), %gs:(%rsi)
473 // CHECK: encoding: [0xf2,0x65,0xa6]
474 repne cmpsb %es:(%rdi), %gs:(%rsi)
476 // CHECK: repne cmpsl %es:(%rdi), %gs:(%rsi)
477 // CHECK: encoding: [0xf2,0x65,0xa7]
478 repne cmpsl %es:(%rdi), %gs:(%rsi)
480 // CHECK: repne cmpsq %es:(%rdi), %gs:(%rsi)
481 // CHECK: encoding: [0xf2,0x48,0x65,0xa7]
482 repne cmpsq %es:(%rdi), %gs:(%rsi)
484 // CHECK: repne cmpsw %es:(%rdi), %gs:(%rsi)
485 // CHECK: encoding: [0xf2,0x66,0x65,0xa7]
486 repne cmpsw %es:(%rdi), %gs:(%rsi)
488 // CHECK: repne insb %dx, %es:(%rdi)
489 // CHECK: encoding: [0xf2,0x6c]
490 repne insb %dx, %es:(%rdi)
492 // CHECK: repne insl %dx, %es:(%rdi)
493 // CHECK: encoding: [0xf2,0x6d]
494 repne insl %dx, %es:(%rdi)
496 // CHECK: repne insw %dx, %es:(%rdi)
497 // CHECK: encoding: [0xf2,0x66,0x6d]
498 repne insw %dx, %es:(%rdi)
500 // CHECK: repne lodsl %gs:(%rsi), %eax
501 // CHECK: encoding: [0xf2,0x65,0xad]
502 repne lodsl %gs:(%rsi), %eax
504 // CHECK: repne movsb %gs:(%rsi), %es:(%rdi)
505 // CHECK: encoding: [0xf2,0x65,0xa4]
506 repne movsb %gs:(%rsi), %es:(%rdi)
508 // CHECK: repne movsl %gs:(%rsi), %es:(%rdi)
509 // CHECK: encoding: [0xf2,0x65,0xa5]
510 repne movsl %gs:(%rsi), %es:(%rdi)
512 // CHECK: repne movsq %gs:(%rsi), %es:(%rdi)
513 // CHECK: encoding: [0xf2,0x48,0x65,0xa5]
514 repne movsq %gs:(%rsi), %es:(%rdi)
516 // CHECK: repne movsw %gs:(%rsi), %es:(%rdi)
517 // CHECK: encoding: [0xf2,0x66,0x65,0xa5]
518 repne movsw %gs:(%rsi), %es:(%rdi)
520 // CHECK: repne outsb %gs:(%rsi), %dx
521 // CHECK: encoding: [0xf2,0x65,0x6e]
522 repne outsb %gs:(%rsi), %dx
524 // CHECK: repne outsl %gs:(%rsi), %dx
525 // CHECK: encoding: [0xf2,0x65,0x6f]
526 repne outsl %gs:(%rsi), %dx
528 // CHECK: repne outsw %gs:(%rsi), %dx
529 // CHECK: encoding: [0xf2,0x66,0x65,0x6f]
530 repne outsw %gs:(%rsi), %dx
532 // CHECK: repne scasl %es:(%rdi), %eax
533 // CHECK: encoding: [0xf2,0xaf]
534 repne scasl %es:(%rdi), %eax
536 // CHECK: repne stosl %eax, %es:(%rdi)
537 // CHECK: encoding: [0xf2,0xab]
538 repne stosl %eax, %es:(%rdi)
540 // CHECK: rep outsb %gs:(%rsi), %dx
541 // CHECK: encoding: [0xf3,0x65,0x6e]
542 rep outsb %gs:(%rsi), %dx
544 // CHECK: rep outsl %gs:(%rsi), %dx
545 // CHECK: encoding: [0xf3,0x65,0x6f]
546 rep outsl %gs:(%rsi), %dx
548 // CHECK: rep outsw %gs:(%rsi), %dx
549 // CHECK: encoding: [0xf3,0x66,0x65,0x6f]
550 rep outsw %gs:(%rsi), %dx
552 // CHECK: rep scasl %es:(%rdi), %eax
553 // CHECK: encoding: [0xf3,0xaf]
554 rep scasl %es:(%rdi), %eax
556 // CHECK: rep stosl %eax, %es:(%rdi)
557 // CHECK: encoding: [0xf3,0xab]
558 rep stosl %eax, %es:(%rdi)
560 // CHECK: scasl %es:(%rdi), %eax
561 // CHECK: encoding: [0xaf]
562 scasl %es:(%rdi), %eax
564 // CHECK: seta 485498096
565 // CHECK: encoding: [0x0f,0x97,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
566 seta 485498096
568 // CHECK: seta 64(%rdx)
569 // CHECK: encoding: [0x0f,0x97,0x42,0x40]
570 seta 64(%rdx)
572 // CHECK: seta 64(%rdx,%rax,4)
573 // CHECK: encoding: [0x0f,0x97,0x44,0x82,0x40]
574 seta 64(%rdx,%rax,4)
576 // CHECK: seta -64(%rdx,%rax,4)
577 // CHECK: encoding: [0x0f,0x97,0x44,0x82,0xc0]
578 seta -64(%rdx,%rax,4)
580 // CHECK: seta 64(%rdx,%rax)
581 // CHECK: encoding: [0x0f,0x97,0x44,0x02,0x40]
582 seta 64(%rdx,%rax)
584 // CHECK: setae 485498096
585 // CHECK: encoding: [0x0f,0x93,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
586 setae 485498096
588 // CHECK: setae 64(%rdx)
589 // CHECK: encoding: [0x0f,0x93,0x42,0x40]
590 setae 64(%rdx)
592 // CHECK: setae 64(%rdx,%rax,4)
593 // CHECK: encoding: [0x0f,0x93,0x44,0x82,0x40]
594 setae 64(%rdx,%rax,4)
596 // CHECK: setae -64(%rdx,%rax,4)
597 // CHECK: encoding: [0x0f,0x93,0x44,0x82,0xc0]
598 setae -64(%rdx,%rax,4)
600 // CHECK: setae 64(%rdx,%rax)
601 // CHECK: encoding: [0x0f,0x93,0x44,0x02,0x40]
602 setae 64(%rdx,%rax)
604 // CHECK: setae %r14b
605 // CHECK: encoding: [0x41,0x0f,0x93,0xc6]
606 setae %r14b
608 // CHECK: setae (%rdx)
609 // CHECK: encoding: [0x0f,0x93,0x02]
610 setae (%rdx)
612 // CHECK: seta %r14b
613 // CHECK: encoding: [0x41,0x0f,0x97,0xc6]
614 seta %r14b
616 // CHECK: seta (%rdx)
617 // CHECK: encoding: [0x0f,0x97,0x02]
618 seta (%rdx)
620 // CHECK: setb 485498096
621 // CHECK: encoding: [0x0f,0x92,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
622 setb 485498096
624 // CHECK: setb 64(%rdx)
625 // CHECK: encoding: [0x0f,0x92,0x42,0x40]
626 setb 64(%rdx)
628 // CHECK: setb 64(%rdx,%rax,4)
629 // CHECK: encoding: [0x0f,0x92,0x44,0x82,0x40]
630 setb 64(%rdx,%rax,4)
632 // CHECK: setb -64(%rdx,%rax,4)
633 // CHECK: encoding: [0x0f,0x92,0x44,0x82,0xc0]
634 setb -64(%rdx,%rax,4)
636 // CHECK: setb 64(%rdx,%rax)
637 // CHECK: encoding: [0x0f,0x92,0x44,0x02,0x40]
638 setb 64(%rdx,%rax)
640 // CHECK: setbe 485498096
641 // CHECK: encoding: [0x0f,0x96,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
642 setbe 485498096
644 // CHECK: setbe 64(%rdx)
645 // CHECK: encoding: [0x0f,0x96,0x42,0x40]
646 setbe 64(%rdx)
648 // CHECK: setbe 64(%rdx,%rax,4)
649 // CHECK: encoding: [0x0f,0x96,0x44,0x82,0x40]
650 setbe 64(%rdx,%rax,4)
652 // CHECK: setbe -64(%rdx,%rax,4)
653 // CHECK: encoding: [0x0f,0x96,0x44,0x82,0xc0]
654 setbe -64(%rdx,%rax,4)
656 // CHECK: setbe 64(%rdx,%rax)
657 // CHECK: encoding: [0x0f,0x96,0x44,0x02,0x40]
658 setbe 64(%rdx,%rax)
660 // CHECK: setbe %r14b
661 // CHECK: encoding: [0x41,0x0f,0x96,0xc6]
662 setbe %r14b
664 // CHECK: setbe (%rdx)
665 // CHECK: encoding: [0x0f,0x96,0x02]
666 setbe (%rdx)
668 // CHECK: setb %r14b
669 // CHECK: encoding: [0x41,0x0f,0x92,0xc6]
670 setb %r14b
672 // CHECK: setb (%rdx)
673 // CHECK: encoding: [0x0f,0x92,0x02]
674 setb (%rdx)
676 // CHECK: sete 485498096
677 // CHECK: encoding: [0x0f,0x94,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
678 sete 485498096
680 // CHECK: sete 64(%rdx)
681 // CHECK: encoding: [0x0f,0x94,0x42,0x40]
682 sete 64(%rdx)
684 // CHECK: sete 64(%rdx,%rax,4)
685 // CHECK: encoding: [0x0f,0x94,0x44,0x82,0x40]
686 sete 64(%rdx,%rax,4)
688 // CHECK: sete -64(%rdx,%rax,4)
689 // CHECK: encoding: [0x0f,0x94,0x44,0x82,0xc0]
690 sete -64(%rdx,%rax,4)
692 // CHECK: sete 64(%rdx,%rax)
693 // CHECK: encoding: [0x0f,0x94,0x44,0x02,0x40]
694 sete 64(%rdx,%rax)
696 // CHECK: sete %r14b
697 // CHECK: encoding: [0x41,0x0f,0x94,0xc6]
698 sete %r14b
700 // CHECK: sete (%rdx)
701 // CHECK: encoding: [0x0f,0x94,0x02]
702 sete (%rdx)
704 // CHECK: setg 485498096
705 // CHECK: encoding: [0x0f,0x9f,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
706 setg 485498096
708 // CHECK: setg 64(%rdx)
709 // CHECK: encoding: [0x0f,0x9f,0x42,0x40]
710 setg 64(%rdx)
712 // CHECK: setg 64(%rdx,%rax,4)
713 // CHECK: encoding: [0x0f,0x9f,0x44,0x82,0x40]
714 setg 64(%rdx,%rax,4)
716 // CHECK: setg -64(%rdx,%rax,4)
717 // CHECK: encoding: [0x0f,0x9f,0x44,0x82,0xc0]
718 setg -64(%rdx,%rax,4)
720 // CHECK: setg 64(%rdx,%rax)
721 // CHECK: encoding: [0x0f,0x9f,0x44,0x02,0x40]
722 setg 64(%rdx,%rax)
724 // CHECK: setge 485498096
725 // CHECK: encoding: [0x0f,0x9d,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
726 setge 485498096
728 // CHECK: setge 64(%rdx)
729 // CHECK: encoding: [0x0f,0x9d,0x42,0x40]
730 setge 64(%rdx)
732 // CHECK: setge 64(%rdx,%rax,4)
733 // CHECK: encoding: [0x0f,0x9d,0x44,0x82,0x40]
734 setge 64(%rdx,%rax,4)
736 // CHECK: setge -64(%rdx,%rax,4)
737 // CHECK: encoding: [0x0f,0x9d,0x44,0x82,0xc0]
738 setge -64(%rdx,%rax,4)
740 // CHECK: setge 64(%rdx,%rax)
741 // CHECK: encoding: [0x0f,0x9d,0x44,0x02,0
742 setge 64(%rdx,%rax)
744 // CHECK: setge 64(%rdx,%rax)
745 // CHECK: encoding: [0x0f,0x9d,0x44,0x02,0x40]
746 setge 64(%rdx,%rax)
748 // CHECK: setge %r14b
749 // CHECK: encoding: [0x41,0x0f,0x9d,0xc6]
750 setge %r14b
752 // CHECK: setge (%rdx)
753 // CHECK: encoding: [0x0f,0x9d,0x02]
754 setge (%rdx)
756 // CHECK: setg %r14b
757 // CHECK: encoding: [0x41,0x0f,0x9f,0xc6]
758 setg %r14b
760 // CHECK: setg (%rdx)
761 // CHECK: encoding: [0x0f,0x9f,0x02]
762 setg (%rdx)
764 // CHECK: setl 485498096
765 // CHECK: encoding: [0x0f,0x9c,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
766 setl 485498096
768 // CHECK: setl 64(%rdx)
769 // CHECK: encoding: [0x0f,0x9c,0x42,0x40]
770 setl 64(%rdx)
772 // CHECK: setl 64(%rdx,%rax,4)
773 // CHECK: encoding: [0x0f,0x9c,0x44,0x82,0x40]
774 setl 64(%rdx,%rax,4)
776 // CHECK: setl -64(%rdx,%rax,4)
777 // CHECK: encoding: [0x0f,0x9c,0x44,0x82,0xc0]
778 setl -64(%rdx,%rax,4)
780 // CHECK: setl 64(%rdx,%rax)
781 // CHECK: encoding: [0x0f,0x9c,0x44,0x02,0x40]
782 setl 64(%rdx,%rax)
784 // CHECK: setle 485498096
785 // CHECK: encoding: [0x0f,0x9e,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
786 setle 485498096
788 // CHECK: setle 64(%rdx)
789 // CHECK: encoding: [0x0f,0x9e,0x42,0x40]
790 setle 64(%rdx)
792 // CHECK: setle 64(%rdx,%rax,4)
793 // CHECK: encoding: [0x0f,0x9e,0x44,0x82,0x40]
794 setle 64(%rdx,%rax,4)
796 // CHECK: setle -64(%rdx,%rax,4)
797 // CHECK: encoding: [0x0f,0x9e,0x44,0x82,0xc0]
798 setle -64(%rdx,%rax,4)
800 // CHECK: setle 64(%rdx,%rax)
801 // CHECK: encoding: [0x0f,0x9e,0x44,0x02,0x40]
802 setle 64(%rdx,%rax)
804 // CHECK: setle %r14b
805 // CHECK: encoding: [0x41,0x0f,0x9e,0xc6]
806 setle %r14b
808 // CHECK: setle (%rdx)
809 // CHECK: encoding: [0x0f,0x9e,0x02]
810 setle (%rdx)
812 // CHECK: setl %r14b
813 // CHECK: encoding: [0x41,0x0f,0x9c,0xc6]
814 setl %r14b
816 // CHECK: setl (%rdx)
817 // CHECK: encoding: [0x0f,0x9c,0x02]
818 setl (%rdx)
820 // CHECK: setne 485498096
821 // CHECK: encoding: [0x0f,0x95,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
822 setne 485498096
824 // CHECK: setne 64(%rdx)
825 // CHECK: encoding: [0x0f,0x95,0x42,0x40]
826 setne 64(%rdx)
828 // CHECK: setne 64(%rdx,%rax,4)
829 // CHECK: encoding: [0x0f,0x95,0x44,0x82,0x40]
830 setne 64(%rdx,%rax,4)
832 // CHECK: setne -64(%rdx,%rax,4)
833 // CHECK: encoding: [0x0f,0x95,0x44,0x82,0xc0]
834 setne -64(%rdx,%rax,4)
836 // CHECK: setne 64(%rdx,%rax)
837 // CHECK: encoding: [0x0f,0x95,0x44,0x02,0x40]
838 setne 64(%rdx,%rax)
840 // CHECK: setne %r14b
841 // CHECK: encoding: [0x41,0x0f,0x95,0xc6]
842 setne %r14b
844 // CHECK: setne (%rdx)
845 // CHECK: encoding: [0x0f,0x95,0x02]
846 setne (%rdx)
848 // CHECK: setno 485498096
849 // CHECK: encoding: [0x0f,0x91,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
850 setno 485498096
852 // CHECK: setno 64(%rdx)
853 // CHECK: encoding: [0x0f,0x91,0x42,0x40]
854 setno 64(%rdx)
856 // CHECK: setno 64(%rdx,%rax,4)
857 // CHECK: encoding: [0x0f,0x91,0x44,0x82,0x40]
858 setno 64(%rdx,%rax,4)
860 // CHECK: setno -64(%rdx,%rax,4)
861 // CHECK: encoding: [0x0f,0x91,0x44,0x82,0xc0]
862 setno -64(%rdx,%rax,4)
864 // CHECK: setno 64(%rdx,%rax)
865 // CHECK: encoding: [0x0f,0x91,0x44,0x02,0x40]
866 setno 64(%rdx,%rax)
868 // CHECK: setno %r14b
869 // CHECK: encoding: [0x41,0x0f,0x91,0xc6]
870 setno %r14b
872 // CHECK: setno (%rdx)
873 // CHECK: encoding: [0x0f,0x91,0x02]
874 setno (%rdx)
876 // CHECK: setnp 485498096
877 // CHECK: encoding: [0x0f,0x9b,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
878 setnp 485498096
880 // CHECK: setnp 64(%rdx)
881 // CHECK: encoding: [0x0f,0x9b,0x42,0x40]
882 setnp 64(%rdx)
884 // CHECK: setnp 64(%rdx,%rax,4)
885 // CHECK: encoding: [0x0f,0x9b,0x44,0x82,0x40]
886 setnp 64(%rdx,%rax,4)
888 // CHECK: setnp -64(%rdx,%rax,4)
889 // CHECK: encoding: [0x0f,0x9b,0x44,0x82,0xc0]
890 setnp -64(%rdx,%rax,4)
892 // CHECK: setnp 64(%rdx,%rax)
893 // CHECK: encoding: [0x0f,0x9b,0x44,0x02,0x40]
894 setnp 64(%rdx,%rax)
896 // CHECK: setnp %r14b
897 // CHECK: encoding: [0x41,0x0f,0x9b,0xc6]
898 setnp %r14b
900 // CHECK: setnp (%rdx)
901 // CHECK: encoding: [0x0f,0x9b,0x02]
902 setnp (%rdx)
904 // CHECK: setns 485498096
905 // CHECK: encoding: [0x0f,0x99,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
906 setns 485498096
908 // CHECK: setns 64(%rdx)
909 // CHECK: encoding: [0x0f,0x99,0x42,0x40]
910 setns 64(%rdx)
912 // CHECK: setns 64(%rdx,%rax,4)
913 // CHECK: encoding: [0x0f,0x99,0x44,0x82,0x40]
914 setns 64(%rdx,%rax,4)
916 // CHECK: setns -64(%rdx,%rax,4)
917 // CHECK: encoding: [0x0f,0x99,0x44,0x82,0xc0]
918 setns -64(%rdx,%rax,4)
920 // CHECK: setns 64(%rdx,%rax)
921 // CHECK: encoding: [0x0f,0x99,0x44,0x02,0x40]
922 setns 64(%rdx,%rax)
924 // CHECK: setns %r14b
925 // CHECK: encoding: [0x41,0x0f,0x99,0xc6]
926 setns %r14b
928 // CHECK: setns (%rdx)
929 // CHECK: encoding: [0x0f,0x99,0x02]
930 setns (%rdx)
932 // CHECK: seto 485498096
933 // CHECK: encoding: [0x0f,0x90,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
934 seto 485498096
936 // CHECK: seto 64(%rdx)
937 // CHECK: encoding: [0x0f,0x90,0x42,0x40]
938 seto 64(%rdx)
940 // CHECK: seto 64(%rdx,%rax,4)
941 // CHECK: encoding: [0x0f,0x90,0x44,0x82,0x40]
942 seto 64(%rdx,%rax,4)
944 // CHECK: seto -64(%rdx,%rax,4)
945 // CHECK: encoding: [0x0f,0x90,0x44,0x82,0xc0]
946 seto -64(%rdx,%rax,4)
948 // CHECK: seto 64(%rdx,%rax)
949 // CHECK: encoding: [0x0f,0x90,0x44,0x02,0x40]
950 seto 64(%rdx,%rax)
952 // CHECK: seto %r14b
953 // CHECK: encoding: [0x41,0x0f,0x90,0xc6]
954 seto %r14b
956 // CHECK: seto (%rdx)
957 // CHECK: encoding: [0x0f,0x90,0x02]
958 seto (%rdx)
960 // CHECK: setp 485498096
961 // CHECK: encoding: [0x0f,0x9a,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
962 setp 485498096
964 // CHECK: setp 64(%rdx)
965 // CHECK: encoding: [0x0f,0x9a,0x42,0x40]
966 setp 64(%rdx)
968 // CHECK: setp 64(%rdx,%rax,4)
969 // CHECK: encoding: [0x0f,0x9a,0x44,0x82,0x40]
970 setp 64(%rdx,%rax,4)
972 // CHECK: setp -64(%rdx,%rax,4)
973 // CHECK: encoding: [0x0f,0x9a,0x44,0x82,0xc0]
974 setp -64(%rdx,%rax,4)
976 // CHECK: setp 64(%rdx,%rax)
977 // CHECK: encoding: [0x0f,0x9a,0x44,0x02,0x40]
978 setp 64(%rdx,%rax)
980 // CHECK: setp %r14b
981 // CHECK: encoding: [0x41,0x0f,0x9a,0xc6]
982 setp %r14b
984 // CHECK: setp (%rdx)
985 // CHECK: encoding: [0x0f,0x9a,0x02]
986 setp (%rdx)
988 // CHECK: sets 485498096
989 // CHECK: encoding: [0x0f,0x98,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
990 sets 485498096
992 // CHECK: sets 64(%rdx)
993 // CHECK: encoding: [0x0f,0x98,0x42,0x40]
994 sets 64(%rdx)
996 // CHECK: sets 64(%rdx,%rax,4)
997 // CHECK: encoding: [0x0f,0x98,0x44,0x82,0x40]
998 sets 64(%rdx,%rax,4)
1000 // CHECK: sets -64(%rdx,%rax,4)
1001 // CHECK: encoding: [0x0f,0x98,0x44,0x82,0xc0]
1002 sets -64(%rdx,%rax,4)
1004 // CHECK: sets 64(%rdx,%rax)
1005 // CHECK: encoding: [0x0f,0x98,0x44,0x02,0x40]
1006 sets 64(%rdx,%rax)
1008 // CHECK: sets %r14b
1009 // CHECK: encoding: [0x41,0x0f,0x98,0xc6]
1010 sets %r14b
1012 // CHECK: sets (%rdx)
1013 // CHECK: encoding: [0x0f,0x98,0x02]
1014 sets (%rdx)
1016 // CHECK: shldl $0, %r13d, %r13d
1017 // CHECK: encoding: [0x45,0x0f,0xa4,0xed,0x00]
1018 shldl $0, %r13d, %r13d
1020 // CHECK: shldl %cl, %r13d, %r13d
1021 // CHECK: encoding: [0x45,0x0f,0xa5,0xed]
1022 shldl %cl, %r13d, %r13d
1024 // CHECK: shrdl $0, %r13d, %r13d
1025 // CHECK: encoding: [0x45,0x0f,0xac,0xed,0x00]
1026 shrdl $0, %r13d, %r13d
1028 // CHECK: shrdl %cl, %r13d, %r13d
1029 // CHECK: encoding: [0x45,0x0f,0xad,0xed]
1030 shrdl %cl, %r13d, %r13d
1032 // CHECK: stosl %eax, %es:(%rdi)
1033 // CHECK: encoding: [0xab]
1034 stosl %eax, %es:(%rdi)
1036 // CHECK: tzcntl %r13d, %r13d
1037 // CHECK: encoding: [0xf3,0x45,0x0f,0xbc,0xed]
1038 tzcntl %r13d, %r13d