Lines Matching refs:X64
1 …N: llc < %s -mtriple=x86_64-unknown-unknown -verify-machineinstrs | FileCheck %s --check-prefix X64
32 ; X64-LABEL: store_atomic_imm_8:
33 ; X64: movb
34 ; X64-NOT: movb
43 ; X64-LABEL: store_atomic_imm_16:
44 ; X64: movw
45 ; X64-NOT: movw
54 ; X64-LABEL: store_atomic_imm_32:
55 ; X64: movl
56 ; X64-NOT: movl
68 ; X64-LABEL: store_atomic_imm_64:
69 ; X64: movq
70 ; X64-NOT: movq
80 ; even on X64, one must use movabsq that can only target a register.
82 ; X64-LABEL: store_atomic_imm_64_big:
83 ; X64: movabsq
84 ; X64: movq
91 ; X64-LABEL: store_atomic_imm_32_seq_cst:
92 ; X64: xchgl
102 ; X64-LABEL: add_8i:
103 ; X64-NOT: lock
104 ; X64: addb
105 ; X64-NOT: movb
117 ; X64-LABEL: add_8r:
118 ; X64-NOT: lock
119 ; X64: addb
120 ; X64-NOT: movb
134 ; X64-LABEL: add_16i:
135 ; X64-NOT: addw
147 ; X64-LABEL: add_16r:
148 ; X64-NOT: addw
158 ; X64-LABEL: add_32i:
159 ; X64-NOT: lock
160 ; X64: addl
161 ; X64-NOT: movl
173 ; X64-LABEL: add_32r:
174 ; X64-NOT: lock
175 ; X64: addl
176 ; X64-NOT: movl
191 ; X64-LABEL: add_32r_self:
192 ; X64-NOT: lock
193 ; X64: movl (%[[M:[a-z]+]]), %[[R:[a-z]+]]
194 ; X64: addl %[[R]], %[[R]]
195 ; X64: movl %[[R]], (%[[M]])
210 ; X64-LABEL: add_32r_ret_load:
211 ; X64-NOT: lock
212 ; X64: movl (%rdi), %eax
213 ; X64-NEXT: addl %eax, %esi
214 ; X64-NEXT: movl %esi, (%rdi)
215 ; X64-NEXT: retq
231 ; X64-LABEL: add_64i:
232 ; X64-NOT: lock
233 ; X64: addq
234 ; X64-NOT: movq
244 ; X64-LABEL: add_64r:
245 ; X64-NOT: lock
246 ; X64: addq
247 ; X64-NOT: movq
257 ; X64-LABEL: add_32i_seq_cst:
258 ; X64: xchgl
268 ; X64-LABEL: add_32r_seq_cst:
269 ; X64: xchgl
281 ; X64-LABEL: and_8i:
282 ; X64-NOT: lock
283 ; X64: andb
284 ; X64-NOT: movb
296 ; X64-LABEL: and_8r:
297 ; X64-NOT: lock
298 ; X64: andb
299 ; X64-NOT: movb
313 ; X64-LABEL: and_16i:
314 ; X64-NOT: andw
326 ; X64-LABEL: and_16r:
327 ; X64-NOT: andw
337 ; X64-LABEL: and_32i:
338 ; X64-NOT: lock
339 ; X64: andl
340 ; X64-NOT: movl
352 ; X64-LABEL: and_32r:
353 ; X64-NOT: lock
354 ; X64: andl
355 ; X64-NOT: movl
367 ; X64-LABEL: and_64i:
368 ; X64-NOT: lock
369 ; X64: andq
370 ; X64-NOT: movq
380 ; X64-LABEL: and_64r:
381 ; X64-NOT: lock
382 ; X64: andq
383 ; X64-NOT: movq
393 ; X64-LABEL: and_32i_seq_cst:
394 ; X64: xchgl
404 ; X64-LABEL: and_32r_seq_cst:
405 ; X64: xchgl
417 ; X64-LABEL: or_8i:
418 ; X64-NOT: lock
419 ; X64: orb
420 ; X64-NOT: movb
432 ; X64-LABEL: or_8r:
433 ; X64-NOT: lock
434 ; X64: orb
435 ; X64-NOT: movb
447 ; X64-LABEL: or_16i:
448 ; X64-NOT: orw
458 ; X64-LABEL: or_16r:
459 ; X64-NOT: orw
469 ; X64-LABEL: or_32i:
470 ; X64-NOT: lock
471 ; X64: orl
472 ; X64-NOT: movl
484 ; X64-LABEL: or_32r:
485 ; X64-NOT: lock
486 ; X64: orl
487 ; X64-NOT: movl
499 ; X64-LABEL: or_64i:
500 ; X64-NOT: lock
501 ; X64: orq
502 ; X64-NOT: movq
512 ; X64-LABEL: or_64r:
513 ; X64-NOT: lock
514 ; X64: orq
515 ; X64-NOT: movq
525 ; X64-LABEL: or_32i_seq_cst:
526 ; X64: xchgl
536 ; X64-LABEL: or_32r_seq_cst:
537 ; X64: xchgl
549 ; X64-LABEL: xor_8i:
550 ; X64-NOT: lock
551 ; X64: xorb
552 ; X64-NOT: movb
564 ; X64-LABEL: xor_8r:
565 ; X64-NOT: lock
566 ; X64: xorb
567 ; X64-NOT: movb
579 ; X64-LABEL: xor_16i:
580 ; X64-NOT: xorw
590 ; X64-LABEL: xor_16r:
591 ; X64-NOT: xorw
601 ; X64-LABEL: xor_32i:
602 ; X64-NOT: lock
603 ; X64: xorl
604 ; X64-NOT: movl
616 ; X64-LABEL: xor_32r:
617 ; X64-NOT: lock
618 ; X64: xorl
619 ; X64-NOT: movl
631 ; X64-LABEL: xor_64i:
632 ; X64-NOT: lock
633 ; X64: xorq
634 ; X64-NOT: movq
644 ; X64-LABEL: xor_64r:
645 ; X64-NOT: lock
646 ; X64: xorq
647 ; X64-NOT: movq
657 ; X64-LABEL: xor_32i_seq_cst:
658 ; X64: xchgl
668 ; X64-LABEL: xor_32r_seq_cst:
669 ; X64: xchgl
681 ; X64-LABEL: inc_8:
682 ; X64-NOT: lock
683 ; X64: incb
684 ; X64-NOT: movb
701 ; X64-LABEL: inc_16:
702 ; X64-NOT: incw
714 ; X64-LABEL: inc_32:
715 ; X64-NOT: lock
716 ; X64: incl
717 ; X64-NOT: movl
732 ; X64-LABEL: inc_64:
733 ; X64-NOT: lock
734 ; X64: incq
735 ; X64-NOT: movq
748 ; X64-LABEL: inc_32_seq_cst:
749 ; X64: xchgl
761 ; X64-LABEL: dec_8:
762 ; X64-NOT: lock
763 ; X64: decb
764 ; X64-NOT: movb
781 ; X64-LABEL: dec_16:
782 ; X64-NOT: decw
794 ; X64-LABEL: dec_32:
795 ; X64-NOT: lock
796 ; X64: decl
797 ; X64-NOT: movl
812 ; X64-LABEL: dec_64:
813 ; X64-NOT: lock
814 ; X64: decq
815 ; X64-NOT: movq
828 ; X64-LABEL: dec_32_seq_cst:
829 ; X64: xchgl
841 ; X64-LABEL: fadd_32r:
842 ; X64-NOT: lock
843 ; X64-NOT: mov
844 ; X64: addss (%[[M:[a-z]+]]), %[[XMM:xmm[0-9]+]]
845 ; X64-NEXT: movss %[[XMM]], (%[[M]])
859 ; X64-LABEL: fadd_64r:
860 ; X64-NOT: lock
861 ; X64-NOT: mov
862 ; X64: addsd (%[[M:[a-z]+]]), %[[XMM:xmm[0-9]+]]
863 ; X64-NEXT: movsd %[[XMM]], (%[[M]])
880 ; X64-LABEL: fadd_32g:
881 ; X64-NOT: lock
882 ; X64: movss .{{[A-Z0-9_]+}}(%rip), %[[XMM:xmm[0-9]+]]
883 ; X64-NEXT: addss glob32(%rip), %[[XMM]]
884 ; X64-NEXT: movss %[[XMM]], glob32(%rip)
896 ; X64-LABEL: fadd_64g:
897 ; X64-NOT: lock
898 ; X64: movsd .{{[A-Z0-9_]+}}(%rip), %[[XMM:xmm[0-9]+]]
899 ; X64-NEXT: addsd glob64(%rip), %[[XMM]]
900 ; X64-NEXT: movsd %[[XMM]], glob64(%rip)
913 ; X64-LABEL: fadd_32imm:
914 ; X64-NOT: lock
915 ; X64: movl $3735928559, %e[[M:[a-z]+]]
916 ; X64: movss .{{[A-Z0-9_]+}}(%rip), %[[XMM:xmm[0-9]+]]
917 ; X64-NEXT: addss (%r[[M]]), %[[XMM]]
918 ; X64-NEXT: movss %[[XMM]], (%r[[M]])
930 ; X64-LABEL: fadd_64imm:
931 ; X64-NOT: lock
932 ; X64: movl $3735928559, %e[[M:[a-z]+]]
933 ; X64: movsd .{{[A-Z0-9_]+}}(%rip), %[[XMM:xmm[0-9]+]]
934 ; X64-NEXT: addsd (%r[[M]]), %[[XMM]]
935 ; X64-NEXT: movsd %[[XMM]], (%r[[M]])
948 ; X64-LABEL: fadd_32stack:
949 ; X64-NOT: lock
950 ; X64: movss .{{[A-Z0-9_]+}}(%rip), %[[XMM:xmm[0-9]+]]
951 ; X64-NEXT: addss [[STACKOFF:-?[0-9]+]](%rsp), %[[XMM]]
952 ; X64-NEXT: movss %[[XMM]], [[STACKOFF]](%rsp)
966 ; X64-LABEL: fadd_64stack:
967 ; X64-NOT: lock
968 ; X64: movsd .{{[A-Z0-9_]+}}(%rip), %[[XMM:xmm[0-9]+]]
969 ; X64-NEXT: addsd [[STACKOFF:-?[0-9]+]](%rsp), %[[XMM]]
970 ; X64-NEXT: movsd %[[XMM]], [[STACKOFF]](%rsp)
984 ; X64-LABEL: fadd_array:
985 ; X64-NOT: lock
986 ; X64: addsd ([[ADDR:%r..,%r..,8]]), %[[XMM:xmm[0-9]+]]
987 ; X64-NEXT: movsd %[[XMM]], ([[ADDR]])