brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.7 KiB · 7886a9d Raw
305 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=regbankselect -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=FP323# RUN: llc -O0 -mtriple=mipsel-linux-gnu -mattr=+fp64,+mips32r2 -run-pass=regbankselect -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=FP644 5--- |6 7  define void @float_in_fpr() {entry: ret void}8  define void @double_in_fpr() {entry: ret void}9  define void @float_in_gpr() {entry: ret void}10  define void @double_in_gpr() {entry: ret void}11  define void @call_float_in_fpr() {entry: ret void}12  define void @call_double_in_fpr() {entry: ret void}13  define void @call_float_in_gpr() {entry: ret void}14  define void @call_double_in_gpr() {entry: ret void}15 16...17---18name:            float_in_fpr19alignment:       420legalized:       true21tracksRegLiveness: true22body:             |23  bb.1.entry:24    liveins: $f12, $f1425 26    ; FP32-LABEL: name: float_in_fpr27    ; FP32: liveins: $f12, $f1428    ; FP32: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f1429    ; FP32: $f0 = COPY [[COPY]](s32)30    ; FP32: RetRA implicit $f031    ; FP64-LABEL: name: float_in_fpr32    ; FP64: liveins: $f12, $f1433    ; FP64: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f1434    ; FP64: $f0 = COPY [[COPY]](s32)35    ; FP64: RetRA implicit $f036    %1:_(s32) = COPY $f1437    $f0 = COPY %1(s32)38    RetRA implicit $f039 40...41---42name:            double_in_fpr43alignment:       444legalized:       true45tracksRegLiveness: true46body:             |47  bb.1.entry:48    liveins: $d6, $d749 50    ; FP32-LABEL: name: double_in_fpr51    ; FP32: liveins: $d6, $d752    ; FP32: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d753    ; FP32: $d0 = COPY [[COPY]](s64)54    ; FP32: RetRA implicit $d055    ; FP64-LABEL: name: double_in_fpr56    ; FP64: liveins: $d6, $d757    ; FP64: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d758    ; FP64: $d0 = COPY [[COPY]](s64)59    ; FP64: RetRA implicit $d060    %1:_(s64) = COPY $d761    $d0 = COPY %1(s64)62    RetRA implicit $d063 64...65---66name:            float_in_gpr67alignment:       468legalized:       true69tracksRegLiveness: true70body:             |71  bb.1.entry:72    liveins: $a0, $a173 74    ; FP32-LABEL: name: float_in_gpr75    ; FP32: liveins: $a0, $a176    ; FP32: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a177    ; FP32: $f0 = COPY [[COPY]](s32)78    ; FP32: RetRA implicit $f079    ; FP64-LABEL: name: float_in_gpr80    ; FP64: liveins: $a0, $a181    ; FP64: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a182    ; FP64: $f0 = COPY [[COPY]](s32)83    ; FP64: RetRA implicit $f084    %1:_(s32) = COPY $a185    $f0 = COPY %1(s32)86    RetRA implicit $f087 88...89---90name:            double_in_gpr91alignment:       492legalized:       true93tracksRegLiveness: true94body:             |95  bb.1.entry:96    liveins: $a0, $a2, $a397 98    ; FP32-LABEL: name: double_in_gpr99    ; FP32: liveins: $a0, $a2, $a3100    ; FP32: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a2101    ; FP32: [[COPY1:%[0-9]+]]:gprb(s32) = COPY $a3102    ; FP32: [[MV:%[0-9]+]]:fprb(s64) = G_MERGE_VALUES [[COPY]](s32), [[COPY1]](s32)103    ; FP32: $d0 = COPY [[MV]](s64)104    ; FP32: RetRA implicit $d0105    ; FP64-LABEL: name: double_in_gpr106    ; FP64: liveins: $a0, $a2, $a3107    ; FP64: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a2108    ; FP64: [[COPY1:%[0-9]+]]:gprb(s32) = COPY $a3109    ; FP64: [[MV:%[0-9]+]]:fprb(s64) = G_MERGE_VALUES [[COPY]](s32), [[COPY1]](s32)110    ; FP64: $d0 = COPY [[MV]](s64)111    ; FP64: RetRA implicit $d0112    %2:_(s32) = COPY $a2113    %3:_(s32) = COPY $a3114    %1:_(s64) = G_MERGE_VALUES %2(s32), %3(s32)115    $d0 = COPY %1(s64)116    RetRA implicit $d0117 118...119---120name:            call_float_in_fpr121alignment:       4122legalized:       true123tracksRegLiveness: true124body:             |125  bb.1.entry:126    liveins: $f12, $f14127 128    ; FP32-LABEL: name: call_float_in_fpr129    ; FP32: liveins: $f12, $f14130    ; FP32: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f12131    ; FP32: [[COPY1:%[0-9]+]]:fprb(s32) = COPY $f14132    ; FP32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp133    ; FP32: $f12 = COPY [[COPY]](s32)134    ; FP32: $f14 = COPY [[COPY1]](s32)135    ; FP32: JAL @float_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $f12, implicit $f14, implicit-def $f0136    ; FP32: [[COPY2:%[0-9]+]]:fprb(s32) = COPY $f0137    ; FP32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp138    ; FP32: $f0 = COPY [[COPY2]](s32)139    ; FP32: RetRA implicit $f0140    ; FP64-LABEL: name: call_float_in_fpr141    ; FP64: liveins: $f12, $f14142    ; FP64: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f12143    ; FP64: [[COPY1:%[0-9]+]]:fprb(s32) = COPY $f14144    ; FP64: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp145    ; FP64: $f12 = COPY [[COPY]](s32)146    ; FP64: $f14 = COPY [[COPY1]](s32)147    ; FP64: JAL @float_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $f12, implicit $f14, implicit-def $f0148    ; FP64: [[COPY2:%[0-9]+]]:fprb(s32) = COPY $f0149    ; FP64: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp150    ; FP64: $f0 = COPY [[COPY2]](s32)151    ; FP64: RetRA implicit $f0152    %0:_(s32) = COPY $f12153    %1:_(s32) = COPY $f14154    ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp155    $f12 = COPY %0(s32)156    $f14 = COPY %1(s32)157    JAL @float_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $f12, implicit $f14, implicit-def $f0158    %2:_(s32) = COPY $f0159    ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp160    $f0 = COPY %2(s32)161    RetRA implicit $f0162 163...164---165name:            call_double_in_fpr166alignment:       4167legalized:       true168tracksRegLiveness: true169body:             |170  bb.1.entry:171    liveins: $d6, $d7172 173    ; FP32-LABEL: name: call_double_in_fpr174    ; FP32: liveins: $d6, $d7175    ; FP32: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d6176    ; FP32: [[COPY1:%[0-9]+]]:fprb(s64) = COPY $d7177    ; FP32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp178    ; FP32: $d6 = COPY [[COPY]](s64)179    ; FP32: $d7 = COPY [[COPY1]](s64)180    ; FP32: JAL @double_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $d6, implicit $d7, implicit-def $d0181    ; FP32: [[COPY2:%[0-9]+]]:fprb(s64) = COPY $d0182    ; FP32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp183    ; FP32: $d0 = COPY [[COPY2]](s64)184    ; FP32: RetRA implicit $d0185    ; FP64-LABEL: name: call_double_in_fpr186    ; FP64: liveins: $d6, $d7187    ; FP64: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d6188    ; FP64: [[COPY1:%[0-9]+]]:fprb(s64) = COPY $d7189    ; FP64: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp190    ; FP64: $d6 = COPY [[COPY]](s64)191    ; FP64: $d7 = COPY [[COPY1]](s64)192    ; FP64: JAL @double_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $d6, implicit $d7, implicit-def $d0193    ; FP64: [[COPY2:%[0-9]+]]:fprb(s64) = COPY $d0194    ; FP64: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp195    ; FP64: $d0 = COPY [[COPY2]](s64)196    ; FP64: RetRA implicit $d0197    %0:_(s64) = COPY $d6198    %1:_(s64) = COPY $d7199    ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp200    $d6 = COPY %0(s64)201    $d7 = COPY %1(s64)202    JAL @double_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $d6, implicit $d7, implicit-def $d0203    %2:_(s64) = COPY $d0204    ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp205    $d0 = COPY %2(s64)206    RetRA implicit $d0207 208...209---210name:            call_float_in_gpr211alignment:       4212legalized:       true213tracksRegLiveness: true214body:             |215  bb.1.entry:216    liveins: $a0, $a1217 218    ; FP32-LABEL: name: call_float_in_gpr219    ; FP32: liveins: $a0, $a1220    ; FP32: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a0221    ; FP32: [[COPY1:%[0-9]+]]:gprb(s32) = COPY $a1222    ; FP32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp223    ; FP32: $a0 = COPY [[COPY]](s32)224    ; FP32: $a1 = COPY [[COPY1]](s32)225    ; FP32: JAL @float_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $f0226    ; FP32: [[COPY2:%[0-9]+]]:fprb(s32) = COPY $f0227    ; FP32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp228    ; FP32: $f0 = COPY [[COPY2]](s32)229    ; FP32: RetRA implicit $f0230    ; FP64-LABEL: name: call_float_in_gpr231    ; FP64: liveins: $a0, $a1232    ; FP64: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a0233    ; FP64: [[COPY1:%[0-9]+]]:gprb(s32) = COPY $a1234    ; FP64: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp235    ; FP64: $a0 = COPY [[COPY]](s32)236    ; FP64: $a1 = COPY [[COPY1]](s32)237    ; FP64: JAL @float_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $f0238    ; FP64: [[COPY2:%[0-9]+]]:fprb(s32) = COPY $f0239    ; FP64: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp240    ; FP64: $f0 = COPY [[COPY2]](s32)241    ; FP64: RetRA implicit $f0242    %0:_(s32) = COPY $a0243    %1:_(s32) = COPY $a1244    ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp245    $a0 = COPY %0(s32)246    $a1 = COPY %1(s32)247    JAL @float_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $f0248    %2:_(s32) = COPY $f0249    ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp250    $f0 = COPY %2(s32)251    RetRA implicit $f0252 253...254---255name:            call_double_in_gpr256alignment:       4257legalized:       true258tracksRegLiveness: true259body:             |260  bb.1.entry:261    liveins: $a0, $a2, $a3262 263    ; FP32-LABEL: name: call_double_in_gpr264    ; FP32: liveins: $a0, $a2, $a3265    ; FP32: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a0266    ; FP32: [[COPY1:%[0-9]+]]:gprb(s32) = COPY $a2267    ; FP32: [[COPY2:%[0-9]+]]:gprb(s32) = COPY $a3268    ; FP32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp269    ; FP32: $a0 = COPY [[COPY]](s32)270    ; FP32: $a2 = COPY [[COPY1]](s32)271    ; FP32: $a3 = COPY [[COPY2]](s32)272    ; FP32: JAL @double_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $d0273    ; FP32: [[COPY3:%[0-9]+]]:fprb(s64) = COPY $d0274    ; FP32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp275    ; FP32: $d0 = COPY [[COPY3]](s64)276    ; FP32: RetRA implicit $d0277    ; FP64-LABEL: name: call_double_in_gpr278    ; FP64: liveins: $a0, $a2, $a3279    ; FP64: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a0280    ; FP64: [[COPY1:%[0-9]+]]:gprb(s32) = COPY $a2281    ; FP64: [[COPY2:%[0-9]+]]:gprb(s32) = COPY $a3282    ; FP64: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp283    ; FP64: $a0 = COPY [[COPY]](s32)284    ; FP64: $a2 = COPY [[COPY1]](s32)285    ; FP64: $a3 = COPY [[COPY2]](s32)286    ; FP64: JAL @double_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $d0287    ; FP64: [[COPY3:%[0-9]+]]:fprb(s64) = COPY $d0288    ; FP64: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp289    ; FP64: $d0 = COPY [[COPY3]](s64)290    ; FP64: RetRA implicit $d0291    %0:_(s32) = COPY $a0292    %2:_(s32) = COPY $a2293    %3:_(s32) = COPY $a3294    ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp295    $a0 = COPY %0(s32)296    $a2 = COPY %2(s32)297    $a3 = COPY %3(s32)298    JAL @double_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $d0299    %4:_(s64) = COPY $d0300    ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp301    $d0 = COPY %4(s64)302    RetRA implicit $d0303 304...305