Lines Matching refs:X64
3 ; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s --check-prefix=X64-LINUX
4 ; RUN: llc < %s -mtriple=x86_64-win32 | FileCheck %s --check-prefix=X64-WIN32
17 ; X64-LINUX-LABEL: test1:
18 ; X64-LINUX: # %bb.0: # %entry
19 ; X64-LINUX-NEXT: # kill: def $edi killed $edi def $rdi
20 ; X64-LINUX-NEXT: leal 128(%rdi), %eax
21 ; X64-LINUX-NEXT: retq
23 ; X64-WIN32-LABEL: test1:
24 ; X64-WIN32: # %bb.0: # %entry
25 ; X64-WIN32-NEXT: # kill: def $ecx killed $ecx def $rcx
26 ; X64-WIN32-NEXT: leal 128(%rcx), %eax
27 ; X64-WIN32-NEXT: retq
41 ; X64-LINUX-LABEL: test1b:
42 ; X64-LINUX: # %bb.0: # %entry
43 ; X64-LINUX-NEXT: movl (%rdi), %eax
44 ; X64-LINUX-NEXT: subl $-128, %eax
45 ; X64-LINUX-NEXT: retq
47 ; X64-WIN32-LABEL: test1b:
48 ; X64-WIN32: # %bb.0: # %entry
49 ; X64-WIN32-NEXT: movl (%rcx), %eax
50 ; X64-WIN32-NEXT: subl $-128, %eax
51 ; X64-WIN32-NEXT: retq
65 ; X64-LINUX-LABEL: test2:
66 ; X64-LINUX: # %bb.0: # %entry
67 ; X64-LINUX-NEXT: movq %rdi, %rax
68 ; X64-LINUX-NEXT: subq $-2147483648, %rax # imm = 0x80000000
69 ; X64-LINUX-NEXT: retq
71 ; X64-WIN32-LABEL: test2:
72 ; X64-WIN32: # %bb.0: # %entry
73 ; X64-WIN32-NEXT: movq %rcx, %rax
74 ; X64-WIN32-NEXT: subq $-2147483648, %rax # imm = 0x80000000
75 ; X64-WIN32-NEXT: retq
87 ; X64-LINUX-LABEL: test3:
88 ; X64-LINUX: # %bb.0: # %entry
89 ; X64-LINUX-NEXT: leaq 128(%rdi), %rax
90 ; X64-LINUX-NEXT: retq
92 ; X64-WIN32-LABEL: test3:
93 ; X64-WIN32: # %bb.0: # %entry
94 ; X64-WIN32-NEXT: leaq 128(%rcx), %rax
95 ; X64-WIN32-NEXT: retq
111 ; X64-LINUX-LABEL: test3b:
112 ; X64-LINUX: # %bb.0: # %entry
113 ; X64-LINUX-NEXT: movq (%rdi), %rax
114 ; X64-LINUX-NEXT: subq $-128, %rax
115 ; X64-LINUX-NEXT: retq
117 ; X64-WIN32-LABEL: test3b:
118 ; X64-WIN32: # %bb.0: # %entry
119 ; X64-WIN32-NEXT: movq (%rcx), %rax
120 ; X64-WIN32-NEXT: subq $-128, %rax
121 ; X64-WIN32-NEXT: retq
141 ; X64-LINUX-LABEL: test4:
142 ; X64-LINUX: # %bb.0: # %entry
143 ; X64-LINUX-NEXT: addl %esi, %edi
144 ; X64-LINUX-NEXT: jo .LBB5_2
145 ; X64-LINUX-NEXT: # %bb.1: # %normal
146 ; X64-LINUX-NEXT: movl $0, (%rdx)
147 ; X64-LINUX-NEXT: .LBB5_2: # %overflow
148 ; X64-LINUX-NEXT: xorl %eax, %eax
149 ; X64-LINUX-NEXT: retq
151 ; X64-WIN32-LABEL: test4:
152 ; X64-WIN32: # %bb.0: # %entry
153 ; X64-WIN32-NEXT: addl %edx, %ecx
154 ; X64-WIN32-NEXT: jo .LBB5_2
155 ; X64-WIN32-NEXT: # %bb.1: # %normal
156 ; X64-WIN32-NEXT: movl $0, (%r8)
157 ; X64-WIN32-NEXT: .LBB5_2: # %overflow
158 ; X64-WIN32-NEXT: xorl %eax, %eax
159 ; X64-WIN32-NEXT: retq
187 ; X64-LINUX-LABEL: test5:
188 ; X64-LINUX: # %bb.0: # %entry
189 ; X64-LINUX-NEXT: addl %esi, %edi
190 ; X64-LINUX-NEXT: jb .LBB6_2
191 ; X64-LINUX-NEXT: # %bb.1: # %normal
192 ; X64-LINUX-NEXT: movl $0, (%rdx)
193 ; X64-LINUX-NEXT: .LBB6_2: # %carry
194 ; X64-LINUX-NEXT: xorl %eax, %eax
195 ; X64-LINUX-NEXT: retq
197 ; X64-WIN32-LABEL: test5:
198 ; X64-WIN32: # %bb.0: # %entry
199 ; X64-WIN32-NEXT: addl %edx, %ecx
200 ; X64-WIN32-NEXT: jb .LBB6_2
201 ; X64-WIN32-NEXT: # %bb.1: # %normal
202 ; X64-WIN32-NEXT: movl $0, (%r8)
203 ; X64-WIN32-NEXT: .LBB6_2: # %carry
204 ; X64-WIN32-NEXT: xorl %eax, %eax
205 ; X64-WIN32-NEXT: retq
228 ; X64-LINUX-LABEL: test6:
229 ; X64-LINUX: # %bb.0: # %entry
230 ; X64-LINUX-NEXT: # kill: def $esi killed $esi def $rsi
231 ; X64-LINUX-NEXT: shlq $32, %rsi
232 ; X64-LINUX-NEXT: leaq (%rsi,%rdi), %rax
233 ; X64-LINUX-NEXT: retq
235 ; X64-WIN32-LABEL: test6:
236 ; X64-WIN32: # %bb.0: # %entry
237 ; X64-WIN32-NEXT: # kill: def $edx killed $edx def $rdx
238 ; X64-WIN32-NEXT: shlq $32, %rdx
239 ; X64-WIN32-NEXT: leaq (%rdx,%rcx), %rax
240 ; X64-WIN32-NEXT: retq
256 ; X64-LINUX-LABEL: test7:
257 ; X64-LINUX: # %bb.0: # %entry
258 ; X64-LINUX-NEXT: movl %edi, %eax
259 ; X64-LINUX-NEXT: addl %esi, %eax
260 ; X64-LINUX-NEXT: setb %dl
261 ; X64-LINUX-NEXT: retq
263 ; X64-WIN32-LABEL: test7:
264 ; X64-WIN32: # %bb.0: # %entry
265 ; X64-WIN32-NEXT: movl %ecx, %eax
266 ; X64-WIN32-NEXT: addl %edx, %eax
267 ; X64-WIN32-NEXT: setb %dl
268 ; X64-WIN32-NEXT: retq
285 ; X64-LINUX-LABEL: test8:
286 ; X64-LINUX: # %bb.0: # %entry
287 ; X64-LINUX-NEXT: movq %rdi, %rax
288 ; X64-LINUX-NEXT: addq %rsi, %rax
289 ; X64-LINUX-NEXT: setb %dl
290 ; X64-LINUX-NEXT: retq
292 ; X64-WIN32-LABEL: test8:
293 ; X64-WIN32: # %bb.0: # %entry
294 ; X64-WIN32-NEXT: movq %rcx, %rax
295 ; X64-WIN32-NEXT: addq %rdx, %rax
296 ; X64-WIN32-NEXT: setb %dl
297 ; X64-WIN32-NEXT: retq
320 ; X64-LINUX-LABEL: test9:
321 ; X64-LINUX: # %bb.0: # %entry
322 ; X64-LINUX-NEXT: movl %esi, %eax
323 ; X64-LINUX-NEXT: xorl %ecx, %ecx
324 ; X64-LINUX-NEXT: cmpl $10, %edi
325 ; X64-LINUX-NEXT: sete %cl
326 ; X64-LINUX-NEXT: subl %ecx, %eax
327 ; X64-LINUX-NEXT: retq
329 ; X64-WIN32-LABEL: test9:
330 ; X64-WIN32: # %bb.0: # %entry
331 ; X64-WIN32-NEXT: movl %edx, %eax
332 ; X64-WIN32-NEXT: xorl %edx, %edx
333 ; X64-WIN32-NEXT: cmpl $10, %ecx
334 ; X64-WIN32-NEXT: sete %dl
335 ; X64-WIN32-NEXT: subl %edx, %eax
336 ; X64-WIN32-NEXT: retq
352 ; X64-LINUX-LABEL: test10:
353 ; X64-LINUX: # %bb.0: # %entry
354 ; X64-LINUX-NEXT: incl %edi
355 ; X64-LINUX-NEXT: seto %al
356 ; X64-LINUX-NEXT: retq
358 ; X64-WIN32-LABEL: test10:
359 ; X64-WIN32: # %bb.0: # %entry
360 ; X64-WIN32-NEXT: incl %ecx
361 ; X64-WIN32-NEXT: seto %al
362 ; X64-WIN32-NEXT: retq
375 ; X64-LINUX-LABEL: test11:
376 ; X64-LINUX: # %bb.0: # %entry
377 ; X64-LINUX-NEXT: subl $-128, (%rdi)
378 ; X64-LINUX-NEXT: retq
380 ; X64-WIN32-LABEL: test11:
381 ; X64-WIN32: # %bb.0: # %entry
382 ; X64-WIN32-NEXT: subl $-128, (%rcx)
383 ; X64-WIN32-NEXT: retq
398 ; X64-LINUX-LABEL: test12:
399 ; X64-LINUX: # %bb.0: # %entry
400 ; X64-LINUX-NEXT: subq $-2147483648, (%rdi) # imm = 0x80000000
401 ; X64-LINUX-NEXT: retq
403 ; X64-WIN32-LABEL: test12:
404 ; X64-WIN32: # %bb.0: # %entry
405 ; X64-WIN32-NEXT: subq $-2147483648, (%rcx) # imm = 0x80000000
406 ; X64-WIN32-NEXT: retq
421 ; X64-LINUX-LABEL: test13:
422 ; X64-LINUX: # %bb.0: # %entry
423 ; X64-LINUX-NEXT: subq $-128, (%rdi)
424 ; X64-LINUX-NEXT: retq
426 ; X64-WIN32-LABEL: test13:
427 ; X64-WIN32: # %bb.0: # %entry
428 ; X64-WIN32-NEXT: subq $-128, (%rcx)
429 ; X64-WIN32-NEXT: retq
444 ; X64-LINUX-LABEL: inc_not:
445 ; X64-LINUX: # %bb.0:
446 ; X64-LINUX-NEXT: movl %edi, %eax
447 ; X64-LINUX-NEXT: negl %eax
448 ; X64-LINUX-NEXT: retq
450 ; X64-WIN32-LABEL: inc_not:
451 ; X64-WIN32: # %bb.0:
452 ; X64-WIN32-NEXT: movl %ecx, %eax
453 ; X64-WIN32-NEXT: negl %eax
454 ; X64-WIN32-NEXT: retq
482 ; X64-LINUX-LABEL: inc_not_vec:
483 ; X64-LINUX: # %bb.0:
484 ; X64-LINUX-NEXT: pxor %xmm1, %xmm1
485 ; X64-LINUX-NEXT: psubd %xmm0, %xmm1
486 ; X64-LINUX-NEXT: movdqa %xmm1, %xmm0
487 ; X64-LINUX-NEXT: retq
489 ; X64-WIN32-LABEL: inc_not_vec:
490 ; X64-WIN32: # %bb.0:
491 ; X64-WIN32-NEXT: pxor %xmm0, %xmm0
492 ; X64-WIN32-NEXT: psubd (%rcx), %xmm0
493 ; X64-WIN32-NEXT: retq
510 ; X64-LINUX-LABEL: uaddo1_not:
511 ; X64-LINUX: # %bb.0:
512 ; X64-LINUX-NEXT: negl %edi
513 ; X64-LINUX-NEXT: movl %edi, (%rsi)
514 ; X64-LINUX-NEXT: setae (%rdx)
515 ; X64-LINUX-NEXT: retq
517 ; X64-WIN32-LABEL: uaddo1_not:
518 ; X64-WIN32: # %bb.0:
519 ; X64-WIN32-NEXT: negl %ecx
520 ; X64-WIN32-NEXT: movl %ecx, (%rdx)
521 ; X64-WIN32-NEXT: setae (%r8)
522 ; X64-WIN32-NEXT: retq
539 ; X64-LINUX-LABEL: add_to_sub:
540 ; X64-LINUX: # %bb.0:
541 ; X64-LINUX-NEXT: movl %esi, %eax
542 ; X64-LINUX-NEXT: subl %edi, %eax
543 ; X64-LINUX-NEXT: retq
545 ; X64-WIN32-LABEL: add_to_sub:
546 ; X64-WIN32: # %bb.0:
547 ; X64-WIN32-NEXT: movl %edx, %eax
548 ; X64-WIN32-NEXT: subl %ecx, %eax
549 ; X64-WIN32-NEXT: retq
575 ; X64-LINUX-LABEL: add_i32_128_flag:
576 ; X64-LINUX: # %bb.0: # %entry
577 ; X64-LINUX-NEXT: subl $-128, %edi
578 ; X64-LINUX-NEXT: je .LBB19_1
579 ; X64-LINUX-NEXT: # %bb.2: # %if.then
580 ; X64-LINUX-NEXT: jmp bar_i32 # TAILCALL
581 ; X64-LINUX-NEXT: .LBB19_1: # %if.end
582 ; X64-LINUX-NEXT: retq
584 ; X64-WIN32-LABEL: add_i32_128_flag:
585 ; X64-WIN32: # %bb.0: # %entry
586 ; X64-WIN32-NEXT: subl $-128, %ecx
587 ; X64-WIN32-NEXT: je .LBB19_1
588 ; X64-WIN32-NEXT: # %bb.2: # %if.then
589 ; X64-WIN32-NEXT: jmp bar_i32 # TAILCALL
590 ; X64-WIN32-NEXT: .LBB19_1: # %if.end
591 ; X64-WIN32-NEXT: retq
627 ; X64-LINUX-LABEL: add_i64_128_flag:
628 ; X64-LINUX: # %bb.0: # %entry
629 ; X64-LINUX-NEXT: subq $-128, %rdi
630 ; X64-LINUX-NEXT: je .LBB20_1
631 ; X64-LINUX-NEXT: # %bb.2: # %if.then
632 ; X64-LINUX-NEXT: jmp bar_i64 # TAILCALL
633 ; X64-LINUX-NEXT: .LBB20_1: # %if.end
634 ; X64-LINUX-NEXT: retq
636 ; X64-WIN32-LABEL: add_i64_128_flag:
637 ; X64-WIN32: # %bb.0: # %entry
638 ; X64-WIN32-NEXT: subq $-128, %rcx
639 ; X64-WIN32-NEXT: je .LBB20_1
640 ; X64-WIN32-NEXT: # %bb.2: # %if.then
641 ; X64-WIN32-NEXT: jmp bar_i64 # TAILCALL
642 ; X64-WIN32-NEXT: .LBB20_1: # %if.end
643 ; X64-WIN32-NEXT: retq
679 ; X64-LINUX-LABEL: add_i64_2147483648_flag:
680 ; X64-LINUX: # %bb.0: # %entry
681 ; X64-LINUX-NEXT: subq $-2147483648, %rdi # imm = 0x80000000
682 ; X64-LINUX-NEXT: je .LBB21_1
683 ; X64-LINUX-NEXT: # %bb.2: # %if.then
684 ; X64-LINUX-NEXT: jmp bar_i64 # TAILCALL
685 ; X64-LINUX-NEXT: .LBB21_1: # %if.end
686 ; X64-LINUX-NEXT: retq
688 ; X64-WIN32-LABEL: add_i64_2147483648_flag:
689 ; X64-WIN32: # %bb.0: # %entry
690 ; X64-WIN32-NEXT: subq $-2147483648, %rcx # imm = 0x80000000
691 ; X64-WIN32-NEXT: je .LBB21_1
692 ; X64-WIN32-NEXT: # %bb.2: # %if.then
693 ; X64-WIN32-NEXT: jmp bar_i64 # TAILCALL
694 ; X64-WIN32-NEXT: .LBB21_1: # %if.end
695 ; X64-WIN32-NEXT: retq