brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.1 KiB · 13f7653 Raw
166 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple=mipsel-linux-gnu -relocation-model=pic -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS323--- |4 5  @val = global i32 06  @val_with_local_linkage = internal global i32 17 8  declare i32 @f(i32, i32)9  define internal void @f_with_local_linkage() {entry: ret void}10  define void @call_global() {entry: ret void}11  define void @call_global_with_local_linkage() {entry: ret void}12  define void @ret_global_int() {entry: ret void}13  define void @ret_global_int_with_local_linkage() {entry: ret void}14 15...16---17name:            f_with_local_linkage18alignment:       419legalized:       true20regBankSelected: true21tracksRegLiveness: true22body:             |23  bb.1.entry:24    liveins: $a0, $a125 26    ; MIPS32-LABEL: name: f_with_local_linkage27    ; MIPS32: liveins: $a0, $a128    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a029    ; MIPS32: [[COPY1:%[0-9]+]]:gpr32 = COPY $a130    ; MIPS32: [[ADDu:%[0-9]+]]:gpr32 = ADDu [[COPY1]], [[COPY]]31    ; MIPS32: $v0 = COPY [[ADDu]]32    ; MIPS32: RetRA implicit $v033    %0:gprb(s32) = COPY $a034    %1:gprb(s32) = COPY $a135    %2:gprb(s32) = G_ADD %1, %036    $v0 = COPY %2(s32)37    RetRA implicit $v038 39...40---41name:            call_global42alignment:       443legalized:       true44regBankSelected: true45tracksRegLiveness: true46body:             |47  bb.1.entry:48    liveins: $a0, $a1, $t9, $v049 50    ; MIPS32-LABEL: name: call_global51    ; MIPS32: liveins: $a0, $a1, $t9, $v0, $t9, $v052    ; MIPS32: [[ADDu:%[0-9]+]]:gpr32 = ADDu $v0, $t953    ; MIPS32: [[ADDu1:%[0-9]+]]:gpr32 = ADDu $v0, $t954    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a055    ; MIPS32: [[COPY1:%[0-9]+]]:gpr32 = COPY $a156    ; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp57    ; MIPS32: [[LW:%[0-9]+]]:gpr32 = LW [[ADDu]], target-flags(mips-got-call) @f :: (load (s32) from got)58    ; MIPS32: $a0 = COPY [[COPY]]59    ; MIPS32: $a1 = COPY [[COPY1]]60    ; MIPS32: $gp = COPY [[ADDu1]]61    ; MIPS32: JALRPseudo [[LW]], csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v062    ; MIPS32: [[COPY2:%[0-9]+]]:gpr32 = COPY $v063    ; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp64    ; MIPS32: $v0 = COPY [[COPY2]]65    ; MIPS32: RetRA implicit $v066    %4:gpr32 = ADDu $v0, $t967    %0:gprb(s32) = COPY $a068    %1:gprb(s32) = COPY $a169    ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp70    %3:gpr32(p0) = G_GLOBAL_VALUE target-flags(mips-got-call) @f71    $a0 = COPY %0(s32)72    $a1 = COPY %1(s32)73    $gp = COPY %474    JALRPseudo %3(p0), csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v075    %2:gprb(s32) = COPY $v076    ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp77    $v0 = COPY %2(s32)78    RetRA implicit $v079 80...81---82name:            call_global_with_local_linkage83alignment:       484legalized:       true85regBankSelected: true86tracksRegLiveness: true87body:             |88  bb.1.entry:89    liveins: $a0, $a1, $t9, $v090 91    ; MIPS32-LABEL: name: call_global_with_local_linkage92    ; MIPS32: liveins: $a0, $a1, $t9, $v0, $t9, $v093    ; MIPS32: [[ADDu:%[0-9]+]]:gpr32 = ADDu $v0, $t994    ; MIPS32: [[ADDu1:%[0-9]+]]:gpr32 = ADDu $v0, $t995    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a096    ; MIPS32: [[COPY1:%[0-9]+]]:gpr32 = COPY $a197    ; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp98    ; MIPS32: [[LW:%[0-9]+]]:gpr32 = LW [[ADDu]], target-flags(mips-got) @f_with_local_linkage :: (load (s32) from got)99    ; MIPS32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu [[LW]], target-flags(mips-abs-lo) @f_with_local_linkage100    ; MIPS32: $a0 = COPY [[COPY]]101    ; MIPS32: $a1 = COPY [[COPY1]]102    ; MIPS32: $gp = COPY [[ADDu1]]103    ; MIPS32: JALRPseudo [[ADDiu]], csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v0104    ; MIPS32: [[COPY2:%[0-9]+]]:gpr32 = COPY $v0105    ; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp106    ; MIPS32: $v0 = COPY [[COPY2]]107    ; MIPS32: RetRA implicit $v0108    %4:gpr32 = ADDu $v0, $t9109    %0:gprb(s32) = COPY $a0110    %1:gprb(s32) = COPY $a1111    ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp112    %3:gpr32(p0) = G_GLOBAL_VALUE @f_with_local_linkage113    $a0 = COPY %0(s32)114    $a1 = COPY %1(s32)115    $gp = COPY %4116    JALRPseudo %3(p0), csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v0117    %2:gprb(s32) = COPY $v0118    ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp119    $v0 = COPY %2(s32)120    RetRA implicit $v0121 122...123---124name:            ret_global_int125alignment:       4126legalized:       true127regBankSelected: true128tracksRegLiveness: true129body:             |130  bb.1.entry:131    ; MIPS32-LABEL: name: ret_global_int132    ; MIPS32: liveins: $t9, $v0133    ; MIPS32: [[ADDu:%[0-9]+]]:gpr32 = ADDu $v0, $t9134    ; MIPS32: [[LW:%[0-9]+]]:gpr32 = LW [[ADDu]], target-flags(mips-got) @val :: (load (s32) from got)135    ; MIPS32: [[LW1:%[0-9]+]]:gpr32 = LW [[LW]], 0 :: (load (s32) from @val)136    ; MIPS32: $v0 = COPY [[LW1]]137    ; MIPS32: RetRA implicit $v0138    %1:gprb(p0) = G_GLOBAL_VALUE @val139    %0:gprb(s32) = G_LOAD %1(p0) :: (load (s32) from @val)140    $v0 = COPY %0(s32)141    RetRA implicit $v0142 143...144---145name:            ret_global_int_with_local_linkage146alignment:       4147legalized:       true148regBankSelected: true149tracksRegLiveness: true150body:             |151  bb.1.entry:152    ; MIPS32-LABEL: name: ret_global_int_with_local_linkage153    ; MIPS32: liveins: $t9, $v0154    ; MIPS32: [[ADDu:%[0-9]+]]:gpr32 = ADDu $v0, $t9155    ; MIPS32: [[LW:%[0-9]+]]:gpr32 = LW [[ADDu]], target-flags(mips-got) @val_with_local_linkage :: (load (s32) from got)156    ; MIPS32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu [[LW]], target-flags(mips-abs-lo) @val_with_local_linkage157    ; MIPS32: [[LW1:%[0-9]+]]:gpr32 = LW [[ADDiu]], 0 :: (load (s32) from @val_with_local_linkage)158    ; MIPS32: $v0 = COPY [[LW1]]159    ; MIPS32: RetRA implicit $v0160    %1:gprb(p0) = G_GLOBAL_VALUE @val_with_local_linkage161    %0:gprb(s32) = G_LOAD %1(p0) :: (load (s32) from @val_with_local_linkage)162    $v0 = COPY %0(s32)163    RetRA implicit $v0164 165...166