@@ -538,43 +538,47 @@ body: |
538538 ; LIMIT-NEXT: JMP64m $noreg, 8, [[SUBREG_TO_REG]], %jump-table.0, $noreg
539539 ; LIMIT-NEXT: {{ $}}
540540 ; 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 )
542542 ; LIMIT-NEXT: {{ $}}
543543 ; 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
545548 ; LIMIT-NEXT: {{ $}}
546549 ; 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 )
548551 ; LIMIT-NEXT: {{ $}}
549552 ; 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
552558 ; LIMIT-NEXT: {{ $}}
553559 ; 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 )
555561 ; LIMIT-NEXT: {{ $}}
556562 ; 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
559568 ; LIMIT-NEXT: {{ $}}
560569 ; 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 )
562571 ; LIMIT-NEXT: {{ $}}
563572 ; 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
566578 ; LIMIT-NEXT: {{ $}}
567579 ; LIMIT-NEXT: bb.6:
568580 ; LIMIT-NEXT: successors:
569581 ; 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: {{ $}}
578582 ; LIMIT-NEXT: bb.9:
579583 ; LIMIT-NEXT: [[MOV32rm4:%[0-9]+]]:gr32 = MOV32rm [[COPY1]], 1, $noreg, 0, $noreg
580584 ; LIMIT-NEXT: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[MOV32rm4]] :: (store (s32))
@@ -583,23 +587,23 @@ body: |
583587 ; LIMIT-NEXT: {{ $}}
584588 ; LIMIT-NEXT: bb.10:
585589 ; 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 ]]
589593 ; LIMIT-NEXT: RET 0, $eax
590594 ; LIMIT-NEXT: {{ $}}
591595 ; LIMIT-NEXT: bb.11:
592596 ; 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 ]]
596600 ; LIMIT-NEXT: RET 0, $eax
597601 ; LIMIT-NEXT: {{ $}}
598602 ; LIMIT-NEXT: bb.12:
599603 ; 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 ]]
603607 ; LIMIT-NEXT: RET 0, $eax
604608 ;
605609 ; NOLIMIT-LABEL: name: foo_no_phis
0 commit comments