@@ -538,43 +538,47 @@ body: |
538
538
; LIMIT-NEXT: JMP64m $noreg, 8, [[SUBREG_TO_REG]], %jump-table.0, $noreg
539
539
; LIMIT-NEXT: {{ $}}
540
540
; LIMIT-NEXT: bb.2:
541
- ; LIMIT-NEXT: successors: %bb.7(0x80000000 )
541
+ ; LIMIT-NEXT: successors: %bb.9(0x20000000), %bb.10(0x20000000), %bb.11(0x20000000), %bb.12(0x20000000 )
542
542
; LIMIT-NEXT: {{ $}}
543
543
; LIMIT-NEXT: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY1]], 1, $noreg, 0, $noreg
544
- ; LIMIT-NEXT: JMP_1 %bb.7
544
+ ; LIMIT-NEXT: [[SHR32ri1:%[0-9]+]]:gr32 = SHR32ri [[COPY]], 2, implicit-def dead $eflags
545
+ ; LIMIT-NEXT: [[AND32ri1:%[0-9]+]]:gr32 = AND32ri [[SHR32ri1]], 7, implicit-def dead $eflags
546
+ ; LIMIT-NEXT: [[SUBREG_TO_REG1:%[0-9]+]]:gr64_nosp = SUBREG_TO_REG 0, [[AND32ri1]], %subreg.sub_32bit
547
+ ; LIMIT-NEXT: JMP64m $noreg, 8, [[SUBREG_TO_REG1]], %jump-table.1, $noreg
545
548
; LIMIT-NEXT: {{ $}}
546
549
; LIMIT-NEXT: bb.3:
547
- ; LIMIT-NEXT: successors: %bb.7(0x80000000 )
550
+ ; LIMIT-NEXT: successors: %bb.9(0x20000000), %bb.10(0x20000000), %bb.11(0x20000000), %bb.12(0x20000000 )
548
551
; LIMIT-NEXT: {{ $}}
549
552
; LIMIT-NEXT: [[MOV32rm1:%[0-9]+]]:gr32 = MOV32rm [[COPY1]], 1, $noreg, 0, $noreg
550
- ; LIMIT-NEXT: [[SHR32ri1:%[0-9]+]]:gr32 = SHR32ri [[MOV32rm1]], 1, implicit-def dead $eflags
551
- ; LIMIT-NEXT: JMP_1 %bb.7
553
+ ; LIMIT-NEXT: [[SHR32ri2:%[0-9]+]]:gr32 = SHR32ri [[MOV32rm1]], 1, implicit-def dead $eflags
554
+ ; LIMIT-NEXT: [[SHR32ri3:%[0-9]+]]:gr32 = SHR32ri [[COPY]], 2, implicit-def dead $eflags
555
+ ; LIMIT-NEXT: [[AND32ri2:%[0-9]+]]:gr32 = AND32ri [[SHR32ri3]], 7, implicit-def dead $eflags
556
+ ; LIMIT-NEXT: [[SUBREG_TO_REG2:%[0-9]+]]:gr64_nosp = SUBREG_TO_REG 0, [[AND32ri2]], %subreg.sub_32bit
557
+ ; LIMIT-NEXT: JMP64m $noreg, 8, [[SUBREG_TO_REG2]], %jump-table.1, $noreg
552
558
; LIMIT-NEXT: {{ $}}
553
559
; LIMIT-NEXT: bb.4:
554
- ; LIMIT-NEXT: successors: %bb.7(0x80000000 )
560
+ ; LIMIT-NEXT: successors: %bb.9(0x20000000), %bb.10(0x20000000), %bb.11(0x20000000), %bb.12(0x20000000 )
555
561
; LIMIT-NEXT: {{ $}}
556
562
; LIMIT-NEXT: [[MOV32rm2:%[0-9]+]]:gr32 = MOV32rm [[COPY1]], 1, $noreg, 0, $noreg
557
- ; LIMIT-NEXT: [[SHR32ri2:%[0-9]+]]:gr32 = SHR32ri [[MOV32rm2]], 2, implicit-def dead $eflags
558
- ; LIMIT-NEXT: JMP_1 %bb.7
563
+ ; LIMIT-NEXT: [[SHR32ri4:%[0-9]+]]:gr32 = SHR32ri [[MOV32rm2]], 2, implicit-def dead $eflags
564
+ ; LIMIT-NEXT: [[SHR32ri5:%[0-9]+]]:gr32 = SHR32ri [[COPY]], 2, implicit-def dead $eflags
565
+ ; LIMIT-NEXT: [[AND32ri3:%[0-9]+]]:gr32 = AND32ri [[SHR32ri5]], 7, implicit-def dead $eflags
566
+ ; LIMIT-NEXT: [[SUBREG_TO_REG3:%[0-9]+]]:gr64_nosp = SUBREG_TO_REG 0, [[AND32ri3]], %subreg.sub_32bit
567
+ ; LIMIT-NEXT: JMP64m $noreg, 8, [[SUBREG_TO_REG3]], %jump-table.1, $noreg
559
568
; LIMIT-NEXT: {{ $}}
560
569
; LIMIT-NEXT: bb.5:
561
- ; LIMIT-NEXT: successors: %bb.7(0x80000000 )
570
+ ; LIMIT-NEXT: successors: %bb.9(0x20000000), %bb.10(0x20000000), %bb.11(0x20000000), %bb.12(0x20000000 )
562
571
; LIMIT-NEXT: {{ $}}
563
572
; LIMIT-NEXT: [[MOV32rm3:%[0-9]+]]:gr32 = MOV32rm [[COPY1]], 1, $noreg, 0, $noreg
564
- ; LIMIT-NEXT: [[SHR32ri3:%[0-9]+]]:gr32 = SHR32ri [[MOV32rm3]], 3, implicit-def dead $eflags
565
- ; LIMIT-NEXT: JMP_1 %bb.7
573
+ ; LIMIT-NEXT: [[SHR32ri6:%[0-9]+]]:gr32 = SHR32ri [[MOV32rm3]], 3, implicit-def dead $eflags
574
+ ; LIMIT-NEXT: [[SHR32ri7:%[0-9]+]]:gr32 = SHR32ri [[COPY]], 2, implicit-def dead $eflags
575
+ ; LIMIT-NEXT: [[AND32ri4:%[0-9]+]]:gr32 = AND32ri [[SHR32ri7]], 7, implicit-def dead $eflags
576
+ ; LIMIT-NEXT: [[SUBREG_TO_REG4:%[0-9]+]]:gr64_nosp = SUBREG_TO_REG 0, [[AND32ri4]], %subreg.sub_32bit
577
+ ; LIMIT-NEXT: JMP64m $noreg, 8, [[SUBREG_TO_REG4]], %jump-table.1, $noreg
566
578
; LIMIT-NEXT: {{ $}}
567
579
; LIMIT-NEXT: bb.6:
568
580
; LIMIT-NEXT: successors:
569
581
; LIMIT-NEXT: {{ $}}
570
- ; LIMIT-NEXT: bb.7:
571
- ; LIMIT-NEXT: successors: %bb.9(0x20000000), %bb.10(0x20000000), %bb.11(0x20000000), %bb.12(0x20000000)
572
- ; LIMIT-NEXT: {{ $}}
573
- ; LIMIT-NEXT: [[SHR32ri4:%[0-9]+]]:gr32 = SHR32ri [[COPY]], 2, implicit-def dead $eflags
574
- ; LIMIT-NEXT: [[AND32ri1:%[0-9]+]]:gr32 = AND32ri [[SHR32ri4]], 7, implicit-def dead $eflags
575
- ; LIMIT-NEXT: [[SUBREG_TO_REG1:%[0-9]+]]:gr64_nosp = SUBREG_TO_REG 0, killed [[AND32ri1]], %subreg.sub_32bit
576
- ; LIMIT-NEXT: JMP64m $noreg, 8, [[SUBREG_TO_REG1]], %jump-table.1, $noreg
577
- ; LIMIT-NEXT: {{ $}}
578
582
; LIMIT-NEXT: bb.9:
579
583
; LIMIT-NEXT: [[MOV32rm4:%[0-9]+]]:gr32 = MOV32rm [[COPY1]], 1, $noreg, 0, $noreg
580
584
; LIMIT-NEXT: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[MOV32rm4]] :: (store (s32))
@@ -583,23 +587,23 @@ body: |
583
587
; LIMIT-NEXT: {{ $}}
584
588
; LIMIT-NEXT: bb.10:
585
589
; LIMIT-NEXT: [[MOV32rm5:%[0-9]+]]:gr32 = MOV32rm [[COPY1]], 1, $noreg, 0, $noreg
586
- ; LIMIT-NEXT: [[SHR32ri5 :%[0-9]+]]:gr32 = SHR32ri [[MOV32rm5]], 1, implicit-def dead $eflags
587
- ; LIMIT-NEXT: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[SHR32ri5 ]] :: (store (s32))
588
- ; LIMIT-NEXT: $eax = COPY [[SHR32ri5 ]]
590
+ ; LIMIT-NEXT: [[SHR32ri8 :%[0-9]+]]:gr32 = SHR32ri [[MOV32rm5]], 1, implicit-def dead $eflags
591
+ ; LIMIT-NEXT: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[SHR32ri8 ]] :: (store (s32))
592
+ ; LIMIT-NEXT: $eax = COPY [[SHR32ri8 ]]
589
593
; LIMIT-NEXT: RET 0, $eax
590
594
; LIMIT-NEXT: {{ $}}
591
595
; LIMIT-NEXT: bb.11:
592
596
; LIMIT-NEXT: [[MOV32rm6:%[0-9]+]]:gr32 = MOV32rm [[COPY1]], 1, $noreg, 0, $noreg
593
- ; LIMIT-NEXT: [[SHR32ri6 :%[0-9]+]]:gr32 = SHR32ri [[MOV32rm6]], 2, implicit-def dead $eflags
594
- ; LIMIT-NEXT: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[SHR32ri6 ]] :: (store (s32))
595
- ; LIMIT-NEXT: $eax = COPY [[SHR32ri6 ]]
597
+ ; LIMIT-NEXT: [[SHR32ri9 :%[0-9]+]]:gr32 = SHR32ri [[MOV32rm6]], 2, implicit-def dead $eflags
598
+ ; LIMIT-NEXT: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[SHR32ri9 ]] :: (store (s32))
599
+ ; LIMIT-NEXT: $eax = COPY [[SHR32ri9 ]]
596
600
; LIMIT-NEXT: RET 0, $eax
597
601
; LIMIT-NEXT: {{ $}}
598
602
; LIMIT-NEXT: bb.12:
599
603
; LIMIT-NEXT: [[MOV32rm7:%[0-9]+]]:gr32 = MOV32rm [[COPY1]], 1, $noreg, 0, $noreg
600
- ; LIMIT-NEXT: [[SHR32ri7 :%[0-9]+]]:gr32 = SHR32ri [[MOV32rm7]], 6, implicit-def dead $eflags
601
- ; LIMIT-NEXT: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[SHR32ri7 ]] :: (store (s32))
602
- ; LIMIT-NEXT: $eax = COPY [[SHR32ri7 ]]
604
+ ; LIMIT-NEXT: [[SHR32ri10 :%[0-9]+]]:gr32 = SHR32ri [[MOV32rm7]], 6, implicit-def dead $eflags
605
+ ; LIMIT-NEXT: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[SHR32ri10 ]] :: (store (s32))
606
+ ; LIMIT-NEXT: $eax = COPY [[SHR32ri10 ]]
603
607
; LIMIT-NEXT: RET 0, $eax
604
608
;
605
609
; NOLIMIT-LABEL: name: foo_no_phis
0 commit comments