brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.9 KiB · 17ce903 Raw
315 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple thumb-- -mattr=+v6t2 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s3--- |4  define void @test_icmp_eq_s32() { ret void }5  define void @test_icmp_ne_s32() { ret void }6  define void @test_icmp_ugt_s32() { ret void }7  define void @test_icmp_uge_s32() { ret void }8  define void @test_icmp_ult_s32() { ret void }9  define void @test_icmp_ule_s32() { ret void }10  define void @test_icmp_sgt_s32() { ret void }11  define void @test_icmp_sge_s32() { ret void }12  define void @test_icmp_slt_s32() { ret void }13  define void @test_icmp_sle_s32() { ret void }14...15---16name:            test_icmp_eq_s3217legalized:       true18regBankSelected: true19selected:        false20registers:21  - { id: 0, class: gprb }22  - { id: 1, class: gprb }23  - { id: 2, class: gprb }24  - { id: 3, class: gprb }25body:             |26  bb.0:27    liveins: $r0, $r128 29    ; CHECK-LABEL: name: test_icmp_eq_s3230    ; CHECK: [[COPY:%[0-9]+]]:gprnopc = COPY $r031    ; CHECK: [[COPY1:%[0-9]+]]:rgpr = COPY $r132    ; CHECK: [[t2MOVi:%[0-9]+]]:rgpr = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg33    ; CHECK: t2CMPrr [[COPY]], [[COPY1]], 14 /* CC::al */, $noreg, implicit-def $cpsr34    ; CHECK: [[t2MOVCCi:%[0-9]+]]:rgpr = t2MOVCCi [[t2MOVi]], 1, 0 /* CC::eq */, $cpsr35    ; CHECK: [[t2ANDri:%[0-9]+]]:rgpr = t2ANDri [[t2MOVCCi]], 1, 14 /* CC::al */, $noreg, $noreg36    ; CHECK: $r0 = COPY [[t2ANDri]]37    ; CHECK: BX_RET 14 /* CC::al */, $noreg, implicit $r038    %0(s32) = COPY $r039    %1(s32) = COPY $r140    %2(s1) = G_ICMP intpred(eq),  %0(s32), %141    %3(s32) = G_ZEXT %2(s1)42    $r0 = COPY %3(s32)43    BX_RET 14, $noreg, implicit $r044...45---46name:            test_icmp_ne_s3247legalized:       true48regBankSelected: true49selected:        false50registers:51  - { id: 0, class: gprb }52  - { id: 1, class: gprb }53  - { id: 2, class: gprb }54  - { id: 3, class: gprb }55body:             |56  bb.0:57    liveins: $r0, $r158 59    ; CHECK-LABEL: name: test_icmp_ne_s3260    ; CHECK: [[COPY:%[0-9]+]]:gprnopc = COPY $r061    ; CHECK: [[COPY1:%[0-9]+]]:rgpr = COPY $r162    ; CHECK: [[t2MOVi:%[0-9]+]]:rgpr = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg63    ; CHECK: t2CMPrr [[COPY]], [[COPY1]], 14 /* CC::al */, $noreg, implicit-def $cpsr64    ; CHECK: [[t2MOVCCi:%[0-9]+]]:rgpr = t2MOVCCi [[t2MOVi]], 1, 1 /* CC::ne */, $cpsr65    ; CHECK: [[t2ANDri:%[0-9]+]]:rgpr = t2ANDri [[t2MOVCCi]], 1, 14 /* CC::al */, $noreg, $noreg66    ; CHECK: $r0 = COPY [[t2ANDri]]67    ; CHECK: BX_RET 14 /* CC::al */, $noreg, implicit $r068    %0(s32) = COPY $r069    %1(s32) = COPY $r170    %2(s1) = G_ICMP intpred(ne),  %0(s32), %171    %3(s32) = G_ZEXT %2(s1)72    $r0 = COPY %3(s32)73    BX_RET 14, $noreg, implicit $r074...75---76name:            test_icmp_ugt_s3277legalized:       true78regBankSelected: true79selected:        false80registers:81  - { id: 0, class: gprb }82  - { id: 1, class: gprb }83  - { id: 2, class: gprb }84  - { id: 3, class: gprb }85body:             |86  bb.0:87    liveins: $r0, $r188 89    ; CHECK-LABEL: name: test_icmp_ugt_s3290    ; CHECK: [[COPY:%[0-9]+]]:gprnopc = COPY $r091    ; CHECK: [[COPY1:%[0-9]+]]:rgpr = COPY $r192    ; CHECK: [[t2MOVi:%[0-9]+]]:rgpr = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg93    ; CHECK: t2CMPrr [[COPY]], [[COPY1]], 14 /* CC::al */, $noreg, implicit-def $cpsr94    ; CHECK: [[t2MOVCCi:%[0-9]+]]:rgpr = t2MOVCCi [[t2MOVi]], 1, 8 /* CC::hi */, $cpsr95    ; CHECK: [[t2ANDri:%[0-9]+]]:rgpr = t2ANDri [[t2MOVCCi]], 1, 14 /* CC::al */, $noreg, $noreg96    ; CHECK: $r0 = COPY [[t2ANDri]]97    ; CHECK: BX_RET 14 /* CC::al */, $noreg, implicit $r098    %0(s32) = COPY $r099    %1(s32) = COPY $r1100    %2(s1) = G_ICMP intpred(ugt),  %0(s32), %1101    %3(s32) = G_ZEXT %2(s1)102    $r0 = COPY %3(s32)103    BX_RET 14, $noreg, implicit $r0104...105---106name:            test_icmp_uge_s32107legalized:       true108regBankSelected: true109selected:        false110registers:111  - { id: 0, class: gprb }112  - { id: 1, class: gprb }113  - { id: 2, class: gprb }114  - { id: 3, class: gprb }115body:             |116  bb.0:117    liveins: $r0, $r1118 119    ; CHECK-LABEL: name: test_icmp_uge_s32120    ; CHECK: [[COPY:%[0-9]+]]:gprnopc = COPY $r0121    ; CHECK: [[COPY1:%[0-9]+]]:rgpr = COPY $r1122    ; CHECK: [[t2MOVi:%[0-9]+]]:rgpr = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg123    ; CHECK: t2CMPrr [[COPY]], [[COPY1]], 14 /* CC::al */, $noreg, implicit-def $cpsr124    ; CHECK: [[t2MOVCCi:%[0-9]+]]:rgpr = t2MOVCCi [[t2MOVi]], 1, 2 /* CC::hs */, $cpsr125    ; CHECK: [[t2ANDri:%[0-9]+]]:rgpr = t2ANDri [[t2MOVCCi]], 1, 14 /* CC::al */, $noreg, $noreg126    ; CHECK: $r0 = COPY [[t2ANDri]]127    ; CHECK: BX_RET 14 /* CC::al */, $noreg, implicit $r0128    %0(s32) = COPY $r0129    %1(s32) = COPY $r1130    %2(s1) = G_ICMP intpred(uge),  %0(s32), %1131    %3(s32) = G_ZEXT %2(s1)132    $r0 = COPY %3(s32)133    BX_RET 14, $noreg, implicit $r0134...135---136name:            test_icmp_ult_s32137legalized:       true138regBankSelected: true139selected:        false140registers:141  - { id: 0, class: gprb }142  - { id: 1, class: gprb }143  - { id: 2, class: gprb }144  - { id: 3, class: gprb }145body:             |146  bb.0:147    liveins: $r0, $r1148 149    ; CHECK-LABEL: name: test_icmp_ult_s32150    ; CHECK: [[COPY:%[0-9]+]]:gprnopc = COPY $r0151    ; CHECK: [[COPY1:%[0-9]+]]:rgpr = COPY $r1152    ; CHECK: [[t2MOVi:%[0-9]+]]:rgpr = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg153    ; CHECK: t2CMPrr [[COPY]], [[COPY1]], 14 /* CC::al */, $noreg, implicit-def $cpsr154    ; CHECK: [[t2MOVCCi:%[0-9]+]]:rgpr = t2MOVCCi [[t2MOVi]], 1, 3 /* CC::lo */, $cpsr155    ; CHECK: [[t2ANDri:%[0-9]+]]:rgpr = t2ANDri [[t2MOVCCi]], 1, 14 /* CC::al */, $noreg, $noreg156    ; CHECK: $r0 = COPY [[t2ANDri]]157    ; CHECK: BX_RET 14 /* CC::al */, $noreg, implicit $r0158    %0(s32) = COPY $r0159    %1(s32) = COPY $r1160    %2(s1) = G_ICMP intpred(ult),  %0(s32), %1161    %3(s32) = G_ZEXT %2(s1)162    $r0 = COPY %3(s32)163    BX_RET 14, $noreg, implicit $r0164...165---166name:            test_icmp_ule_s32167legalized:       true168regBankSelected: true169selected:        false170registers:171  - { id: 0, class: gprb }172  - { id: 1, class: gprb }173  - { id: 2, class: gprb }174  - { id: 3, class: gprb }175body:             |176  bb.0:177    liveins: $r0, $r1178 179    ; CHECK-LABEL: name: test_icmp_ule_s32180    ; CHECK: [[COPY:%[0-9]+]]:gprnopc = COPY $r0181    ; CHECK: [[COPY1:%[0-9]+]]:rgpr = COPY $r1182    ; CHECK: [[t2MOVi:%[0-9]+]]:rgpr = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg183    ; CHECK: t2CMPrr [[COPY]], [[COPY1]], 14 /* CC::al */, $noreg, implicit-def $cpsr184    ; CHECK: [[t2MOVCCi:%[0-9]+]]:rgpr = t2MOVCCi [[t2MOVi]], 1, 9 /* CC::ls */, $cpsr185    ; CHECK: [[t2ANDri:%[0-9]+]]:rgpr = t2ANDri [[t2MOVCCi]], 1, 14 /* CC::al */, $noreg, $noreg186    ; CHECK: $r0 = COPY [[t2ANDri]]187    ; CHECK: BX_RET 14 /* CC::al */, $noreg, implicit $r0188    %0(s32) = COPY $r0189    %1(s32) = COPY $r1190    %2(s1) = G_ICMP intpred(ule),  %0(s32), %1191    %3(s32) = G_ZEXT %2(s1)192    $r0 = COPY %3(s32)193    BX_RET 14, $noreg, implicit $r0194...195---196name:            test_icmp_sgt_s32197legalized:       true198regBankSelected: true199selected:        false200registers:201  - { id: 0, class: gprb }202  - { id: 1, class: gprb }203  - { id: 2, class: gprb }204  - { id: 3, class: gprb }205body:             |206  bb.0:207    liveins: $r0, $r1208 209    ; CHECK-LABEL: name: test_icmp_sgt_s32210    ; CHECK: [[COPY:%[0-9]+]]:gprnopc = COPY $r0211    ; CHECK: [[COPY1:%[0-9]+]]:rgpr = COPY $r1212    ; CHECK: [[t2MOVi:%[0-9]+]]:rgpr = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg213    ; CHECK: t2CMPrr [[COPY]], [[COPY1]], 14 /* CC::al */, $noreg, implicit-def $cpsr214    ; CHECK: [[t2MOVCCi:%[0-9]+]]:rgpr = t2MOVCCi [[t2MOVi]], 1, 12 /* CC::gt */, $cpsr215    ; CHECK: [[t2ANDri:%[0-9]+]]:rgpr = t2ANDri [[t2MOVCCi]], 1, 14 /* CC::al */, $noreg, $noreg216    ; CHECK: $r0 = COPY [[t2ANDri]]217    ; CHECK: BX_RET 14 /* CC::al */, $noreg, implicit $r0218    %0(s32) = COPY $r0219    %1(s32) = COPY $r1220    %2(s1) = G_ICMP intpred(sgt),  %0(s32), %1221    %3(s32) = G_ZEXT %2(s1)222    $r0 = COPY %3(s32)223    BX_RET 14, $noreg, implicit $r0224...225---226name:            test_icmp_sge_s32227legalized:       true228regBankSelected: true229selected:        false230registers:231  - { id: 0, class: gprb }232  - { id: 1, class: gprb }233  - { id: 2, class: gprb }234  - { id: 3, class: gprb }235body:             |236  bb.0:237    liveins: $r0, $r1238 239    ; CHECK-LABEL: name: test_icmp_sge_s32240    ; CHECK: [[COPY:%[0-9]+]]:gprnopc = COPY $r0241    ; CHECK: [[COPY1:%[0-9]+]]:rgpr = COPY $r1242    ; CHECK: [[t2MOVi:%[0-9]+]]:rgpr = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg243    ; CHECK: t2CMPrr [[COPY]], [[COPY1]], 14 /* CC::al */, $noreg, implicit-def $cpsr244    ; CHECK: [[t2MOVCCi:%[0-9]+]]:rgpr = t2MOVCCi [[t2MOVi]], 1, 10 /* CC::ge */, $cpsr245    ; CHECK: [[t2ANDri:%[0-9]+]]:rgpr = t2ANDri [[t2MOVCCi]], 1, 14 /* CC::al */, $noreg, $noreg246    ; CHECK: $r0 = COPY [[t2ANDri]]247    ; CHECK: BX_RET 14 /* CC::al */, $noreg, implicit $r0248    %0(s32) = COPY $r0249    %1(s32) = COPY $r1250    %2(s1) = G_ICMP intpred(sge),  %0(s32), %1251    %3(s32) = G_ZEXT %2(s1)252    $r0 = COPY %3(s32)253    BX_RET 14, $noreg, implicit $r0254...255---256name:            test_icmp_slt_s32257legalized:       true258regBankSelected: true259selected:        false260registers:261  - { id: 0, class: gprb }262  - { id: 1, class: gprb }263  - { id: 2, class: gprb }264  - { id: 3, class: gprb }265body:             |266  bb.0:267    liveins: $r0, $r1268 269    ; CHECK-LABEL: name: test_icmp_slt_s32270    ; CHECK: [[COPY:%[0-9]+]]:gprnopc = COPY $r0271    ; CHECK: [[COPY1:%[0-9]+]]:rgpr = COPY $r1272    ; CHECK: [[t2MOVi:%[0-9]+]]:rgpr = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg273    ; CHECK: t2CMPrr [[COPY]], [[COPY1]], 14 /* CC::al */, $noreg, implicit-def $cpsr274    ; CHECK: [[t2MOVCCi:%[0-9]+]]:rgpr = t2MOVCCi [[t2MOVi]], 1, 11 /* CC::lt */, $cpsr275    ; CHECK: [[t2ANDri:%[0-9]+]]:rgpr = t2ANDri [[t2MOVCCi]], 1, 14 /* CC::al */, $noreg, $noreg276    ; CHECK: $r0 = COPY [[t2ANDri]]277    ; CHECK: BX_RET 14 /* CC::al */, $noreg, implicit $r0278    %0(s32) = COPY $r0279    %1(s32) = COPY $r1280    %2(s1) = G_ICMP intpred(slt),  %0(s32), %1281    %3(s32) = G_ZEXT %2(s1)282    $r0 = COPY %3(s32)283    BX_RET 14, $noreg, implicit $r0284...285---286name:            test_icmp_sle_s32287legalized:       true288regBankSelected: true289selected:        false290registers:291  - { id: 0, class: gprb }292  - { id: 1, class: gprb }293  - { id: 2, class: gprb }294  - { id: 3, class: gprb }295body:             |296  bb.0:297    liveins: $r0, $r1298 299    ; CHECK-LABEL: name: test_icmp_sle_s32300    ; CHECK: [[COPY:%[0-9]+]]:gprnopc = COPY $r0301    ; CHECK: [[COPY1:%[0-9]+]]:rgpr = COPY $r1302    ; CHECK: [[t2MOVi:%[0-9]+]]:rgpr = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg303    ; CHECK: t2CMPrr [[COPY]], [[COPY1]], 14 /* CC::al */, $noreg, implicit-def $cpsr304    ; CHECK: [[t2MOVCCi:%[0-9]+]]:rgpr = t2MOVCCi [[t2MOVi]], 1, 13 /* CC::le */, $cpsr305    ; CHECK: [[t2ANDri:%[0-9]+]]:rgpr = t2ANDri [[t2MOVCCi]], 1, 14 /* CC::al */, $noreg, $noreg306    ; CHECK: $r0 = COPY [[t2ANDri]]307    ; CHECK: BX_RET 14 /* CC::al */, $noreg, implicit $r0308    %0(s32) = COPY $r0309    %1(s32) = COPY $r1310    %2(s1) = G_ICMP intpred(sle),  %0(s32), %1311    %3(s32) = G_ZEXT %2(s1)312    $r0 = COPY %3(s32)313    BX_RET 14, $noreg, implicit $r0314...315