brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.1 KiB · 768120b Raw
144 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=i386-linux-gnu -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s3 4--- |5 6  define i1 @ptrtoint_s1_p0(ptr %p) {7  entry:8    %0 = ptrtoint ptr %p to i19    ret i1 %010  }11 12  define i8 @ptrtoint_s8_p0(ptr %p) {13  entry:14    %0 = ptrtoint ptr %p to i815    ret i8 %016  }17 18  define i16 @ptrtoint_s16_p0(ptr %p) {19  entry:20    %0 = ptrtoint ptr %p to i1621    ret i16 %022  }23 24  define i32 @ptrtoint_s32_p0(ptr %p) {25  entry:26    %0 = ptrtoint ptr %p to i3227    ret i32 %028  }29 30...31---32name:            ptrtoint_s1_p033alignment:       1634legalized:       true35regBankSelected: true36tracksRegLiveness: true37registers:38  - { id: 0, class: gpr }39  - { id: 1, class: gpr }40  - { id: 2, class: gpr }41  - { id: 3, class: gpr }42frameInfo:43  maxAlignment:    444fixedStack:45  - { id: 0, size: 4, alignment: 16, stack-id: default, isImmutable: true }46body:             |47  bb.1.entry:48    ; CHECK-LABEL: name: ptrtoint_s1_p049    ; CHECK: [[MOV32rm:%[0-9]+]]:gr32_abcd = MOV32rm %fixed-stack.0, 1, $noreg, 0, $noreg :: (invariant load (p0) from %fixed-stack.0, align 16)50    ; CHECK: [[COPY:%[0-9]+]]:gr8 = COPY [[MOV32rm]].sub_8bit51    ; CHECK: $al = COPY [[COPY]]52    ; CHECK: RET 0, implicit $al53    %1:gpr(p0) = G_FRAME_INDEX %fixed-stack.054    %0:gpr(p0) = G_LOAD %1(p0) :: (invariant load (p0) from %fixed-stack.0, align 16)55    %2:gpr(s1) = G_PTRTOINT %0(p0)56    %3:gpr(s8) = G_ANYEXT %2(s1)57    $al = COPY %3(s8)58    RET 0, implicit $al59 60...61---62name:            ptrtoint_s8_p063alignment:       1664legalized:       true65regBankSelected: true66tracksRegLiveness: true67registers:68  - { id: 0, class: gpr }69  - { id: 1, class: gpr }70  - { id: 2, class: gpr }71frameInfo:72  maxAlignment:    473fixedStack:74  - { id: 0, size: 4, alignment: 16, stack-id: default, isImmutable: true }75body:             |76  bb.1.entry:77    ; CHECK-LABEL: name: ptrtoint_s8_p078    ; CHECK: [[MOV32rm:%[0-9]+]]:gr32_abcd = MOV32rm %fixed-stack.0, 1, $noreg, 0, $noreg :: (invariant load (p0) from %fixed-stack.0, align 16)79    ; CHECK: [[COPY:%[0-9]+]]:gr8 = COPY [[MOV32rm]].sub_8bit80    ; CHECK: $al = COPY [[COPY]]81    ; CHECK: RET 0, implicit $al82    %1:gpr(p0) = G_FRAME_INDEX %fixed-stack.083    %0:gpr(p0) = G_LOAD %1(p0) :: (invariant load (p0) from %fixed-stack.0, align 16)84    %2:gpr(s8) = G_PTRTOINT %0(p0)85    $al = COPY %2(s8)86    RET 0, implicit $al87 88...89---90name:            ptrtoint_s16_p091alignment:       1692legalized:       true93regBankSelected: true94tracksRegLiveness: true95registers:96  - { id: 0, class: gpr }97  - { id: 1, class: gpr }98  - { id: 2, class: gpr }99frameInfo:100  maxAlignment:    4101fixedStack:102  - { id: 0, size: 4, alignment: 16, stack-id: default, isImmutable: true }103body:             |104  bb.1.entry:105    ; CHECK-LABEL: name: ptrtoint_s16_p0106    ; CHECK: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm %fixed-stack.0, 1, $noreg, 0, $noreg :: (invariant load (p0) from %fixed-stack.0, align 16)107    ; CHECK: [[COPY:%[0-9]+]]:gr16 = COPY [[MOV32rm]].sub_16bit108    ; CHECK: $ax = COPY [[COPY]]109    ; CHECK: RET 0, implicit $ax110    %1:gpr(p0) = G_FRAME_INDEX %fixed-stack.0111    %0:gpr(p0) = G_LOAD %1(p0) :: (invariant load (p0) from %fixed-stack.0, align 16)112    %2:gpr(s16) = G_PTRTOINT %0(p0)113    $ax = COPY %2(s16)114    RET 0, implicit $ax115 116...117---118name:            ptrtoint_s32_p0119alignment:       16120legalized:       true121regBankSelected: true122tracksRegLiveness: true123registers:124  - { id: 0, class: gpr }125  - { id: 1, class: gpr }126  - { id: 2, class: gpr }127frameInfo:128  maxAlignment:    4129fixedStack:130  - { id: 0, size: 4, alignment: 16, stack-id: default, isImmutable: true }131body:             |132  bb.1.entry:133    ; CHECK-LABEL: name: ptrtoint_s32_p0134    ; CHECK: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm %fixed-stack.0, 1, $noreg, 0, $noreg :: (invariant load (p0) from %fixed-stack.0, align 16)135    ; CHECK: $eax = COPY [[MOV32rm]]136    ; CHECK: RET 0, implicit $eax137    %1:gpr(p0) = G_FRAME_INDEX %fixed-stack.0138    %0:gpr(p0) = G_LOAD %1(p0) :: (invariant load (p0) from %fixed-stack.0, align 16)139    %2:gpr(s32) = G_PTRTOINT %0(p0)140    $eax = COPY %2(s32)141    RET 0, implicit $eax142 143...144