Lines Matching refs:X86
5 ; RUN: llc < %s -mtriple=i686 -mattr=cmov | FileCheck %s --check-prefix=X86
36 ; X86-LABEL: test_i8:
37 ; X86: # %bb.0:
38 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax
39 ; X86-NEXT: movl %eax, %ecx
40 ; X86-NEXT: sarb $7, %cl
41 ; X86-NEXT: xorb %cl, %al
42 ; X86-NEXT: subb %cl, %al
43 ; X86-NEXT: retl
56 ; X86-LABEL: test_i16:
57 ; X86: # %bb.0:
58 ; X86-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
59 ; X86-NEXT: movl %ecx, %eax
60 ; X86-NEXT: negw %ax
61 ; X86-NEXT: cmovsw %cx, %ax
62 ; X86-NEXT: retl
77 ; X86-LABEL: test_i24:
78 ; X86: # %bb.0:
79 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
80 ; X86-NEXT: shll $8, %ecx
81 ; X86-NEXT: sarl $8, %ecx
82 ; X86-NEXT: movl %ecx, %eax
83 ; X86-NEXT: negl %eax
84 ; X86-NEXT: cmovsl %ecx, %eax
85 ; X86-NEXT: retl
98 ; X86-LABEL: test_i32:
99 ; X86: # %bb.0:
100 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
101 ; X86-NEXT: movl %ecx, %eax
102 ; X86-NEXT: negl %eax
103 ; X86-NEXT: cmovsl %ecx, %eax
104 ; X86-NEXT: retl
117 ; X86-LABEL: test_i64:
118 ; X86: # %bb.0:
119 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
120 ; X86-NEXT: movl %edx, %ecx
121 ; X86-NEXT: sarl $31, %ecx
122 ; X86-NEXT: xorl %ecx, %edx
123 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
124 ; X86-NEXT: xorl %ecx, %eax
125 ; X86-NEXT: subl %ecx, %eax
126 ; X86-NEXT: sbbl %ecx, %edx
127 ; X86-NEXT: retl
145 ; X86-LABEL: test_i128:
146 ; X86: # %bb.0:
147 ; X86-NEXT: pushl %ebx
148 ; X86-NEXT: pushl %edi
149 ; X86-NEXT: pushl %esi
150 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
151 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
152 ; X86-NEXT: movl %ecx, %edx
153 ; X86-NEXT: sarl $31, %edx
154 ; X86-NEXT: xorl %edx, %ecx
155 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
156 ; X86-NEXT: xorl %edx, %esi
157 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
158 ; X86-NEXT: xorl %edx, %edi
159 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ebx
160 ; X86-NEXT: xorl %edx, %ebx
161 ; X86-NEXT: subl %edx, %ebx
162 ; X86-NEXT: sbbl %edx, %edi
163 ; X86-NEXT: sbbl %edx, %esi
164 ; X86-NEXT: sbbl %edx, %ecx
165 ; X86-NEXT: movl %ebx, (%eax)
166 ; X86-NEXT: movl %edi, 4(%eax)
167 ; X86-NEXT: movl %esi, 8(%eax)
168 ; X86-NEXT: movl %ecx, 12(%eax)
169 ; X86-NEXT: popl %esi
170 ; X86-NEXT: popl %edi
171 ; X86-NEXT: popl %ebx
172 ; X86-NEXT: retl $4
185 ; X86-LABEL: test_v1i32:
186 ; X86: # %bb.0:
187 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
188 ; X86-NEXT: movl %ecx, %eax
189 ; X86-NEXT: negl %eax
190 ; X86-NEXT: cmovsl %ecx, %eax
191 ; X86-NEXT: retl
210 ; X86-LABEL: test_v2i32:
211 ; X86: # %bb.0:
212 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
213 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
214 ; X86-NEXT: movl %edx, %eax
215 ; X86-NEXT: negl %eax
216 ; X86-NEXT: cmovsl %edx, %eax
217 ; X86-NEXT: movl %ecx, %edx
218 ; X86-NEXT: negl %edx
219 ; X86-NEXT: cmovsl %ecx, %edx
220 ; X86-NEXT: retl
239 ; X86-LABEL: test_v3i32:
240 ; X86: # %bb.0:
241 ; X86-NEXT: pushl %esi
242 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
243 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
244 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
245 ; X86-NEXT: movl %edx, %eax
246 ; X86-NEXT: negl %eax
247 ; X86-NEXT: cmovsl %edx, %eax
248 ; X86-NEXT: movl %ecx, %edx
249 ; X86-NEXT: negl %edx
250 ; X86-NEXT: cmovsl %ecx, %edx
251 ; X86-NEXT: movl %esi, %ecx
252 ; X86-NEXT: negl %ecx
253 ; X86-NEXT: cmovsl %esi, %ecx
254 ; X86-NEXT: popl %esi
255 ; X86-NEXT: retl
274 ; X86-LABEL: test_v4i32:
275 ; X86: # %bb.0:
276 ; X86-NEXT: pushl %ebx
277 ; X86-NEXT: pushl %edi
278 ; X86-NEXT: pushl %esi
279 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
280 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
281 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
282 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
283 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ebx
284 ; X86-NEXT: movl %ebx, %edx
285 ; X86-NEXT: negl %edx
286 ; X86-NEXT: cmovsl %ebx, %edx
287 ; X86-NEXT: movl %edi, %ebx
288 ; X86-NEXT: negl %ebx
289 ; X86-NEXT: cmovsl %edi, %ebx
290 ; X86-NEXT: movl %esi, %edi
291 ; X86-NEXT: negl %edi
292 ; X86-NEXT: cmovsl %esi, %edi
293 ; X86-NEXT: movl %ecx, %esi
294 ; X86-NEXT: negl %esi
295 ; X86-NEXT: cmovsl %ecx, %esi
296 ; X86-NEXT: movl %esi, 12(%eax)
297 ; X86-NEXT: movl %edi, 8(%eax)
298 ; X86-NEXT: movl %ebx, 4(%eax)
299 ; X86-NEXT: movl %edx, (%eax)
300 ; X86-NEXT: popl %esi
301 ; X86-NEXT: popl %edi
302 ; X86-NEXT: popl %ebx
303 ; X86-NEXT: retl $4
334 ; X86-LABEL: test_v8i32:
335 ; X86: # %bb.0:
336 ; X86-NEXT: pushl %ebp
337 ; X86-NEXT: pushl %ebx
338 ; X86-NEXT: pushl %edi
339 ; X86-NEXT: pushl %esi
340 ; X86-NEXT: subl $8, %esp
341 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
342 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
343 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ebp
344 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ebx
345 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
346 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
347 ; X86-NEXT: movl %edx, %ecx
348 ; X86-NEXT: negl %ecx
349 ; X86-NEXT: cmovsl %edx, %ecx
350 ; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
351 ; X86-NEXT: movl %esi, %ecx
352 ; X86-NEXT: negl %ecx
353 ; X86-NEXT: cmovsl %esi, %ecx
354 ; X86-NEXT: movl %ecx, (%esp) # 4-byte Spill
355 ; X86-NEXT: movl %ebx, %esi
356 ; X86-NEXT: negl %esi
357 ; X86-NEXT: cmovsl %ebx, %esi
358 ; X86-NEXT: movl %ebp, %ebx
359 ; X86-NEXT: negl %ebx
360 ; X86-NEXT: cmovsl %ebp, %ebx
361 ; X86-NEXT: movl %edi, %ebp
362 ; X86-NEXT: negl %ebp
363 ; X86-NEXT: cmovsl %edi, %ebp
364 ; X86-NEXT: movl %eax, %edi
365 ; X86-NEXT: negl %edi
366 ; X86-NEXT: cmovsl %eax, %edi
367 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
368 ; X86-NEXT: movl %ecx, %eax
369 ; X86-NEXT: negl %eax
370 ; X86-NEXT: cmovsl %ecx, %eax
371 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
372 ; X86-NEXT: movl %edx, %ecx
373 ; X86-NEXT: negl %ecx
374 ; X86-NEXT: cmovsl %edx, %ecx
375 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
376 ; X86-NEXT: movl %ecx, 28(%edx)
377 ; X86-NEXT: movl %eax, 24(%edx)
378 ; X86-NEXT: movl %edi, 20(%edx)
379 ; X86-NEXT: movl %ebp, 16(%edx)
380 ; X86-NEXT: movl %ebx, 12(%edx)
381 ; X86-NEXT: movl %esi, 8(%edx)
382 ; X86-NEXT: movl (%esp), %eax # 4-byte Reload
383 ; X86-NEXT: movl %eax, 4(%edx)
384 ; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
385 ; X86-NEXT: movl %eax, (%edx)
386 ; X86-NEXT: movl %edx, %eax
387 ; X86-NEXT: addl $8, %esp
388 ; X86-NEXT: popl %esi
389 ; X86-NEXT: popl %edi
390 ; X86-NEXT: popl %ebx
391 ; X86-NEXT: popl %ebp
392 ; X86-NEXT: retl $4
410 ; X86-LABEL: test_v8i16:
411 ; X86: # %bb.0:
412 ; X86-NEXT: pushl %ebp
413 ; X86-NEXT: pushl %ebx
414 ; X86-NEXT: pushl %edi
415 ; X86-NEXT: pushl %esi
416 ; X86-NEXT: pushl %eax
417 ; X86-NEXT: movzwl {{[0-9]+}}(%esp), %eax
418 ; X86-NEXT: movzwl {{[0-9]+}}(%esp), %edi
419 ; X86-NEXT: movzwl {{[0-9]+}}(%esp), %ebp
420 ; X86-NEXT: movzwl {{[0-9]+}}(%esp), %ebx
421 ; X86-NEXT: movzwl {{[0-9]+}}(%esp), %esi
422 ; X86-NEXT: movzwl {{[0-9]+}}(%esp), %edx
423 ; X86-NEXT: movl %edx, %ecx
424 ; X86-NEXT: negw %cx
425 ; X86-NEXT: cmovsw %dx, %cx
426 ; X86-NEXT: movw %cx, {{[-0-9]+}}(%e{{[sb]}}p) # 2-byte Spill
427 ; X86-NEXT: movl %esi, %ecx
428 ; X86-NEXT: negw %cx
429 ; X86-NEXT: cmovsw %si, %cx
430 ; X86-NEXT: movw %cx, (%esp) # 2-byte Spill
431 ; X86-NEXT: movl %ebx, %esi
432 ; X86-NEXT: negw %si
433 ; X86-NEXT: cmovsw %bx, %si
434 ; X86-NEXT: movl %ebp, %ebx
435 ; X86-NEXT: negw %bx
436 ; X86-NEXT: cmovsw %bp, %bx
437 ; X86-NEXT: movl %edi, %ebp
438 ; X86-NEXT: negw %bp
439 ; X86-NEXT: cmovsw %di, %bp
440 ; X86-NEXT: movl %eax, %edi
441 ; X86-NEXT: negw %di
442 ; X86-NEXT: cmovsw %ax, %di
443 ; X86-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
444 ; X86-NEXT: movl %ecx, %eax
445 ; X86-NEXT: negw %ax
446 ; X86-NEXT: cmovsw %cx, %ax
447 ; X86-NEXT: movzwl {{[0-9]+}}(%esp), %edx
448 ; X86-NEXT: movl %edx, %ecx
449 ; X86-NEXT: negw %cx
450 ; X86-NEXT: cmovsw %dx, %cx
451 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
452 ; X86-NEXT: movw %cx, 14(%edx)
453 ; X86-NEXT: movw %ax, 12(%edx)
454 ; X86-NEXT: movw %di, 10(%edx)
455 ; X86-NEXT: movw %bp, 8(%edx)
456 ; X86-NEXT: movw %bx, 6(%edx)
457 ; X86-NEXT: movw %si, 4(%edx)
458 ; X86-NEXT: movzwl (%esp), %eax # 2-byte Folded Reload
459 ; X86-NEXT: movw %ax, 2(%edx)
460 ; X86-NEXT: movzwl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 2-byte Folded Reload
461 ; X86-NEXT: movw %ax, (%edx)
462 ; X86-NEXT: movl %edx, %eax
463 ; X86-NEXT: addl $4, %esp
464 ; X86-NEXT: popl %esi
465 ; X86-NEXT: popl %edi
466 ; X86-NEXT: popl %ebx
467 ; X86-NEXT: popl %ebp
468 ; X86-NEXT: retl $4
486 ; X86-LABEL: test_v16i8:
487 ; X86: # %bb.0:
488 ; X86-NEXT: pushl %ebx
489 ; X86-NEXT: pushl %esi
490 ; X86-NEXT: subl $12, %esp
491 ; X86-NEXT: movb {{[0-9]+}}(%esp), %bh
492 ; X86-NEXT: movb {{[0-9]+}}(%esp), %bl
493 ; X86-NEXT: movb {{[0-9]+}}(%esp), %dh
494 ; X86-NEXT: movb {{[0-9]+}}(%esp), %ch
495 ; X86-NEXT: movb {{[0-9]+}}(%esp), %ah
496 ; X86-NEXT: movb {{[0-9]+}}(%esp), %dl
497 ; X86-NEXT: movb {{[0-9]+}}(%esp), %cl
498 ; X86-NEXT: movb %cl, %al
499 ; X86-NEXT: sarb $7, %al
500 ; X86-NEXT: xorb %al, %cl
501 ; X86-NEXT: subb %al, %cl
502 ; X86-NEXT: movb %cl, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
503 ; X86-NEXT: movb %dl, %al
504 ; X86-NEXT: sarb $7, %al
505 ; X86-NEXT: xorb %al, %dl
506 ; X86-NEXT: subb %al, %dl
507 ; X86-NEXT: movb %dl, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
508 ; X86-NEXT: movb %ah, %al
509 ; X86-NEXT: sarb $7, %al
510 ; X86-NEXT: xorb %al, %ah
511 ; X86-NEXT: subb %al, %ah
512 ; X86-NEXT: movb %ah, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
513 ; X86-NEXT: movb %ch, %al
514 ; X86-NEXT: sarb $7, %al
515 ; X86-NEXT: xorb %al, %ch
516 ; X86-NEXT: subb %al, %ch
517 ; X86-NEXT: movb %ch, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
518 ; X86-NEXT: movb %dh, %al
519 ; X86-NEXT: sarb $7, %al
520 ; X86-NEXT: xorb %al, %dh
521 ; X86-NEXT: subb %al, %dh
522 ; X86-NEXT: movb %dh, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
523 ; X86-NEXT: movl %ebx, %eax
524 ; X86-NEXT: sarb $7, %al
525 ; X86-NEXT: xorb %al, %bl
526 ; X86-NEXT: subb %al, %bl
527 ; X86-NEXT: movb %bl, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
528 ; X86-NEXT: movb %bh, %al
529 ; X86-NEXT: sarb $7, %al
530 ; X86-NEXT: xorb %al, %bh
531 ; X86-NEXT: subb %al, %bh
532 ; X86-NEXT: movb %bh, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
533 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %ecx
534 ; X86-NEXT: movl %ecx, %eax
535 ; X86-NEXT: sarb $7, %al
536 ; X86-NEXT: xorb %al, %cl
537 ; X86-NEXT: subb %al, %cl
538 ; X86-NEXT: movb %cl, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
539 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %ecx
540 ; X86-NEXT: movl %ecx, %eax
541 ; X86-NEXT: sarb $7, %al
542 ; X86-NEXT: xorb %al, %cl
543 ; X86-NEXT: subb %al, %cl
544 ; X86-NEXT: movb %cl, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
545 ; X86-NEXT: movb {{[0-9]+}}(%esp), %bh
546 ; X86-NEXT: movb %bh, %al
547 ; X86-NEXT: sarb $7, %al
548 ; X86-NEXT: xorb %al, %bh
549 ; X86-NEXT: subb %al, %bh
550 ; X86-NEXT: movb {{[0-9]+}}(%esp), %bl
551 ; X86-NEXT: movl %ebx, %eax
552 ; X86-NEXT: sarb $7, %al
553 ; X86-NEXT: xorb %al, %bl
554 ; X86-NEXT: subb %al, %bl
555 ; X86-NEXT: movb {{[0-9]+}}(%esp), %dh
556 ; X86-NEXT: movb %dh, %al
557 ; X86-NEXT: sarb $7, %al
558 ; X86-NEXT: xorb %al, %dh
559 ; X86-NEXT: subb %al, %dh
560 ; X86-NEXT: movb {{[0-9]+}}(%esp), %ch
561 ; X86-NEXT: movb %ch, %al
562 ; X86-NEXT: sarb $7, %al
563 ; X86-NEXT: xorb %al, %ch
564 ; X86-NEXT: subb %al, %ch
565 ; X86-NEXT: movb {{[0-9]+}}(%esp), %dl
566 ; X86-NEXT: movl %edx, %eax
567 ; X86-NEXT: sarb $7, %al
568 ; X86-NEXT: xorb %al, %dl
569 ; X86-NEXT: subb %al, %dl
570 ; X86-NEXT: movb {{[0-9]+}}(%esp), %cl
571 ; X86-NEXT: movl %ecx, %eax
572 ; X86-NEXT: sarb $7, %al
573 ; X86-NEXT: xorb %al, %cl
574 ; X86-NEXT: subb %al, %cl
575 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax
576 ; X86-NEXT: movb %al, %ah
577 ; X86-NEXT: sarb $7, %ah
578 ; X86-NEXT: xorb %ah, %al
579 ; X86-NEXT: subb %ah, %al
580 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
581 ; X86-NEXT: movb %al, 15(%esi)
582 ; X86-NEXT: movb %cl, 14(%esi)
583 ; X86-NEXT: movb %dl, 13(%esi)
584 ; X86-NEXT: movb %ch, 12(%esi)
585 ; X86-NEXT: movb %dh, 11(%esi)
586 ; X86-NEXT: movb %bl, 10(%esi)
587 ; X86-NEXT: movb %bh, 9(%esi)
588 ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
589 ; X86-NEXT: movb %al, 8(%esi)
590 ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
591 ; X86-NEXT: movb %al, 7(%esi)
592 ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
593 ; X86-NEXT: movb %al, 6(%esi)
594 ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
595 ; X86-NEXT: movb %al, 5(%esi)
596 ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
597 ; X86-NEXT: movb %al, 4(%esi)
598 ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
599 ; X86-NEXT: movb %al, 3(%esi)
600 ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
601 ; X86-NEXT: movb %al, 2(%esi)
602 ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
603 ; X86-NEXT: movb %al, 1(%esi)
604 ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
605 ; X86-NEXT: movb %al, (%esi)
606 ; X86-NEXT: movl %esi, %eax
607 ; X86-NEXT: addl $12, %esp
608 ; X86-NEXT: popl %esi
609 ; X86-NEXT: popl %ebx
610 ; X86-NEXT: retl $4