brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.4 KiB · 4207cac Raw
216 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=mips-mti-linux-gnu -mattr=+micromips %s -o - -start-before mips-delay-slot-filler -stop-after mips-branch-expansion | FileCheck %s --check-prefix=MM3# RUN: llc -mtriple=mips-mti-linux-gnu -mattr=+micromips %s -o - -start-before mips-delay-slot-filler -stop-after mips-branch-expansion -relocation-model=pic | FileCheck %s --check-prefix=PIC4 5# Test the long branch expansion of various branches6 7--- |8 9  define i32 @a(double %a, double %b) {10  entry:11    %cmp = fcmp une double %a, %b12    br i1 %cmp, label %if.then, label %return13 14  if.then:15    call void asm sideeffect ".space 310680", "~{$1}"()16    ret i32 017 18  return:19    ret i32 120  }21 22  define i32 @b(double %a, double %b) {23  entry:24    %cmp = fcmp ueq double %a, %b25    br i1 %cmp, label %if.then, label %return26 27  if.then:28    call void asm sideeffect ".space 310680", "~{$1}"()29    ret i32 030 31  return:32    ret i32 133  }34 35...36---37name:            a38alignment:       439exposesReturnsTwice: false40legalized:       false41regBankSelected: false42selected:        false43failedISel:      false44tracksRegLiveness: true45registers:46liveins:47  - { reg: '$d6', virtual-reg: '' }48  - { reg: '$d7', virtual-reg: '' }49frameInfo:50  isFrameAddressTaken: false51  isReturnAddressTaken: false52  hasStackMap:     false53  hasPatchPoint:   false54  stackSize:       055  offsetAdjustment: 056  maxAlignment:    157  adjustsStack:    false58  hasCalls:        false59  stackProtector:  ''60  maxCallFrameSize: 061  hasOpaqueSPAdjustment: false62  hasVAStart:      false63  hasMustTailInVarArgFunc: false64  localFrameSize:  065  savePoint:       []66  restorePoint:    []67fixedStack:68stack:69constants:70body:             |71  ; MM-LABEL: name: a72  ; MM: bb.0.entry:73  ; MM:   successors: %bb.2(0x50000000), %bb.1(0x30000000)74  ; MM:   FCMP_D32_MM killed renamable $d6, killed renamable $d7, 2, implicit-def $fcc075  ; MM:   BC1F_MM $fcc0, %bb.2, implicit-def $at {76  ; MM:     $zero = SLL_MM $zero, 077  ; MM:   }78  ; MM: bb.1.entry:79  ; MM:   successors: %bb.3(0x80000000)80  ; MM:   J %bb.3, implicit-def $at {81  ; MM:     $zero = SLL_MM $zero, 082  ; MM:   }83  ; MM: bb.2.if.then:84  ; MM:   INLINEASM &".space 310680", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def dead early-clobber $at85  ; MM:   $v0 = LI16_MM 086  ; MM:   JRC16_MM undef $ra, implicit killed $v087  ; MM: bb.3.return:88  ; MM:   $v0 = LI16_MM 189  ; MM:   JRC16_MM undef $ra, implicit killed $v090  ; PIC-LABEL: name: a91  ; PIC: bb.0.entry:92  ; PIC:   successors: %bb.3(0x50000000), %bb.1(0x30000000)93  ; PIC:   FCMP_D32_MM killed renamable $d6, killed renamable $d7, 2, implicit-def $fcc094  ; PIC:   BC1F_MM $fcc0, %bb.3, implicit-def $at {95  ; PIC:     $zero = SLL_MM $zero, 096  ; PIC:   }97  ; PIC: bb.1.entry:98  ; PIC:   successors: %bb.2(0x80000000)99  ; PIC:   $sp = ADDiu $sp, -8100  ; PIC:   SW $ra, $sp, 0101  ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2102  ; PIC:   BAL_BR_MM %bb.2, implicit-def $ra {103  ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2104  ; PIC:   }105  ; PIC: bb.2.entry:106  ; PIC:   successors: %bb.4(0x80000000)107  ; PIC:   $at = ADDu $ra, $at108  ; PIC:   $ra = LW $sp, 0109  ; PIC:   JR $at {110  ; PIC:     $sp = ADDiu $sp, 8111  ; PIC:   }112  ; PIC: bb.3.if.then:113  ; PIC:   INLINEASM &".space 310680", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def dead early-clobber $at114  ; PIC:   $v0 = LI16_MM 0115  ; PIC:   JRC16_MM undef $ra, implicit killed $v0116  ; PIC: bb.4.return:117  ; PIC:   $v0 = LI16_MM 1118  ; PIC:   JRC16_MM undef $ra, implicit killed $v0119  bb.0.entry:120    successors: %bb.1(0x50000000), %bb.2(0x30000000)121    liveins: $d6, $d7122 123    FCMP_D32_MM killed renamable $d6, killed renamable $d7, 2, implicit-def $fcc0124    BC1T_MM killed $fcc0, %bb.2, implicit-def dead $at125 126  bb.1.if.then:127    INLINEASM &".space 310680", 1, 12, implicit-def dead early-clobber $at128    $v0 = LI16_MM 0129    PseudoReturn undef $ra, implicit killed $v0130 131  bb.2.return:132    $v0 = LI16_MM 1133    PseudoReturn undef $ra, implicit killed $v0134 135...136---137name:            b138alignment:       4139exposesReturnsTwice: false140legalized:       false141regBankSelected: false142selected:        false143failedISel:      false144tracksRegLiveness: true145registers:146liveins:147  - { reg: '$d6', virtual-reg: '' }148  - { reg: '$d7', virtual-reg: '' }149frameInfo:150  isFrameAddressTaken: false151  isReturnAddressTaken: false152  hasStackMap:     false153  hasPatchPoint:   false154  stackSize:       0155  offsetAdjustment: 0156  maxAlignment:    1157  adjustsStack:    false158  hasCalls:        false159  stackProtector:  ''160  maxCallFrameSize: 0161  hasOpaqueSPAdjustment: false162  hasVAStart:      false163  hasMustTailInVarArgFunc: false164  localFrameSize:  0165  savePoint:       []166  restorePoint:    []167fixedStack:168stack:169constants:170body:             |171  ; MM-LABEL: name: b172  ; MM: bb.0.entry:173  ; MM:   successors: %bb.2(0x30000000), %bb.1(0x50000000)174  ; MM:   FCMP_D32_MM killed renamable $d6, killed renamable $d7, 19, implicit-def $fcc0175  ; MM:   BC1F_MM killed $fcc0, %bb.1, implicit-def dead $at {176  ; MM:     $zero = SLL_MM $zero, 0177  ; MM:   }178  ; MM: bb.1.return:179  ; MM:   $v0 = LI16_MM 1180  ; MM:   JRC16_MM undef $ra, implicit killed $v0181  ; MM: bb.2.if.then:182  ; MM:   INLINEASM &".space 310680", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def dead early-clobber $at183  ; MM:   $v0 = LI16_MM 0184  ; MM:   JRC16_MM undef $ra, implicit killed $v0185  ; PIC-LABEL: name: b186  ; PIC: bb.0.entry:187  ; PIC:   successors: %bb.2(0x30000000), %bb.1(0x50000000)188  ; PIC:   FCMP_D32_MM killed renamable $d6, killed renamable $d7, 19, implicit-def $fcc0189  ; PIC:   BC1F_MM killed $fcc0, %bb.1, implicit-def dead $at {190  ; PIC:     $zero = SLL_MM $zero, 0191  ; PIC:   }192  ; PIC: bb.1.return:193  ; PIC:   $v0 = LI16_MM 1194  ; PIC:   JRC16_MM undef $ra, implicit killed $v0195  ; PIC: bb.2.if.then:196  ; PIC:   INLINEASM &".space 310680", 1 /* sideeffect attdialect */, 12 /* clobber */, implicit-def dead early-clobber $at197  ; PIC:   $v0 = LI16_MM 0198  ; PIC:   JRC16_MM undef $ra, implicit killed $v0199  bb.0.entry:200    successors: %bb.1(0x30000000), %bb.2(0x50000000)201    liveins: $d6, $d7202 203    FCMP_D32_MM killed renamable $d6, killed renamable $d7, 19, implicit-def $fcc0204    BC1F_MM killed $fcc0, %bb.2, implicit-def dead $at205 206  bb.2.return:207    $v0 = LI16_MM 1208    PseudoReturn undef $ra, implicit killed $v0209 210  bb.1.if.then:211    INLINEASM &".space 310680", 1, 12, implicit-def dead early-clobber $at212    $v0 = LI16_MM 0213    PseudoReturn undef $ra, implicit killed $v0214 215...216