brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.7 KiB · 1184c07 Raw
201 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=x86_64-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s3 4--- |5  define i32 @test_cmp_i8(i8 %a, i8 %b) {6    %r = icmp ult i8 %a, %b7    %res = zext i1 %r to i328    ret i32 %res9  }10 11  define i32 @test_cmp_i16(i16 %a, i16 %b) {12    %r = icmp ult i16 %a, %b13    %res = zext i1 %r to i3214    ret i32 %res15  }16 17  define i32 @test_cmp_i32(i32 %a, i32 %b) {18    %r = icmp ult i32 %a, %b19    %res = zext i1 %r to i3220    ret i32 %res21  }22 23  define i32 @test_cmp_i64(i64 %a, i64 %b) {24    %r = icmp ult i64 %a, %b25    %res = zext i1 %r to i3226    ret i32 %res27  }28 29  define i32 @test_cmp_p0(ptr %a, ptr %b) {30    %r = icmp ult ptr %a, %b31    %res = zext i1 %r to i3232    ret i32 %res33  }34 35...36---37name:            test_cmp_i838alignment:       1639legalized:       false40regBankSelected: false41registers:42  - { id: 0, class: _ }43  - { id: 1, class: _ }44  - { id: 2, class: _ }45  - { id: 3, class: _ }46body:             |47  bb.1 (%ir-block.0):48    liveins: $edi, $esi49 50    ; CHECK-LABEL: name: test_cmp_i851    ; CHECK: liveins: $edi, $esi52    ; CHECK-NEXT: {{  $}}53    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY $dil54    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s8) = COPY $sil55    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s8) = G_ICMP intpred(ult), [[COPY]](s8), [[COPY1]]56    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[ICMP]](s8)57    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 158    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[ANYEXT]], [[C]]59    ; CHECK-NEXT: $eax = COPY [[AND]](s32)60    ; CHECK-NEXT: RET 0, implicit $eax61    %0(s8) = COPY $dil62    %1(s8) = COPY $sil63    %2(s1) = G_ICMP intpred(ult), %0(s8), %164    %3(s32) = G_ZEXT %2(s1)65    $eax = COPY %3(s32)66    RET 0, implicit $eax67 68...69---70name:            test_cmp_i1671alignment:       1672legalized:       false73regBankSelected: false74registers:75  - { id: 0, class: _ }76  - { id: 1, class: _ }77  - { id: 2, class: _ }78  - { id: 3, class: _ }79body:             |80  bb.1 (%ir-block.0):81    liveins: $edi, $esi82 83    ; CHECK-LABEL: name: test_cmp_i1684    ; CHECK: liveins: $edi, $esi85    ; CHECK-NEXT: {{  $}}86    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $di87    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $si88    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s8) = G_ICMP intpred(ult), [[COPY]](s16), [[COPY1]]89    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[ICMP]](s8)90    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 191    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[ANYEXT]], [[C]]92    ; CHECK-NEXT: $eax = COPY [[AND]](s32)93    ; CHECK-NEXT: RET 0, implicit $eax94    %0(s16) = COPY $di95    %1(s16) = COPY $si96    %2(s1) = G_ICMP intpred(ult), %0(s16), %197    %3(s32) = G_ZEXT %2(s1)98    $eax = COPY %3(s32)99    RET 0, implicit $eax100 101...102---103name:            test_cmp_i32104alignment:       16105legalized:       false106regBankSelected: false107registers:108  - { id: 0, class: _ }109  - { id: 1, class: _ }110  - { id: 2, class: _ }111  - { id: 3, class: _ }112body:             |113  bb.1 (%ir-block.0):114    liveins: $edi, $esi115 116    ; CHECK-LABEL: name: test_cmp_i32117    ; CHECK: liveins: $edi, $esi118    ; CHECK-NEXT: {{  $}}119    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $edi120    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $esi121    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s8) = G_ICMP intpred(ult), [[COPY]](s32), [[COPY1]]122    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[ICMP]](s8)123    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1124    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[ANYEXT]], [[C]]125    ; CHECK-NEXT: $eax = COPY [[AND]](s32)126    ; CHECK-NEXT: RET 0, implicit $eax127    %0(s32) = COPY $edi128    %1(s32) = COPY $esi129    %2(s1) = G_ICMP intpred(ult), %0(s32), %1130    %3(s32) = G_ZEXT %2(s1)131    $eax = COPY %3(s32)132    RET 0, implicit $eax133 134...135---136name:            test_cmp_i64137alignment:       16138legalized:       false139regBankSelected: false140registers:141  - { id: 0, class: _ }142  - { id: 1, class: _ }143  - { id: 2, class: _ }144  - { id: 3, class: _ }145body:             |146  bb.1 (%ir-block.0):147    liveins: $rdi, $rsi148 149    ; CHECK-LABEL: name: test_cmp_i64150    ; CHECK: liveins: $rdi, $rsi151    ; CHECK-NEXT: {{  $}}152    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $rdi153    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $rsi154    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s8) = G_ICMP intpred(ult), [[COPY]](s64), [[COPY1]]155    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[ICMP]](s8)156    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1157    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[ANYEXT]], [[C]]158    ; CHECK-NEXT: $eax = COPY [[AND]](s32)159    ; CHECK-NEXT: RET 0, implicit $eax160    %0(s64) = COPY $rdi161    %1(s64) = COPY $rsi162    %2(s1) = G_ICMP intpred(ult), %0(s64), %1163    %3(s32) = G_ZEXT %2(s1)164    $eax = COPY %3(s32)165    RET 0, implicit $eax166 167...168---169name:            test_cmp_p0170alignment:       16171legalized:       false172regBankSelected: false173registers:174  - { id: 0, class: _ }175  - { id: 1, class: _ }176  - { id: 2, class: _ }177  - { id: 3, class: _ }178body:             |179  bb.1 (%ir-block.0):180    liveins: $rdi, $rsi181 182    ; CHECK-LABEL: name: test_cmp_p0183    ; CHECK: liveins: $rdi, $rsi184    ; CHECK-NEXT: {{  $}}185    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $rdi186    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $rsi187    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s8) = G_ICMP intpred(ult), [[COPY]](p0), [[COPY1]]188    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[ICMP]](s8)189    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1190    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[ANYEXT]], [[C]]191    ; CHECK-NEXT: $eax = COPY [[AND]](s32)192    ; CHECK-NEXT: RET 0, implicit $eax193    %0(p0) = COPY $rdi194    %1(p0) = COPY $rsi195    %2(s1) = G_ICMP intpred(ult), %0(p0), %1196    %3(s32) = G_ZEXT %2(s1)197    $eax = COPY %3(s32)198    RET 0, implicit $eax199 200...201