155 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 -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 define i64 @ptrtoint_s64_p0(ptr %p) {31 entry:32 %0 = ptrtoint ptr %p to i6433 ret i64 %034 }35 36...37---38name: ptrtoint_s1_p039alignment: 1640tracksRegLiveness: true41registers:42 - { id: 0, class: _ }43 - { id: 1, class: _ }44 - { id: 2, class: _ }45body: |46 bb.1.entry:47 liveins: $rdi48 49 ; CHECK-LABEL: name: ptrtoint_s1_p050 ; CHECK: liveins: $rdi51 ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $rdi52 ; CHECK: [[PTRTOINT:%[0-9]+]]:_(s1) = G_PTRTOINT [[COPY]](p0)53 ; CHECK: [[ANYEXT:%[0-9]+]]:_(s8) = G_ANYEXT [[PTRTOINT]](s1)54 ; CHECK: $al = COPY [[ANYEXT]](s8)55 ; CHECK: RET 0, implicit $al56 %0:_(p0) = COPY $rdi57 %1:_(s1) = G_PTRTOINT %0(p0)58 %2:_(s8) = G_ANYEXT %1(s1)59 $al = COPY %2(s8)60 RET 0, implicit $al61 62...63---64name: ptrtoint_s8_p065alignment: 1666tracksRegLiveness: true67registers:68 - { id: 0, class: _ }69 - { id: 1, class: _ }70body: |71 bb.1.entry:72 liveins: $rdi73 74 ; CHECK-LABEL: name: ptrtoint_s8_p075 ; CHECK: liveins: $rdi76 ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $rdi77 ; CHECK: [[PTRTOINT:%[0-9]+]]:_(s8) = G_PTRTOINT [[COPY]](p0)78 ; CHECK: $al = COPY [[PTRTOINT]](s8)79 ; CHECK: RET 0, implicit $al80 %0:_(p0) = COPY $rdi81 %1:_(s8) = G_PTRTOINT %0(p0)82 $al = COPY %1(s8)83 RET 0, implicit $al84 85...86---87name: ptrtoint_s16_p088alignment: 1689tracksRegLiveness: true90registers:91 - { id: 0, class: _ }92 - { id: 1, class: _ }93body: |94 bb.1.entry:95 liveins: $rdi96 97 ; CHECK-LABEL: name: ptrtoint_s16_p098 ; CHECK: liveins: $rdi99 ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $rdi100 ; CHECK: [[PTRTOINT:%[0-9]+]]:_(s16) = G_PTRTOINT [[COPY]](p0)101 ; CHECK: $ax = COPY [[PTRTOINT]](s16)102 ; CHECK: RET 0, implicit $ax103 %0:_(p0) = COPY $rdi104 %1:_(s16) = G_PTRTOINT %0(p0)105 $ax = COPY %1(s16)106 RET 0, implicit $ax107 108...109---110name: ptrtoint_s32_p0111alignment: 16112tracksRegLiveness: true113registers:114 - { id: 0, class: _ }115 - { id: 1, class: _ }116body: |117 bb.1.entry:118 liveins: $rdi119 120 ; CHECK-LABEL: name: ptrtoint_s32_p0121 ; CHECK: liveins: $rdi122 ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $rdi123 ; CHECK: [[PTRTOINT:%[0-9]+]]:_(s32) = G_PTRTOINT [[COPY]](p0)124 ; CHECK: $eax = COPY [[PTRTOINT]](s32)125 ; CHECK: RET 0, implicit $eax126 %0:_(p0) = COPY $rdi127 %1:_(s32) = G_PTRTOINT %0(p0)128 $eax = COPY %1(s32)129 RET 0, implicit $eax130 131...132---133name: ptrtoint_s64_p0134alignment: 16135tracksRegLiveness: true136registers:137 - { id: 0, class: _ }138 - { id: 1, class: _ }139body: |140 bb.1.entry:141 liveins: $rdi142 143 ; CHECK-LABEL: name: ptrtoint_s64_p0144 ; CHECK: liveins: $rdi145 ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $rdi146 ; CHECK: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[COPY]](p0)147 ; CHECK: $rax = COPY [[PTRTOINT]](s64)148 ; CHECK: RET 0, implicit $rax149 %0:_(p0) = COPY $rdi150 %1:_(s64) = G_PTRTOINT %0(p0)151 $rax = COPY %1(s64)152 RET 0, implicit $rax153 154...155