Lines Matching full:start
405 ; CHECK-NEXT: [[START:%.*]] = shl nuw nsw i8 [[INIT_VAL:%.*]], 2
406 ; CHECK-NEXT: [[START_PLUS_3:%.*]] = add nuw i8 [[START]], 3
410 ; CHECK-NEXT: [[F_0:%.*]] = icmp ult i8 [[START]], [[HIGH]]
412 ; CHECK-NEXT: [[I_1:%.*]] = or disjoint i8 [[START]], 1
415 ; CHECK-NEXT: [[I_2:%.*]] = or disjoint i8 [[START]], 2
421 ; CHECK-NEXT: [[START_1:%.*]] = or disjoint i8 [[START]], 1
423 ; CHECK-NEXT: [[START_2:%.*]] = or disjoint i8 [[START]], 2
425 ; CHECK-NEXT: [[START_3:%.*]] = or disjoint i8 [[START]], 3
427 ; CHECK-NEXT: [[START_4:%.*]] = or i8 [[START]], 4
433 %start = shl nuw nsw i8 %init_val, 2
434 %start.plus.3 = add nuw i8 %start, 3
435 %c.1 = icmp uge i8 %start.plus.3, %high
439 %f.0 = icmp ult i8 %start, %high
441 %i.1 = or disjoint i8 %start, 1
444 %i.2 = or disjoint i8 %start, 2
450 %t.0 = icmp ult i8 %start, %high
452 %start.1 = or disjoint i8 %start, 1
453 %t.1 = icmp ult i8 %start.1, %high
455 %start.2 = or disjoint i8 %start, 2
456 %t.2 = icmp ult i8 %start.2, %high
458 %start.3 = or disjoint i8 %start, 3
459 %t.3 = icmp ult i8 %start.3, %high
461 %start.4 = or i8 %start, 4
462 %c.4 = icmp ult i8 %start.4, %high
470 ; CHECK-NEXT: [[START:%.*]] = shl nuw nsw i8 [[INIT_VAL:%.*]], 2
471 ; CHECK-NEXT: [[START_PLUS_3:%.*]] = add nuw i8 [[START]], 3
475 ; CHECK-NEXT: [[F_0:%.*]] = icmp ule i8 [[START]], [[HIGH]]
477 ; CHECK-NEXT: [[I_1:%.*]] = or disjoint i8 [[START]], 1
480 ; CHECK-NEXT: [[I_2:%.*]] = or disjoint i8 [[START]], 2
486 ; CHECK-NEXT: [[START_1:%.*]] = or disjoint i8 [[START]], 1
488 ; CHECK-NEXT: [[START_2:%.*]] = or disjoint i8 [[START]], 2
490 ; CHECK-NEXT: [[START_3:%.*]] = or disjoint i8 [[START]], 3
492 ; CHECK-NEXT: [[START_4:%.*]] = or i8 [[START]], 4
495 ; CHECK-NEXT: [[START_5:%.*]] = or i8 [[START]], 5
501 %start = shl nuw nsw i8 %init_val, 2
502 %start.plus.3 = add nuw i8 %start, 3
503 %c.1 = icmp uge i8 %start.plus.3, %high
507 %f.0 = icmp ule i8 %start, %high
509 %i.1 = or disjoint i8 %start, 1
512 %i.2 = or disjoint i8 %start, 2
518 %t.0 = icmp ule i8 %start, %high
520 %start.1 = or disjoint i8 %start, 1
521 %t.1 = icmp ule i8 %start.1, %high
523 %start.2 = or disjoint i8 %start, 2
524 %t.2 = icmp ule i8 %start.2, %high
526 %start.3 = or disjoint i8 %start, 3
527 %t.3 = icmp ule i8 %start.3, %high
529 %start.4 = or i8 %start, 4
530 %t.4 = icmp ule i8 %start.4, %high
532 %start.5 = or i8 %start, 5
533 %c.5 = icmp ule i8 %start.5, %high
542 ; CHECK-NEXT: [[START:%.*]] = shl nuw nsw i8 [[INIT_VAL:%.*]], 2
543 ; CHECK-NEXT: [[START_PLUS_3:%.*]] = add nuw i8 [[START]], 3
547 ; CHECK-NEXT: [[T_0:%.*]] = icmp ugt i8 [[START]], [[HIGH]]
549 ; CHECK-NEXT: [[I_1:%.*]] = or disjoint i8 [[START]], 1
552 ; CHECK-NEXT: [[I_2:%.*]] = or disjoint i8 [[START]], 2
558 ; CHECK-NEXT: [[START_1:%.*]] = or disjoint i8 [[START]], 1
560 ; CHECK-NEXT: [[START_2:%.*]] = or disjoint i8 [[START]], 2
562 ; CHECK-NEXT: [[START_3:%.*]] = or disjoint i8 [[START]], 3
564 ; CHECK-NEXT: [[START_4:%.*]] = or i8 [[START]], 4
567 ; CHECK-NEXT: [[START_5:%.*]] = or i8 [[START]], 5
573 %start = shl nuw nsw i8 %init_val, 2
574 %start.plus.3 = add nuw i8 %start, 3
575 %c.1 = icmp uge i8 %start.plus.3, %high
579 %t.0 = icmp ugt i8 %start, %high
581 %i.1 = or disjoint i8 %start, 1
584 %i.2 = or disjoint i8 %start, 2
590 %f.0 = icmp ugt i8 %start, %high
592 %start.1 = or disjoint i8 %start, 1
593 %f.1 = icmp ugt i8 %start.1, %high
595 %start.2 = or disjoint i8 %start, 2
596 %f.2 = icmp ugt i8 %start.2, %high
598 %start.3 = or disjoint i8 %start, 3
599 %f.3 = icmp ugt i8 %start.3, %high
601 %start.4 = or i8 %start, 4
602 %f.4 = icmp ugt i8 %start.4, %high
604 %start.5 = or i8 %start, 5
605 %c.5 = icmp ugt i8 %start.5, %high
613 ; CHECK-NEXT: [[START:%.*]] = shl nuw nsw i8 [[INIT_VAL:%.*]], 2
614 ; CHECK-NEXT: [[START_PLUS_3:%.*]] = add nuw i8 [[START]], 3
618 ; CHECK-NEXT: [[T_0:%.*]] = icmp ugt i8 [[START]], [[HIGH]]
620 ; CHECK-NEXT: [[I_1:%.*]] = or disjoint i8 [[START]], 1
623 ; CHECK-NEXT: [[I_2:%.*]] = or disjoint i8 [[START]], 2
629 ; CHECK-NEXT: [[START_1:%.*]] = or disjoint i8 [[START]], 1
631 ; CHECK-NEXT: [[START_2:%.*]] = or disjoint i8 [[START]], 2
633 ; CHECK-NEXT: [[START_3:%.*]] = or disjoint i8 [[START]], 3
635 ; CHECK-NEXT: [[START_4:%.*]] = or i8 [[START]], 4
638 ; CHECK-NEXT: [[START_5:%.*]] = or i8 [[START]], 5
644 %start = shl nuw nsw i8 %init_val, 2
645 %start.plus.3 = add nuw i8 %start, 3
646 %c.1 = icmp uge i8 %start.plus.3, %high
650 %t.0 = icmp ugt i8 %start, %high
652 %i.1 = or disjoint i8 %start, 1
655 %i.2 = or disjoint i8 %start, 2
661 %f.0 = icmp ugt i8 %start, %high
663 %start.1 = or disjoint i8 %start, 1
664 %f.1 = icmp uge i8 %start.1, %high
666 %start.2 = or disjoint i8 %start, 2
667 %f.2 = icmp uge i8 %start.2, %high
669 %start.3 = or disjoint i8 %start, 3
670 %f.3 = icmp uge i8 %start.3, %high
672 %start.4 = or i8 %start, 4
673 %c.4 = icmp uge i8 %start.4, %high
675 %start.5 = or i8 %start, 5
676 %c.5 = icmp uge i8 %start.5, %high
681 define void @test_not_decompose(i8 %start, i8 %high) {
684 ; CHECK-NEXT: [[START_PLUS_3:%.*]] = add nuw i8 [[START:%.*]], 3
688 ; CHECK-NEXT: [[I_1:%.*]] = or i8 [[START]], 1
691 ; CHECK-NEXT: [[I_2:%.*]] = or i8 [[START]], 2
696 ; CHECK-NEXT: [[START_1:%.*]] = or i8 [[START]], 1
699 ; CHECK-NEXT: [[START_2:%.*]] = or i8 [[START]], 2
702 ; CHECK-NEXT: [[START_3:%.*]] = or i8 [[START]], 3
705 ; CHECK-NEXT: [[START_4:%.*]] = or i8 [[START]], 4
708 ; CHECK-NEXT: [[START_5:%.*]] = or i8 [[START]], 5
714 %start.plus.3 = add nuw i8 %start, 3
715 %c.1 = icmp uge i8 %start.plus.3, %high
719 %i.1 = or i8 %start, 1
722 %i.2 = or i8 %start, 2
728 %start.1 = or i8 %start, 1
729 %f.1 = icmp uge i8 %start.1, %high
731 %start.2 = or i8 %start, 2
732 %f.2 = icmp uge i8 %start.2, %high
734 %start.3 = or i8 %start, 3
735 %f.3 = icmp uge i8 %start.3, %high
737 %start.4 = or i8 %start, 4
738 %c.4 = icmp uge i8 %start.4, %high
740 %start.5 = or i8 %start, 5
741 %c.5 = icmp uge i8 %start.5, %high
749 define void @test_decompose_explicit_disjoint(i8 %start, i8 %high) {
752 ; CHECK-NEXT: [[START_PLUS_3:%.*]] = add nuw i8 [[START:%.*]], 3
756 ; CHECK-NEXT: [[I_1:%.*]] = or disjoint i8 [[START]], 1
759 ; CHECK-NEXT: [[I_2:%.*]] = or disjoint i8 [[START]], 2
764 ; CHECK-NEXT: [[START_1:%.*]] = or disjoint i8 [[START]], 1
766 ; CHECK-NEXT: [[START_2:%.*]] = or disjoint i8 [[START]], 2
768 ; CHECK-NEXT: [[START_3:%.*]] = or disjoint i8 [[START]], 3
770 ; CHECK-NEXT: [[START_4:%.*]] = or disjoint i8 [[START]], 4
773 ; CHECK-NEXT: [[START_5:%.*]] = or disjoint i8 [[START]], 5
779 %start.plus.3 = add nuw i8 %start, 3
780 %c.1 = icmp uge i8 %start.plus.3, %high
784 %i.1 = or disjoint i8 %start, 1
787 %i.2 = or disjoint i8 %start, 2
793 %start.1 = or disjoint i8 %start, 1
794 %f.1 = icmp uge i8 %start.1, %high
796 %start.2 = or disjoint i8 %start, 2
797 %f.2 = icmp uge i8 %start.2, %high
799 %start.3 = or disjoint i8 %start, 3
800 %f.3 = icmp uge i8 %start.3, %high
802 %start.4 = or disjoint i8 %start, 4
803 %c.4 = icmp uge i8 %start.4, %high
805 %start.5 = or disjoint i8 %start, 5
806 %c.5 = icmp uge i8 %start.5, %high