• Home
  • Raw
  • Download

Lines Matching refs:eflags

119     CMP64rr %0, %1, implicit-def $eflags
120 %2:gr64 = COPY $eflags
121 ; CHECK-NOT: COPY{{( killed)?}} $eflags
122 ; CHECK: %[[A_REG:[^:]*]]:gr8 = SETCCr 7, implicit $eflags
123 ; CHECK-NEXT: %[[B_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
124 ; CHECK-NOT: COPY{{( killed)?}} $eflags
126 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
128 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
130 $eflags = COPY %2
131 JCC_1 %bb.1, 7, implicit $eflags
132 JCC_1 %bb.2, 2, implicit $eflags
134 ; CHECK-NOT: $eflags =
136 ; CHECK: TEST8rr %[[A_REG]], %[[A_REG]], implicit-def $eflags
137 ; CHECK-NEXT: JCC_1 %bb.1, 5, implicit killed $eflags
142 ; CHECK-NEXT: TEST8rr %[[B_REG]], %[[B_REG]], implicit-def $eflags
143 ; CHECK-NEXT: JCC_1 %bb.2, 5, implicit killed $eflags
157 %5:gr32 = MOV32r0 implicit-def dead $eflags
175 CMP64rr %0, %1, implicit-def $eflags
176 %2:gr64 = COPY $eflags
177 ; CHECK-NOT: COPY{{( killed)?}} $eflags
178 ; CHECK: %[[A_REG:[^:]*]]:gr8 = SETCCr 7, implicit $eflags
179 ; CHECK-NEXT: %[[B_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
180 ; CHECK-NOT: COPY{{( killed)?}} $eflags
182 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
184 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
186 $eflags = COPY %2
187 JCC_1 %bb.2, 7, implicit $eflags
188 JCC_1 %bb.3, 2, implicit $eflags
189 ; CHECK-NOT: $eflags =
191 ; CHECK: TEST8rr %[[A_REG]], %[[A_REG]], implicit-def $eflags
192 ; CHECK-NEXT: JCC_1 %bb.2, 5, implicit killed $eflags
197 ; CHECK-NEXT: TEST8rr %[[B_REG]], %[[B_REG]], implicit-def $eflags
198 ; CHECK-NEXT: JCC_1 %bb.3, 5, implicit killed $eflags
203 %5:gr32 = MOV32r0 implicit-def dead $eflags
230 CMP64rr %0, %1, implicit-def $eflags
231 %2:gr64 = COPY $eflags
232 ; CHECK-NOT: COPY{{( killed)?}} $eflags
233 ; CHECK: %[[A_REG:[^:]*]]:gr8 = SETCCr 7, implicit $eflags
234 ; CHECK-NEXT: %[[B_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
235 ; CHECK-NEXT: %[[E_REG:[^:]*]]:gr8 = SETCCr 4, implicit $eflags
236 ; CHECK-NEXT: %[[NE_REG:[^:]*]]:gr8 = SETCCr 5, implicit $eflags
237 ; CHECK-NOT: COPY{{( killed)?}} $eflags
239 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
241 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
243 $eflags = COPY %2
244 %3:gr8 = SETCCr 7, implicit $eflags
245 %4:gr8 = SETCCr 2, implicit $eflags
246 %5:gr8 = SETCCr 4, implicit $eflags
247 SETCCm $rsp, 1, $noreg, -16, $noreg, 5, implicit killed $eflags
251 ; CHECK-NOT: $eflags =
273 CMP64rr %0, %1, implicit-def $eflags
274 %2:gr64 = COPY $eflags
275 ; CHECK-NOT: COPY{{( killed)?}} $eflags
276 ; CHECK: %[[A_REG:[^:]*]]:gr8 = SETCCr 7, implicit $eflags
277 ; CHECK-NEXT: %[[B_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
278 ; CHECK-NEXT: %[[E_REG:[^:]*]]:gr8 = SETCCr 4, implicit $eflags
279 ; CHECK-NOT: COPY{{( killed)?}} $eflags
281 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
283 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
285 $eflags = COPY %2
286 %3:gr64 = CMOV64rr %0, %1, 7, implicit $eflags
287 %4:gr64 = CMOV64rr %0, %1, 2, implicit $eflags
288 %5:gr64 = CMOV64rr %0, %1, 4, implicit $eflags
289 %6:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
290 ; CHECK-NOT: $eflags =
291 ; CHECK: TEST8rr %[[A_REG]], %[[A_REG]], implicit-def $eflags
292 ; CHECK-NEXT: %3:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
293 ; CHECK-NEXT: TEST8rr %[[B_REG]], %[[B_REG]], implicit-def $eflags
294 ; CHECK-NEXT: %4:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
295 ; CHECK-NEXT: TEST8rr %[[E_REG]], %[[E_REG]], implicit-def $eflags
296 ; CHECK-NEXT: %5:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
297 ; CHECK-NEXT: TEST8rr %[[E_REG]], %[[E_REG]], implicit-def $eflags
298 ; CHECK-NEXT: %6:gr64 = CMOV64rr %0, %1, 4, implicit killed $eflags
319 %2:gr64 = ADD64rr %0, %1, implicit-def $eflags
320 %3:gr64 = COPY $eflags
321 ; CHECK-NOT: COPY{{( killed)?}} $eflags
322 ; CHECK: %[[CF_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
323 ; CHECK-NOT: COPY{{( killed)?}} $eflags
325 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
327 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
329 $eflags = COPY %3
330 %4:gr64 = ADC64ri32 %2:gr64, 42, implicit-def $eflags, implicit $eflags
331 %5:gr64 = ADC64ri32 %4:gr64, 42, implicit-def $eflags, implicit $eflags
332 ; CHECK-NOT: $eflags =
333 ; CHECK: dead %{{[^:]*}}:gr8 = ADD8ri %[[CF_REG]], 255, implicit-def $eflags
334 ; CHECK-NEXT: %4:gr64 = ADC64ri32 %2, 42, implicit-def $eflags, implicit killed $eflags
335 …XT: %5:gr64 = ADC64ri32 %4, 42, implicit-def{{( dead)?}} $eflags, implicit{{( killed)?}} $eflags
353 %2:gr64 = SUB64rr %0, %1, implicit-def $eflags
354 %3:gr64 = COPY killed $eflags
355 ; CHECK-NOT: COPY{{( killed)?}} $eflags
356 ; CHECK: %[[CF_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
357 ; CHECK-NOT: COPY{{( killed)?}} $eflags
359 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
361 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
363 $eflags = COPY %3
364 %4:gr64 = SBB64ri32 %2:gr64, 42, implicit-def $eflags, implicit killed $eflags
365 %5:gr64 = SBB64ri32 %4:gr64, 42, implicit-def dead $eflags, implicit killed $eflags
366 ; CHECK-NOT: $eflags =
367 ; CHECK: dead %{{[^:]*}}:gr8 = ADD8ri %[[CF_REG]], 255, implicit-def $eflags
368 ; CHECK-NEXT: %4:gr64 = SBB64ri32 %2, 42, implicit-def $eflags, implicit killed $eflags
369 …XT: %5:gr64 = SBB64ri32 %4, 42, implicit-def{{( dead)?}} $eflags, implicit{{( killed)?}} $eflags
387 %2:gr64 = ADD64rr %0, %1, implicit-def $eflags
388 %3:gr64 = COPY $eflags
389 ; CHECK-NOT: COPY{{( killed)?}} $eflags
390 ; CHECK: %[[E_REG:[^:]*]]:gr8 = SETCCr 4, implicit $eflags
391 ; CHECK-NEXT: %[[CF_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
392 ; CHECK-NOT: COPY{{( killed)?}} $eflags
394 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
396 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
398 $eflags = COPY %3
399 %4:gr64 = CMOV64rr %0, %1, 4, implicit $eflags
401 %6:gr64 = ADCX64rr %2, %5, implicit-def $eflags, implicit $eflags
402 ; CHECK-NOT: $eflags =
403 ; CHECK: TEST8rr %[[E_REG]], %[[E_REG]], implicit-def $eflags
404 ; CHECK-NEXT: %4:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
406 ; CHECK-NEXT: dead %{{[^:]*}}:gr8 = ADD8ri %[[CF_REG]], 255, implicit-def $eflags
407 …CHECK-NEXT: %6:gr64 = ADCX64rr %2, %5, implicit-def{{( dead)?}} $eflags, implicit killed $eflags
426 %2:gr64 = ADD64rr %0, %1, implicit-def $eflags
427 %3:gr64 = COPY $eflags
428 ; CHECK-NOT: COPY{{( killed)?}} $eflags
429 ; CHECK: %[[E_REG:[^:]*]]:gr8 = SETCCr 4, implicit $eflags
430 ; CHECK-NEXT: %[[OF_REG:[^:]*]]:gr8 = SETCCr 0, implicit $eflags
431 ; CHECK-NOT: COPY{{( killed)?}} $eflags
433 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
435 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
437 $eflags = COPY %3
438 %4:gr64 = CMOV64rr %0, %1, 4, implicit $eflags
440 %6:gr64 = ADOX64rr %2, %5, implicit-def $eflags, implicit $eflags
441 ; CHECK-NOT: $eflags =
442 ; CHECK: TEST8rr %[[E_REG]], %[[E_REG]], implicit-def $eflags
443 ; CHECK-NEXT: %4:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
445 ; CHECK-NEXT: dead %{{[^:]*}}:gr8 = ADD8ri %[[OF_REG]], 127, implicit-def $eflags
446 …CHECK-NEXT: %6:gr64 = ADOX64rr %2, %5, implicit-def{{( dead)?}} $eflags, implicit killed $eflags
465 %2:gr64 = ADD64rr %0, %1, implicit-def $eflags
466 %3:gr64 = COPY $eflags
467 ; CHECK-NOT: COPY{{( killed)?}} $eflags
468 ; CHECK: %[[CF_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
469 ; CHECK-NOT: COPY{{( killed)?}} $eflags
471 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
473 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
475 $eflags = COPY %3
476 %4:gr64 = RCL64r1 %2:gr64, implicit-def $eflags, implicit $eflags
477 %5:gr64 = RCL64r1 %4:gr64, implicit-def $eflags, implicit $eflags
478 ; CHECK-NOT: $eflags =
479 ; CHECK: dead %{{[^:]*}}:gr8 = ADD8ri %[[CF_REG]], 255, implicit-def $eflags
480 ; CHECK-NEXT: %4:gr64 = RCL64r1 %2, implicit-def $eflags, implicit killed $eflags
481 …ECK-NEXT: %5:gr64 = RCL64r1 %4, implicit-def{{( dead)?}} $eflags, implicit{{( killed)?}} $eflags
499 %2:gr64 = ADD64rr %0, %1, implicit-def $eflags
500 %3:gr64 = COPY $eflags
501 ; CHECK-NOT: COPY{{( killed)?}} $eflags
502 ; CHECK: %[[CF_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
503 ; CHECK-NOT: COPY{{( killed)?}} $eflags
505 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
507 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
509 $eflags = COPY %3
510 %4:gr64 = RCR64r1 %2:gr64, implicit-def $eflags, implicit $eflags
511 %5:gr64 = RCR64r1 %4:gr64, implicit-def $eflags, implicit $eflags
512 ; CHECK-NOT: $eflags =
513 ; CHECK: dead %{{[^:]*}}:gr8 = ADD8ri %[[CF_REG]], 255, implicit-def $eflags
514 ; CHECK-NEXT: %4:gr64 = RCR64r1 %2, implicit-def $eflags, implicit killed $eflags
515 …ECK-NEXT: %5:gr64 = RCR64r1 %4, implicit-def{{( dead)?}} $eflags, implicit{{( killed)?}} $eflags
533 %2:gr64 = ADD64rr %0, %1, implicit-def $eflags
534 %3:gr64 = COPY $eflags
535 ; CHECK-NOT: COPY{{( killed)?}} $eflags
536 ; CHECK: %[[CF_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
537 ; CHECK-NOT: COPY{{( killed)?}} $eflags
539 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
541 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
543 $eflags = COPY %3
544 %4:gr32 = SETB_C32r implicit-def $eflags, implicit $eflags
546 ; CHECK-NOT: $eflags =
547 ; CHECK: dead %{{[^:]*}}:gr8 = ADD8ri %[[CF_REG]], 255, implicit-def $eflags
548 … %[[SETB:[^:]*]]:gr32 = SETB_C32r implicit-def{{( dead)?}} $eflags, implicit{{( killed)?}} $eflags
551 $eflags = COPY %3
552 %5:gr64 = SETB_C64r implicit-def $eflags, implicit $eflags
554 ; CHECK-NOT: $eflags =
555 ; CHECK: dead %{{[^:]*}}:gr8 = ADD8ri %[[CF_REG]], 255, implicit-def $eflags
556 … %[[SETB:[^:]*]]:gr64 = SETB_C64r implicit-def{{( dead)?}} $eflags, implicit{{( killed)?}} $eflags
575 CMP64rr %0, %1, implicit-def $eflags
576 %2:gr64 = COPY $eflags
577 ; CHECK-NOT: COPY{{( killed)?}} $eflags
578 ; CHECK: %[[S_REG:[^:]*]]:gr8 = SETCCr 8, implicit $eflags
579 ; CHECK-NEXT: %[[NE_REG:[^:]*]]:gr8 = SETCCr 5, implicit $eflags
580 ; CHECK-NEXT: %[[A_REG:[^:]*]]:gr8 = SETCCr 7, implicit $eflags
581 ; CHECK-NEXT: %[[B_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
582 ; CHECK-NOT: COPY{{( killed)?}} $eflags
584 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
586 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
588 $eflags = COPY %2
589 JCC_1 %bb.1, 7, implicit $eflags
590 JCC_1 %bb.2, 2, implicit $eflags
592 ; CHECK-NOT: $eflags =
594 ; CHECK: TEST8rr %[[A_REG]], %[[A_REG]], implicit-def $eflags
595 ; CHECK-NEXT: JCC_1 %bb.1, 5, implicit killed $eflags
600 ; CHECK-NEXT: TEST8rr %[[B_REG]], %[[B_REG]], implicit-def $eflags
601 ; CHECK-NEXT: JCC_1 %bb.2, 5, implicit killed $eflags
605 liveins: $eflags
607 %3:gr64 = CMOV64rr %0, %1, 4, implicit killed $eflags
608 ; CHECK-NOT: $eflags =
609 ; CHECK: TEST8rr %[[NE_REG]], %[[NE_REG]], implicit-def $eflags
610 ; CHECK-NEXT: %3:gr64 = CMOV64rr %0, %1, 4, implicit killed $eflags
615 liveins: $eflags
617 %4:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
618 ; CHECK-NOT: $eflags =
619 ; CHECK: TEST8rr %[[NE_REG]], %[[NE_REG]], implicit-def $eflags
620 ; CHECK-NEXT: %4:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
625 liveins: $eflags
627 %5:gr64 = CMOV64rr %0, %1, 8, implicit killed $eflags
628 ; CHECK-NOT: $eflags =
629 ; CHECK: TEST8rr %[[S_REG]], %[[S_REG]], implicit-def $eflags
630 ; CHECK-NEXT: %5:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
648 CMP64rr %0, %1, implicit-def $eflags
649 %2:gr64 = COPY $eflags
650 ; CHECK-NOT: COPY{{( killed)?}} $eflags
651 ; CHECK: %[[S_REG:[^:]*]]:gr8 = SETCCr 8, implicit $eflags
652 ; CHECK-NEXT: %[[P_REG:[^:]*]]:gr8 = SETCCr 10, implicit $eflags
653 ; CHECK-NEXT: %[[NE_REG:[^:]*]]:gr8 = SETCCr 5, implicit $eflags
654 ; CHECK-NEXT: %[[A_REG:[^:]*]]:gr8 = SETCCr 7, implicit $eflags
655 ; CHECK-NEXT: %[[B_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
656 ; CHECK-NEXT: %[[O_REG:[^:]*]]:gr8 = SETCCr 0, implicit $eflags
657 ; CHECK-NOT: COPY{{( killed)?}} $eflags
659 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
661 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
663 $eflags = COPY %2
664 JCC_1 %bb.1, 7, implicit $eflags
665 JCC_1 %bb.2, 2, implicit $eflags
667 ; CHECK-NOT: $eflags =
669 ; CHECK: TEST8rr %[[A_REG]], %[[A_REG]], implicit-def $eflags
670 ; CHECK-NEXT: JCC_1 %bb.1, 5, implicit killed $eflags
675 ; CHECK-NEXT: TEST8rr %[[B_REG]], %[[B_REG]], implicit-def $eflags
676 ; CHECK-NEXT: JCC_1 %bb.2, 5, implicit killed $eflags
680 liveins: $eflags
682 %3:gr64 = CMOV64rr %0, %1, 4, implicit killed $eflags
683 ; CHECK-NOT: $eflags =
684 ; CHECK: TEST8rr %[[NE_REG]], %[[NE_REG]], implicit-def $eflags
685 ; CHECK-NEXT: %3:gr64 = CMOV64rr %0, %1, 4, implicit killed $eflags
691 ; between two successors which kill $eflags. This ensures that neither of
694 liveins: $eflags
696 JCC_1 %bb.3, 0, implicit $eflags
698 ; CHECK-NOT: $eflags =
700 ; CHECK: TEST8rr %[[O_REG]], %[[O_REG]], implicit-def $eflags
701 ; CHECK-NEXT: JCC_1 %bb.3, 5, implicit killed $eflags
705 liveins: $eflags
707 %4:gr64 = CMOV64rr %0, %1, 5, implicit $eflags
708 ; CHECK-NOT: $eflags =
709 ; CHECK: TEST8rr %[[NE_REG]], %[[NE_REG]], implicit-def $eflags
710 ; CHECK-NEXT: %4:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
715 liveins: $eflags
717 %5:gr64 = CMOV64rr %0, %1, 10, implicit $eflags
718 ; CHECK-NOT: $eflags =
719 ; CHECK: TEST8rr %[[P_REG]], %[[P_REG]], implicit-def $eflags
720 ; CHECK-NEXT: %5:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
725 liveins: $eflags
727 %6:gr64 = CMOV64rr %0, %1, 8, implicit killed $eflags
728 ; CHECK-NOT: $eflags =
729 ; CHECK: TEST8rr %[[S_REG]], %[[S_REG]], implicit-def $eflags
730 ; CHECK-NEXT: %6:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
787 CMP64rr %0, %1, implicit-def $eflags
789 ; CHECK-NOT: COPY{{( killed)?}} $eflags
790 ; CHECK: CMP64rr %0, %1, implicit-def $eflags
791 ; CHECK-NOT: COPY{{( killed)?}} $eflags
796 liveins: $eflags
799 JCC_1 %bb.2, 4, implicit $eflags
802 ; CHECK-NOT: COPY{{( killed)?}} $eflags
803 ; CHECK: %[[A_REG:[^:]*]]:gr8 = SETCCr 7, implicit $eflags
804 ; CHECK-NEXT: %[[E_REG:[^:]*]]:gr8 = SETCCr 4, implicit $eflags
805 ; CHECK-NEXT: %[[B_REG:[^:]*]]:gr8 = SETCCr 2, implicit $eflags
806 ; CHECK-NOT: COPY{{( killed)?}} $eflags
810 liveins: $eflags
813 %2:gr64 = COPY $eflags
814 $eflags = COPY %2
815 JCC_1 %bb.2, 4, implicit $eflags
818 ; CHECK-NOT: COPY{{( killed)?}} $eflags
819 ; CHECK: TEST8rr %[[E_REG]], %[[E_REG]], implicit-def $eflags
820 ; CHECK-NEXT: JCC_1 %bb.2, 5, implicit killed $eflags
821 ; CHECK-NOT: COPY{{( killed)?}} $eflags
825 liveins: $eflags
827 ; Use and then clobber $eflags. Then hop to the outer loop latch.
828 %3:gr64 = ADC64ri32 %0, 42, implicit-def dead $eflags, implicit $eflags
830 ; CHECK-NOT: COPY{{( killed)?}} $eflags
831 ; CHECK: dead %{{[^:]*}}:gr8 = ADD8ri %[[B_REG]], 255, implicit-def $eflags
832 …EXT: %3:gr64 = ADC64ri32 %0, 42, implicit-def{{( dead)?}} $eflags, implicit{{( killed)?}} $eflags
833 ; CHECK-NOT: COPY{{( killed)?}} $eflags
839 liveins: $eflags
842 JCC_1 %bb.5, 4, implicit $eflags
845 ; CHECK-NOT: COPY{{( killed)?}} $eflags
846 ; CHECK: TEST8rr %[[E_REG]], %[[E_REG]], implicit-def $eflags
847 ; CHECK-NEXT: JCC_1 %bb.5, 5, implicit killed $eflags
848 ; CHECK-NOT: COPY{{( killed)?}} $eflags
852 liveins: $eflags
854 ; Just use $eflags on this side of the diamond.
855 %4:gr64 = CMOV64rr %0, %1, 7, implicit $eflags
857 ; CHECK-NOT: COPY{{( killed)?}} $eflags
858 ; CHECK: TEST8rr %[[A_REG]], %[[A_REG]], implicit-def $eflags
859 ; CHECK-NEXT: %4:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
860 ; CHECK-NOT: COPY{{( killed)?}} $eflags
866 liveins: $eflags
868 ; Use, copy, and then use $eflags again.
869 %5:gr64 = CMOV64rr %0, %1, 7, implicit $eflags
871 ; CHECK-NOT: COPY{{( killed)?}} $eflags
872 ; CHECK: TEST8rr %[[A_REG]], %[[A_REG]], implicit-def $eflags
873 ; CHECK-NEXT: %5:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
874 ; CHECK-NOT: COPY{{( killed)?}} $eflags
877 %6:gr64 = COPY $eflags
878 $eflags = COPY %6:gr64
880 %7:gr64 = CMOV64rr %0, %1, 7, implicit $eflags
881 ; CHECK-NOT: COPY{{( killed)?}} $eflags
882 ; CHECK: TEST8rr %[[A_REG]], %[[A_REG]], implicit-def $eflags
883 ; CHECK-NEXT: %7:gr64 = CMOV64rr %0, %1, 5, implicit killed $eflags
884 ; CHECK-NOT: COPY{{( killed)?}} $eflags
890 liveins: $eflags
893 JCC_1 %bb.4, 4, implicit $eflags
896 ; CHECK-NOT: COPY{{( killed)?}} $eflags
897 ; CHECK: TEST8rr %[[E_REG]], %[[E_REG]], implicit-def $eflags
898 ; CHECK-NEXT: JCC_1 %bb.4, 5, implicit killed $eflags
899 ; CHECK-NOT: COPY{{( killed)?}} $eflags
906 CMP64rr %0, %1, implicit-def $eflags
907 JCC_1 %bb.1, 4, implicit $eflags
910 ; CHECK-NOT: COPY{{( killed)?}} $eflags
911 ; CHECK: CMP64rr %0, %1, implicit-def $eflags
912 ; CHECK-NEXT: JCC_1 %bb.1, 4, implicit $eflags
913 ; CHECK-NOT: COPY{{( killed)?}} $eflags
916 liveins: $eflags
919 %8:gr64 = CMOV64rr %0, %1, 4, implicit killed $eflags
923 ; CHECK-NOT: $eflags
924 ; CHECK: %8:gr64 = CMOV64rr %0, %1, 4, implicit killed $eflags
940 CMP64rr %0, %1, implicit-def $eflags
941 %2:gr8 = SETCCr 7, implicit $eflags
942 %3:gr8 = SETCCr 3, implicit $eflags
943 %4:gr64 = COPY $eflags
944 ; CHECK: CMP64rr %0, %1, implicit-def $eflags
945 ; CHECK-NEXT: %[[A_REG:[^:]*]]:gr8 = SETCCr 7, implicit $eflags
946 ; CHECK-NEXT: %[[AE_REG:[^:]*]]:gr8 = SETCCr 3, implicit $eflags
947 ; CHECK-NOT: COPY{{( killed)?}} $eflags
949 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
951 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
953 $eflags = COPY %4
954 JCC_1 %bb.1, 7, implicit $eflags
955 JCC_1 %bb.2, 2, implicit $eflags
957 ; CHECK-NOT: $eflags =
959 ; CHECK: TEST8rr %[[A_REG]], %[[A_REG]], implicit-def $eflags
960 ; CHECK-NEXT: JCC_1 %bb.1, 5, implicit killed $eflags
965 ; CHECK-NEXT: TEST8rr %[[AE_REG]], %[[AE_REG]], implicit-def $eflags
966 ; CHECK-NEXT: JCC_1 %bb.2, 4, implicit killed $eflags
980 %7:gr32 = MOV32r0 implicit-def dead $eflags
998 CMP64rr %0, %1, implicit-def $eflags
999 SETCCm %0, 1, $noreg, -16, $noreg, 4, implicit $eflags
1000 %2:gr64 = COPY $eflags
1001 ; CHECK: CMP64rr %0, %1, implicit-def $eflags
1006 ; CHECK-NEXT: SETCCm {{.*}} 4, implicit $eflags
1007 ; CHECK-NEXT: %[[E_REG:[^:]*]]:gr8 = SETCCr 4, implicit $eflags
1008 ; CHECK-NOT: COPY{{( killed)?}} $eflags
1010 …ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $…
1012 …ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, …
1014 $eflags = COPY %2
1015 JCC_1 %bb.1, 4, implicit $eflags
1017 ; CHECK-NOT: $eflags =
1019 ; CHECK: TEST8rr %[[E_REG]], %[[E_REG]], implicit-def $eflags
1020 ; CHECK-NEXT: JCC_1 %bb.1, 5, implicit killed $eflags