Lines Matching +full:0 +full:x32
3 …RUN: llc < %s -mtriple=i686-unknown-unknown -verify-machineinstrs | FileCheck %s --check-prefix X32
34 ; X64: # %bb.0:
38 ; X32-LABEL: store_atomic_imm_8:
39 ; X32: # %bb.0:
40 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
41 ; X32-NEXT: movb $42, (%eax)
42 ; X32-NEXT: retl
49 ; X64: # %bb.0:
53 ; X32-LABEL: store_atomic_imm_16:
54 ; X32: # %bb.0:
55 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
56 ; X32-NEXT: movw $42, (%eax)
57 ; X32-NEXT: retl
64 ; X64: # %bb.0:
68 ; X32-LABEL: store_atomic_imm_32:
69 ; X32: # %bb.0:
70 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
71 ; X32-NEXT: movl $42, (%eax)
72 ; X32-NEXT: retl
81 ; X64: # %bb.0:
85 ; X32-LABEL: store_atomic_imm_64:
86 ; X32: # %bb.0:
87 ; X32-NEXT: pushl %ebp
88 ; X32-NEXT: .cfi_def_cfa_offset 8
89 ; X32-NEXT: .cfi_offset %ebp, -8
90 ; X32-NEXT: movl %esp, %ebp
91 ; X32-NEXT: .cfi_def_cfa_register %ebp
92 ; X32-NEXT: andl $-8, %esp
93 ; X32-NEXT: subl $8, %esp
94 ; X32-NEXT: movl 8(%ebp), %eax
95 ; X32-NEXT: movl $0, {{[0-9]+}}(%esp)
96 ; X32-NEXT: movl $42, (%esp)
97 ; X32-NEXT: fildll (%esp)
98 ; X32-NEXT: fistpll (%eax)
99 ; X32-NEXT: movl %ebp, %esp
100 ; X32-NEXT: popl %ebp
101 ; X32-NEXT: .cfi_def_cfa %esp, 4
102 ; X32-NEXT: retl
113 ; X64: # %bb.0:
114 ; X64-NEXT: movabsq $100000000000, %rax # imm = 0x174876E800
118 ; X32-LABEL: store_atomic_imm_64_big:
119 ; X32: # %bb.0:
120 ; X32-NEXT: pushl %ebp
121 ; X32-NEXT: .cfi_def_cfa_offset 8
122 ; X32-NEXT: .cfi_offset %ebp, -8
123 ; X32-NEXT: movl %esp, %ebp
124 ; X32-NEXT: .cfi_def_cfa_register %ebp
125 ; X32-NEXT: andl $-8, %esp
126 ; X32-NEXT: subl $8, %esp
127 ; X32-NEXT: movl 8(%ebp), %eax
128 ; X32-NEXT: movl $23, {{[0-9]+}}(%esp)
129 ; X32-NEXT: movl $1215752192, (%esp) # imm = 0x4876E800
130 ; X32-NEXT: fildll (%esp)
131 ; X32-NEXT: fistpll (%eax)
132 ; X32-NEXT: movl %ebp, %esp
133 ; X32-NEXT: popl %ebp
134 ; X32-NEXT: .cfi_def_cfa %esp, 4
135 ; X32-NEXT: retl
143 ; X64: # %bb.0:
148 ; X32-LABEL: store_atomic_imm_32_seq_cst:
149 ; X32: # %bb.0:
150 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
151 ; X32-NEXT: movl $42, %ecx
152 ; X32-NEXT: xchgl %ecx, (%eax)
153 ; X32-NEXT: retl
162 ; X64: # %bb.0:
166 ; X32-LABEL: add_8i:
167 ; X32: # %bb.0:
168 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
169 ; X32-NEXT: addb $2, (%eax)
170 ; X32-NEXT: retl
179 ; X64: # %bb.0:
183 ; X32-LABEL: add_8r:
184 ; X32: # %bb.0:
185 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
186 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
187 ; X32-NEXT: addb %al, (%ecx)
188 ; X32-NEXT: retl
197 ; X64: # %bb.0:
201 ; X32-LABEL: add_16i:
202 ; X32: # %bb.0:
203 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
204 ; X32-NEXT: addw $2, (%eax)
205 ; X32-NEXT: retl
214 ; X64: # %bb.0:
218 ; X32-LABEL: add_16r:
219 ; X32: # %bb.0:
220 ; X32-NEXT: movzwl {{[0-9]+}}(%esp), %eax
221 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
222 ; X32-NEXT: addw %ax, (%ecx)
223 ; X32-NEXT: retl
232 ; X64: # %bb.0:
236 ; X32-LABEL: add_32i:
237 ; X32: # %bb.0:
238 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
239 ; X32-NEXT: addl $2, (%eax)
240 ; X32-NEXT: retl
249 ; X64: # %bb.0:
253 ; X32-LABEL: add_32r:
254 ; X32: # %bb.0:
255 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
256 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
257 ; X32-NEXT: addl %eax, (%ecx)
258 ; X32-NEXT: retl
270 ; X64: # %bb.0:
276 ; X32-LABEL: add_32r_self:
277 ; X32: # %bb.0:
278 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
279 ; X32-NEXT: movl (%eax), %ecx
280 ; X32-NEXT: addl %ecx, %ecx
281 ; X32-NEXT: movl %ecx, (%eax)
282 ; X32-NEXT: retl
293 ; X64: # %bb.0:
299 ; X32-LABEL: add_32r_ret_load:
300 ; X32: # %bb.0:
301 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
302 ; X32-NEXT: movl (%ecx), %eax
303 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
304 ; X32-NEXT: addl %eax, %edx
305 ; X32-NEXT: movl %edx, (%ecx)
306 ; X32-NEXT: retl
316 ; X64: # %bb.0:
320 ; X32-LABEL: add_64i:
321 ; X32: # %bb.0:
322 ; X32-NEXT: pushl %ebp
323 ; X32-NEXT: .cfi_def_cfa_offset 8
324 ; X32-NEXT: .cfi_offset %ebp, -8
325 ; X32-NEXT: movl %esp, %ebp
326 ; X32-NEXT: .cfi_def_cfa_register %ebp
327 ; X32-NEXT: andl $-8, %esp
328 ; X32-NEXT: subl $16, %esp
329 ; X32-NEXT: movl 8(%ebp), %eax
330 ; X32-NEXT: fildll (%eax)
331 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
332 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
333 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
334 ; X32-NEXT: addl $2, %ecx
335 ; X32-NEXT: adcl $0, %edx
336 ; X32-NEXT: movl %ecx, (%esp)
337 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp)
338 ; X32-NEXT: fildll (%esp)
339 ; X32-NEXT: fistpll (%eax)
340 ; X32-NEXT: movl %ebp, %esp
341 ; X32-NEXT: popl %ebp
342 ; X32-NEXT: .cfi_def_cfa %esp, 4
343 ; X32-NEXT: retl
353 ; X64: # %bb.0:
357 ; X32-LABEL: add_64r:
358 ; X32: # %bb.0:
359 ; X32-NEXT: pushl %ebp
360 ; X32-NEXT: .cfi_def_cfa_offset 8
361 ; X32-NEXT: .cfi_offset %ebp, -8
362 ; X32-NEXT: movl %esp, %ebp
363 ; X32-NEXT: .cfi_def_cfa_register %ebp
364 ; X32-NEXT: andl $-8, %esp
365 ; X32-NEXT: subl $16, %esp
366 ; X32-NEXT: movl 8(%ebp), %eax
367 ; X32-NEXT: fildll (%eax)
368 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
369 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
370 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
371 ; X32-NEXT: addl 12(%ebp), %ecx
372 ; X32-NEXT: adcl 16(%ebp), %edx
373 ; X32-NEXT: movl %ecx, (%esp)
374 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp)
375 ; X32-NEXT: fildll (%esp)
376 ; X32-NEXT: fistpll (%eax)
377 ; X32-NEXT: movl %ebp, %esp
378 ; X32-NEXT: popl %ebp
379 ; X32-NEXT: .cfi_def_cfa %esp, 4
380 ; X32-NEXT: retl
390 ; X64: # %bb.0:
396 ; X32-LABEL: add_32i_seq_cst:
397 ; X32: # %bb.0:
398 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
399 ; X32-NEXT: movl (%eax), %ecx
400 ; X32-NEXT: addl $2, %ecx
401 ; X32-NEXT: xchgl %ecx, (%eax)
402 ; X32-NEXT: retl
411 ; X64: # %bb.0:
417 ; X32-LABEL: add_32r_seq_cst:
418 ; X32: # %bb.0:
419 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
420 ; X32-NEXT: movl (%eax), %ecx
421 ; X32-NEXT: addl {{[0-9]+}}(%esp), %ecx
422 ; X32-NEXT: xchgl %ecx, (%eax)
423 ; X32-NEXT: retl
434 ; X64: # %bb.0:
438 ; X32-LABEL: sub_8r:
439 ; X32: # %bb.0:
440 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
441 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
442 ; X32-NEXT: subb %al, (%ecx)
443 ; X32-NEXT: retl
452 ; X64: # %bb.0:
456 ; X32-LABEL: sub_16r:
457 ; X32: # %bb.0:
458 ; X32-NEXT: movzwl {{[0-9]+}}(%esp), %eax
459 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
460 ; X32-NEXT: subw %ax, (%ecx)
461 ; X32-NEXT: retl
470 ; X64: # %bb.0:
474 ; X32-LABEL: sub_32r:
475 ; X32: # %bb.0:
476 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
477 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
478 ; X32-NEXT: subl %eax, (%ecx)
479 ; X32-NEXT: retl
491 ; X64: # %bb.0:
493 ; X64-NEXT: movl $0, (%rdi)
496 ; X32-LABEL: sub_32r_self:
497 ; X32: # %bb.0:
498 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
499 ; X32-NEXT: movl (%eax), %ecx
500 ; X32-NEXT: movl $0, (%eax)
501 ; X32-NEXT: retl
512 ; X64: # %bb.0:
519 ; X32-LABEL: sub_32r_ret_load:
520 ; X32: # %bb.0:
521 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
522 ; X32-NEXT: movl (%ecx), %eax
523 ; X32-NEXT: movl %eax, %edx
524 ; X32-NEXT: subl {{[0-9]+}}(%esp), %edx
525 ; X32-NEXT: movl %edx, (%ecx)
526 ; X32-NEXT: retl
536 ; X64: # %bb.0:
540 ; X32-LABEL: sub_64r:
541 ; X32: # %bb.0:
542 ; X32-NEXT: pushl %ebp
543 ; X32-NEXT: .cfi_def_cfa_offset 8
544 ; X32-NEXT: .cfi_offset %ebp, -8
545 ; X32-NEXT: movl %esp, %ebp
546 ; X32-NEXT: .cfi_def_cfa_register %ebp
547 ; X32-NEXT: andl $-8, %esp
548 ; X32-NEXT: subl $16, %esp
549 ; X32-NEXT: movl 8(%ebp), %eax
550 ; X32-NEXT: fildll (%eax)
551 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
552 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
553 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
554 ; X32-NEXT: subl 12(%ebp), %ecx
555 ; X32-NEXT: sbbl 16(%ebp), %edx
556 ; X32-NEXT: movl %ecx, (%esp)
557 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp)
558 ; X32-NEXT: fildll (%esp)
559 ; X32-NEXT: fistpll (%eax)
560 ; X32-NEXT: movl %ebp, %esp
561 ; X32-NEXT: popl %ebp
562 ; X32-NEXT: .cfi_def_cfa %esp, 4
563 ; X32-NEXT: retl
573 ; X64: # %bb.0:
579 ; X32-LABEL: sub_32r_seq_cst:
580 ; X32: # %bb.0:
581 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
582 ; X32-NEXT: movl (%eax), %ecx
583 ; X32-NEXT: subl {{[0-9]+}}(%esp), %ecx
584 ; X32-NEXT: xchgl %ecx, (%eax)
585 ; X32-NEXT: retl
596 ; X64: # %bb.0:
600 ; X32-LABEL: and_8i:
601 ; X32: # %bb.0:
602 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
603 ; X32-NEXT: andb $2, (%eax)
604 ; X32-NEXT: retl
613 ; X64: # %bb.0:
617 ; X32-LABEL: and_8r:
618 ; X32: # %bb.0:
619 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
620 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
621 ; X32-NEXT: andb %al, (%ecx)
622 ; X32-NEXT: retl
631 ; X64: # %bb.0:
635 ; X32-LABEL: and_16i:
636 ; X32: # %bb.0:
637 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
638 ; X32-NEXT: andw $2, (%eax)
639 ; X32-NEXT: retl
648 ; X64: # %bb.0:
652 ; X32-LABEL: and_16r:
653 ; X32: # %bb.0:
654 ; X32-NEXT: movzwl {{[0-9]+}}(%esp), %eax
655 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
656 ; X32-NEXT: andw %ax, (%ecx)
657 ; X32-NEXT: retl
666 ; X64: # %bb.0:
670 ; X32-LABEL: and_32i:
671 ; X32: # %bb.0:
672 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
673 ; X32-NEXT: andl $2, (%eax)
674 ; X32-NEXT: retl
683 ; X64: # %bb.0:
687 ; X32-LABEL: and_32r:
688 ; X32: # %bb.0:
689 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
690 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
691 ; X32-NEXT: andl %eax, (%ecx)
692 ; X32-NEXT: retl
701 ; X64: # %bb.0:
705 ; X32-LABEL: and_64i:
706 ; X32: # %bb.0:
707 ; X32-NEXT: pushl %ebp
708 ; X32-NEXT: .cfi_def_cfa_offset 8
709 ; X32-NEXT: .cfi_offset %ebp, -8
710 ; X32-NEXT: movl %esp, %ebp
711 ; X32-NEXT: .cfi_def_cfa_register %ebp
712 ; X32-NEXT: andl $-8, %esp
713 ; X32-NEXT: subl $16, %esp
714 ; X32-NEXT: movl 8(%ebp), %eax
715 ; X32-NEXT: fildll (%eax)
716 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
717 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
718 ; X32-NEXT: andl $2, %ecx
719 ; X32-NEXT: movl %ecx, (%esp)
720 ; X32-NEXT: movl $0, {{[0-9]+}}(%esp)
721 ; X32-NEXT: fildll (%esp)
722 ; X32-NEXT: fistpll (%eax)
723 ; X32-NEXT: movl %ebp, %esp
724 ; X32-NEXT: popl %ebp
725 ; X32-NEXT: .cfi_def_cfa %esp, 4
726 ; X32-NEXT: retl
736 ; X64: # %bb.0:
740 ; X32-LABEL: and_64r:
741 ; X32: # %bb.0:
742 ; X32-NEXT: pushl %ebp
743 ; X32-NEXT: .cfi_def_cfa_offset 8
744 ; X32-NEXT: .cfi_offset %ebp, -8
745 ; X32-NEXT: movl %esp, %ebp
746 ; X32-NEXT: .cfi_def_cfa_register %ebp
747 ; X32-NEXT: andl $-8, %esp
748 ; X32-NEXT: subl $16, %esp
749 ; X32-NEXT: movl 8(%ebp), %eax
750 ; X32-NEXT: fildll (%eax)
751 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
752 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
753 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
754 ; X32-NEXT: andl 16(%ebp), %edx
755 ; X32-NEXT: andl 12(%ebp), %ecx
756 ; X32-NEXT: movl %ecx, (%esp)
757 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp)
758 ; X32-NEXT: fildll (%esp)
759 ; X32-NEXT: fistpll (%eax)
760 ; X32-NEXT: movl %ebp, %esp
761 ; X32-NEXT: popl %ebp
762 ; X32-NEXT: .cfi_def_cfa %esp, 4
763 ; X32-NEXT: retl
773 ; X64: # %bb.0:
779 ; X32-LABEL: and_32i_seq_cst:
780 ; X32: # %bb.0:
781 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
782 ; X32-NEXT: movl (%eax), %ecx
783 ; X32-NEXT: andl $2, %ecx
784 ; X32-NEXT: xchgl %ecx, (%eax)
785 ; X32-NEXT: retl
794 ; X64: # %bb.0:
800 ; X32-LABEL: and_32r_seq_cst:
801 ; X32: # %bb.0:
802 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
803 ; X32-NEXT: movl (%eax), %ecx
804 ; X32-NEXT: andl {{[0-9]+}}(%esp), %ecx
805 ; X32-NEXT: xchgl %ecx, (%eax)
806 ; X32-NEXT: retl
817 ; X64: # %bb.0:
821 ; X32-LABEL: or_8i:
822 ; X32: # %bb.0:
823 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
824 ; X32-NEXT: orb $2, (%eax)
825 ; X32-NEXT: retl
834 ; X64: # %bb.0:
838 ; X32-LABEL: or_8r:
839 ; X32: # %bb.0:
840 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
841 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
842 ; X32-NEXT: orb %al, (%ecx)
843 ; X32-NEXT: retl
852 ; X64: # %bb.0:
856 ; X32-LABEL: or_16i:
857 ; X32: # %bb.0:
858 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
859 ; X32-NEXT: orw $2, (%eax)
860 ; X32-NEXT: retl
869 ; X64: # %bb.0:
873 ; X32-LABEL: or_16r:
874 ; X32: # %bb.0:
875 ; X32-NEXT: movzwl {{[0-9]+}}(%esp), %eax
876 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
877 ; X32-NEXT: orw %ax, (%ecx)
878 ; X32-NEXT: retl
887 ; X64: # %bb.0:
891 ; X32-LABEL: or_32i:
892 ; X32: # %bb.0:
893 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
894 ; X32-NEXT: orl $2, (%eax)
895 ; X32-NEXT: retl
904 ; X64: # %bb.0:
908 ; X32-LABEL: or_32r:
909 ; X32: # %bb.0:
910 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
911 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
912 ; X32-NEXT: orl %eax, (%ecx)
913 ; X32-NEXT: retl
922 ; X64: # %bb.0:
926 ; X32-LABEL: or_64i:
927 ; X32: # %bb.0:
928 ; X32-NEXT: pushl %ebp
929 ; X32-NEXT: .cfi_def_cfa_offset 8
930 ; X32-NEXT: .cfi_offset %ebp, -8
931 ; X32-NEXT: movl %esp, %ebp
932 ; X32-NEXT: .cfi_def_cfa_register %ebp
933 ; X32-NEXT: andl $-8, %esp
934 ; X32-NEXT: subl $16, %esp
935 ; X32-NEXT: movl 8(%ebp), %eax
936 ; X32-NEXT: fildll (%eax)
937 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
938 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
939 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
940 ; X32-NEXT: orl $2, %ecx
941 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp)
942 ; X32-NEXT: movl %ecx, (%esp)
943 ; X32-NEXT: fildll (%esp)
944 ; X32-NEXT: fistpll (%eax)
945 ; X32-NEXT: movl %ebp, %esp
946 ; X32-NEXT: popl %ebp
947 ; X32-NEXT: .cfi_def_cfa %esp, 4
948 ; X32-NEXT: retl
958 ; X64: # %bb.0:
962 ; X32-LABEL: or_64r:
963 ; X32: # %bb.0:
964 ; X32-NEXT: pushl %ebp
965 ; X32-NEXT: .cfi_def_cfa_offset 8
966 ; X32-NEXT: .cfi_offset %ebp, -8
967 ; X32-NEXT: movl %esp, %ebp
968 ; X32-NEXT: .cfi_def_cfa_register %ebp
969 ; X32-NEXT: andl $-8, %esp
970 ; X32-NEXT: subl $16, %esp
971 ; X32-NEXT: movl 8(%ebp), %eax
972 ; X32-NEXT: fildll (%eax)
973 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
974 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
975 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
976 ; X32-NEXT: orl 16(%ebp), %edx
977 ; X32-NEXT: orl 12(%ebp), %ecx
978 ; X32-NEXT: movl %ecx, (%esp)
979 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp)
980 ; X32-NEXT: fildll (%esp)
981 ; X32-NEXT: fistpll (%eax)
982 ; X32-NEXT: movl %ebp, %esp
983 ; X32-NEXT: popl %ebp
984 ; X32-NEXT: .cfi_def_cfa %esp, 4
985 ; X32-NEXT: retl
995 ; X64: # %bb.0:
1001 ; X32-LABEL: or_32i_seq_cst:
1002 ; X32: # %bb.0:
1003 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1004 ; X32-NEXT: movl (%eax), %ecx
1005 ; X32-NEXT: orl $2, %ecx
1006 ; X32-NEXT: xchgl %ecx, (%eax)
1007 ; X32-NEXT: retl
1016 ; X64: # %bb.0:
1022 ; X32-LABEL: or_32r_seq_cst:
1023 ; X32: # %bb.0:
1024 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1025 ; X32-NEXT: movl (%eax), %ecx
1026 ; X32-NEXT: orl {{[0-9]+}}(%esp), %ecx
1027 ; X32-NEXT: xchgl %ecx, (%eax)
1028 ; X32-NEXT: retl
1039 ; X64: # %bb.0:
1043 ; X32-LABEL: xor_8i:
1044 ; X32: # %bb.0:
1045 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1046 ; X32-NEXT: xorb $2, (%eax)
1047 ; X32-NEXT: retl
1056 ; X64: # %bb.0:
1060 ; X32-LABEL: xor_8r:
1061 ; X32: # %bb.0:
1062 ; X32-NEXT: movzbl {{[0-9]+}}(%esp), %eax
1063 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
1064 ; X32-NEXT: xorb %al, (%ecx)
1065 ; X32-NEXT: retl
1074 ; X64: # %bb.0:
1078 ; X32-LABEL: xor_16i:
1079 ; X32: # %bb.0:
1080 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1081 ; X32-NEXT: xorw $2, (%eax)
1082 ; X32-NEXT: retl
1091 ; X64: # %bb.0:
1095 ; X32-LABEL: xor_16r:
1096 ; X32: # %bb.0:
1097 ; X32-NEXT: movzwl {{[0-9]+}}(%esp), %eax
1098 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
1099 ; X32-NEXT: xorw %ax, (%ecx)
1100 ; X32-NEXT: retl
1109 ; X64: # %bb.0:
1113 ; X32-LABEL: xor_32i:
1114 ; X32: # %bb.0:
1115 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1116 ; X32-NEXT: xorl $2, (%eax)
1117 ; X32-NEXT: retl
1126 ; X64: # %bb.0:
1130 ; X32-LABEL: xor_32r:
1131 ; X32: # %bb.0:
1132 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1133 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
1134 ; X32-NEXT: xorl %eax, (%ecx)
1135 ; X32-NEXT: retl
1144 ; X64: # %bb.0:
1148 ; X32-LABEL: xor_64i:
1149 ; X32: # %bb.0:
1150 ; X32-NEXT: pushl %ebp
1151 ; X32-NEXT: .cfi_def_cfa_offset 8
1152 ; X32-NEXT: .cfi_offset %ebp, -8
1153 ; X32-NEXT: movl %esp, %ebp
1154 ; X32-NEXT: .cfi_def_cfa_register %ebp
1155 ; X32-NEXT: andl $-8, %esp
1156 ; X32-NEXT: subl $16, %esp
1157 ; X32-NEXT: movl 8(%ebp), %eax
1158 ; X32-NEXT: fildll (%eax)
1159 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
1160 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
1161 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
1162 ; X32-NEXT: xorl $2, %ecx
1163 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp)
1164 ; X32-NEXT: movl %ecx, (%esp)
1165 ; X32-NEXT: fildll (%esp)
1166 ; X32-NEXT: fistpll (%eax)
1167 ; X32-NEXT: movl %ebp, %esp
1168 ; X32-NEXT: popl %ebp
1169 ; X32-NEXT: .cfi_def_cfa %esp, 4
1170 ; X32-NEXT: retl
1180 ; X64: # %bb.0:
1184 ; X32-LABEL: xor_64r:
1185 ; X32: # %bb.0:
1186 ; X32-NEXT: pushl %ebp
1187 ; X32-NEXT: .cfi_def_cfa_offset 8
1188 ; X32-NEXT: .cfi_offset %ebp, -8
1189 ; X32-NEXT: movl %esp, %ebp
1190 ; X32-NEXT: .cfi_def_cfa_register %ebp
1191 ; X32-NEXT: andl $-8, %esp
1192 ; X32-NEXT: subl $16, %esp
1193 ; X32-NEXT: movl 8(%ebp), %eax
1194 ; X32-NEXT: fildll (%eax)
1195 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
1196 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
1197 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
1198 ; X32-NEXT: xorl 16(%ebp), %edx
1199 ; X32-NEXT: xorl 12(%ebp), %ecx
1200 ; X32-NEXT: movl %ecx, (%esp)
1201 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp)
1202 ; X32-NEXT: fildll (%esp)
1203 ; X32-NEXT: fistpll (%eax)
1204 ; X32-NEXT: movl %ebp, %esp
1205 ; X32-NEXT: popl %ebp
1206 ; X32-NEXT: .cfi_def_cfa %esp, 4
1207 ; X32-NEXT: retl
1217 ; X64: # %bb.0:
1223 ; X32-LABEL: xor_32i_seq_cst:
1224 ; X32: # %bb.0:
1225 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1226 ; X32-NEXT: movl (%eax), %ecx
1227 ; X32-NEXT: xorl $2, %ecx
1228 ; X32-NEXT: xchgl %ecx, (%eax)
1229 ; X32-NEXT: retl
1238 ; X64: # %bb.0:
1244 ; X32-LABEL: xor_32r_seq_cst:
1245 ; X32: # %bb.0:
1246 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1247 ; X32-NEXT: movl (%eax), %ecx
1248 ; X32-NEXT: xorl {{[0-9]+}}(%esp), %ecx
1249 ; X32-NEXT: xchgl %ecx, (%eax)
1250 ; X32-NEXT: retl
1261 ; FAST_INC: # %bb.0:
1265 ; X32-LABEL: inc_8:
1266 ; X32: # %bb.0:
1267 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1268 ; X32-NEXT: incb (%eax)
1269 ; X32-NEXT: retl
1272 ; SLOW_INC: # %bb.0:
1283 ; FAST_INC: # %bb.0:
1287 ; X32-LABEL: inc_16:
1288 ; X32: # %bb.0:
1289 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1290 ; X32-NEXT: incw (%eax)
1291 ; X32-NEXT: retl
1294 ; SLOW_INC: # %bb.0:
1305 ; FAST_INC: # %bb.0:
1309 ; X32-LABEL: inc_32:
1310 ; X32: # %bb.0:
1311 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1312 ; X32-NEXT: incl (%eax)
1313 ; X32-NEXT: retl
1316 ; SLOW_INC: # %bb.0:
1327 ; FAST_INC: # %bb.0:
1331 ; X32-LABEL: inc_64:
1332 ; X32: # %bb.0:
1333 ; X32-NEXT: pushl %ebp
1334 ; X32-NEXT: .cfi_def_cfa_offset 8
1335 ; X32-NEXT: .cfi_offset %ebp, -8
1336 ; X32-NEXT: movl %esp, %ebp
1337 ; X32-NEXT: .cfi_def_cfa_register %ebp
1338 ; X32-NEXT: andl $-8, %esp
1339 ; X32-NEXT: subl $16, %esp
1340 ; X32-NEXT: movl 8(%ebp), %eax
1341 ; X32-NEXT: fildll (%eax)
1342 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
1343 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
1344 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
1345 ; X32-NEXT: addl $1, %ecx
1346 ; X32-NEXT: adcl $0, %edx
1347 ; X32-NEXT: movl %ecx, (%esp)
1348 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp)
1349 ; X32-NEXT: fildll (%esp)
1350 ; X32-NEXT: fistpll (%eax)
1351 ; X32-NEXT: movl %ebp, %esp
1352 ; X32-NEXT: popl %ebp
1353 ; X32-NEXT: .cfi_def_cfa %esp, 4
1354 ; X32-NEXT: retl
1357 ; SLOW_INC: # %bb.0:
1369 ; FAST_INC: # %bb.0:
1375 ; X32-LABEL: inc_32_seq_cst:
1376 ; X32: # %bb.0:
1377 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1378 ; X32-NEXT: movl (%eax), %ecx
1379 ; X32-NEXT: incl %ecx
1380 ; X32-NEXT: xchgl %ecx, (%eax)
1381 ; X32-NEXT: retl
1384 ; SLOW_INC: # %bb.0:
1399 ; FAST_INC: # %bb.0:
1403 ; X32-LABEL: dec_8:
1404 ; X32: # %bb.0:
1405 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1406 ; X32-NEXT: decb (%eax)
1407 ; X32-NEXT: retl
1410 ; SLOW_INC: # %bb.0:
1421 ; FAST_INC: # %bb.0:
1425 ; X32-LABEL: dec_16:
1426 ; X32: # %bb.0:
1427 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1428 ; X32-NEXT: decw (%eax)
1429 ; X32-NEXT: retl
1432 ; SLOW_INC: # %bb.0:
1443 ; FAST_INC: # %bb.0:
1447 ; X32-LABEL: dec_32:
1448 ; X32: # %bb.0:
1449 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1450 ; X32-NEXT: decl (%eax)
1451 ; X32-NEXT: retl
1454 ; SLOW_INC: # %bb.0:
1465 ; FAST_INC: # %bb.0:
1469 ; X32-LABEL: dec_64:
1470 ; X32: # %bb.0:
1471 ; X32-NEXT: pushl %ebp
1472 ; X32-NEXT: .cfi_def_cfa_offset 8
1473 ; X32-NEXT: .cfi_offset %ebp, -8
1474 ; X32-NEXT: movl %esp, %ebp
1475 ; X32-NEXT: .cfi_def_cfa_register %ebp
1476 ; X32-NEXT: andl $-8, %esp
1477 ; X32-NEXT: subl $16, %esp
1478 ; X32-NEXT: movl 8(%ebp), %eax
1479 ; X32-NEXT: fildll (%eax)
1480 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
1481 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
1482 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
1483 ; X32-NEXT: addl $-1, %ecx
1484 ; X32-NEXT: adcl $-1, %edx
1485 ; X32-NEXT: movl %ecx, (%esp)
1486 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp)
1487 ; X32-NEXT: fildll (%esp)
1488 ; X32-NEXT: fistpll (%eax)
1489 ; X32-NEXT: movl %ebp, %esp
1490 ; X32-NEXT: popl %ebp
1491 ; X32-NEXT: .cfi_def_cfa %esp, 4
1492 ; X32-NEXT: retl
1495 ; SLOW_INC: # %bb.0:
1507 ; FAST_INC: # %bb.0:
1513 ; X32-LABEL: dec_32_seq_cst:
1514 ; X32: # %bb.0:
1515 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1516 ; X32-NEXT: movl (%eax), %ecx
1517 ; X32-NEXT: decl %ecx
1518 ; X32-NEXT: xchgl %ecx, (%eax)
1519 ; X32-NEXT: retl
1522 ; SLOW_INC: # %bb.0:
1537 ; X64: # %bb.0:
1541 ; X32-LABEL: not_8:
1542 ; X32: # %bb.0:
1543 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1544 ; X32-NEXT: notb (%eax)
1545 ; X32-NEXT: retl
1554 ; X64: # %bb.0:
1558 ; X32-LABEL: not_16:
1559 ; X32: # %bb.0:
1560 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1561 ; X32-NEXT: notw (%eax)
1562 ; X32-NEXT: retl
1571 ; X64: # %bb.0:
1575 ; X32-LABEL: not_32:
1576 ; X32: # %bb.0:
1577 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1578 ; X32-NEXT: notl (%eax)
1579 ; X32-NEXT: retl
1588 ; X64: # %bb.0:
1592 ; X32-LABEL: not_64:
1593 ; X32: # %bb.0:
1594 ; X32-NEXT: pushl %ebp
1595 ; X32-NEXT: .cfi_def_cfa_offset 8
1596 ; X32-NEXT: .cfi_offset %ebp, -8
1597 ; X32-NEXT: movl %esp, %ebp
1598 ; X32-NEXT: .cfi_def_cfa_register %ebp
1599 ; X32-NEXT: andl $-8, %esp
1600 ; X32-NEXT: subl $16, %esp
1601 ; X32-NEXT: movl 8(%ebp), %eax
1602 ; X32-NEXT: fildll (%eax)
1603 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
1604 ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
1605 ; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
1606 ; X32-NEXT: notl %edx
1607 ; X32-NEXT: notl %ecx
1608 ; X32-NEXT: movl %ecx, (%esp)
1609 ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp)
1610 ; X32-NEXT: fildll (%esp)
1611 ; X32-NEXT: fistpll (%eax)
1612 ; X32-NEXT: movl %ebp, %esp
1613 ; X32-NEXT: popl %ebp
1614 ; X32-NEXT: .cfi_def_cfa %esp, 4
1615 ; X32-NEXT: retl
1625 ; X64: # %bb.0:
1631 ; X32-LABEL: not_32_seq_cst:
1632 ; X32: # %bb.0:
1633 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1634 ; X32-NEXT: movl (%eax), %ecx
1635 ; X32-NEXT: notl %ecx
1636 ; X32-NEXT: xchgl %ecx, (%eax)
1637 ; X32-NEXT: retl
1648 ; X64: # %bb.0:
1652 ; X32-LABEL: neg_8:
1653 ; X32: # %bb.0:
1654 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1655 ; X32-NEXT: negb (%eax)
1656 ; X32-NEXT: retl
1658 %2 = sub i8 0, %1
1665 ; X64: # %bb.0:
1671 ; X32-LABEL: neg_16:
1672 ; X32: # %bb.0:
1673 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1674 ; X32-NEXT: movzwl (%eax), %ecx
1675 ; X32-NEXT: negl %ecx
1676 ; X32-NEXT: movw %cx, (%eax)
1677 ; X32-NEXT: retl
1679 %2 = sub i16 0, %1
1686 ; X64: # %bb.0:
1690 ; X32-LABEL: neg_32:
1691 ; X32: # %bb.0:
1692 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1693 ; X32-NEXT: negl (%eax)
1694 ; X32-NEXT: retl
1696 %2 = sub i32 0, %1
1703 ; X64: # %bb.0:
1707 ; X32-LABEL: neg_64:
1708 ; X32: # %bb.0:
1709 ; X32-NEXT: pushl %ebp
1710 ; X32-NEXT: .cfi_def_cfa_offset 8
1711 ; X32-NEXT: .cfi_offset %ebp, -8
1712 ; X32-NEXT: movl %esp, %ebp
1713 ; X32-NEXT: .cfi_def_cfa_register %ebp
1714 ; X32-NEXT: andl $-8, %esp
1715 ; X32-NEXT: subl $16, %esp
1716 ; X32-NEXT: movl 8(%ebp), %eax
1717 ; X32-NEXT: fildll (%eax)
1718 ; X32-NEXT: fistpll {{[0-9]+}}(%esp)
1719 ; X32-NEXT: xorl %ecx, %ecx
1720 ; X32-NEXT: xorl %edx, %edx
1721 ; X32-NEXT: subl {{[0-9]+}}(%esp), %edx
1722 ; X32-NEXT: sbbl {{[0-9]+}}(%esp), %ecx
1723 ; X32-NEXT: movl %edx, (%esp)
1724 ; X32-NEXT: movl %ecx, {{[0-9]+}}(%esp)
1725 ; X32-NEXT: fildll (%esp)
1726 ; X32-NEXT: fistpll (%eax)
1727 ; X32-NEXT: movl %ebp, %esp
1728 ; X32-NEXT: popl %ebp
1729 ; X32-NEXT: .cfi_def_cfa %esp, 4
1730 ; X32-NEXT: retl
1733 %2 = sub i64 0, %1
1740 ; X64: # %bb.0:
1746 ; X32-LABEL: neg_32_seq_cst:
1747 ; X32: # %bb.0:
1748 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
1749 ; X32-NEXT: movl (%eax), %ecx
1750 ; X32-NEXT: negl %ecx
1751 ; X32-NEXT: xchgl %ecx, (%eax)
1752 ; X32-NEXT: retl
1754 %2 = sub i32 0, %1