155 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s3 4...5---6name: p0_s647body: |8 bb.0:9 liveins: $x010 ; CHECK-LABEL: name: p0_s6411 ; CHECK: liveins: $x012 ; CHECK-NEXT: {{ $}}13 ; CHECK-NEXT: %ptr:_(p0) = COPY $x014 ; CHECK-NEXT: %int:_(s64) = G_PTRTOINT %ptr(p0)15 ; CHECK-NEXT: $x0 = COPY %int(s64)16 ; CHECK-NEXT: RET_ReallyLR implicit $x017 %ptr:_(p0) = COPY $x018 %int:_(s64) = G_PTRTOINT %ptr19 $x0 = COPY %int20 RET_ReallyLR implicit $x021...22---23name: p0_s3224body: |25 bb.0:26 liveins: $x027 ; CHECK-LABEL: name: p0_s3228 ; CHECK: liveins: $x029 ; CHECK-NEXT: {{ $}}30 ; CHECK-NEXT: %ptr:_(p0) = COPY $x031 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT %ptr(p0)32 ; CHECK-NEXT: %int:_(s32) = G_TRUNC [[PTRTOINT]](s64)33 ; CHECK-NEXT: $w0 = COPY %int(s32)34 ; CHECK-NEXT: RET_ReallyLR implicit $w035 %ptr:_(p0) = COPY $x036 %int:_(s32) = G_PTRTOINT %ptr37 $w0 = COPY %int38 RET_ReallyLR implicit $w039...40---41name: p0_s1642body: |43 bb.0:44 liveins: $x0, $h045 ; CHECK-LABEL: name: p0_s1646 ; CHECK: liveins: $x0, $h047 ; CHECK-NEXT: {{ $}}48 ; CHECK-NEXT: %ptr:_(p0) = COPY $x049 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT %ptr(p0)50 ; CHECK-NEXT: %int:_(s16) = G_TRUNC [[PTRTOINT]](s64)51 ; CHECK-NEXT: $h0 = COPY %int(s16)52 ; CHECK-NEXT: RET_ReallyLR implicit $h053 %ptr:_(p0) = COPY $x054 %int:_(s16) = G_PTRTOINT %ptr55 $h0 = COPY %int56 RET_ReallyLR implicit $h057...58---59name: p0_s860body: |61 bb.0:62 liveins: $x0, $b063 ; CHECK-LABEL: name: p0_s864 ; CHECK: liveins: $x0, $b065 ; CHECK-NEXT: {{ $}}66 ; CHECK-NEXT: %ptr:_(p0) = COPY $x067 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT %ptr(p0)68 ; CHECK-NEXT: %int:_(s8) = G_TRUNC [[PTRTOINT]](s64)69 ; CHECK-NEXT: $b0 = COPY %int(s8)70 ; CHECK-NEXT: RET_ReallyLR implicit $b071 %ptr:_(p0) = COPY $x072 %int:_(s8) = G_PTRTOINT %ptr73 $b0 = COPY %int74 RET_ReallyLR implicit $b075...76---77name: p0_s178body: |79 bb.0:80 liveins: $x081 ; CHECK-LABEL: name: p0_s182 ; CHECK: liveins: $x083 ; CHECK-NEXT: {{ $}}84 ; CHECK-NEXT: %ptr:_(p0) = COPY $x085 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT %ptr(p0)86 ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[PTRTOINT]](s64)87 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 188 ; CHECK-NEXT: %ext:_(s32) = G_AND [[TRUNC]], [[C]]89 ; CHECK-NEXT: $w0 = COPY %ext(s32)90 ; CHECK-NEXT: RET_ReallyLR implicit $w091 %ptr:_(p0) = COPY $x092 %int:_(s1) = G_PTRTOINT %ptr93 %ext:_(s32) = G_ZEXT %int94 $w0 = COPY %ext95 RET_ReallyLR implicit $w096...97---98name: p0_s12899body: |100 bb.0:101 liveins: $x0, $q0102 ; CHECK-LABEL: name: p0_s128103 ; CHECK: liveins: $x0, $q0104 ; CHECK-NEXT: {{ $}}105 ; CHECK-NEXT: %ptr:_(p0) = COPY $x0106 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT %ptr(p0)107 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0108 ; CHECK-NEXT: %int:_(s128) = G_MERGE_VALUES [[PTRTOINT]](s64), [[C]](s64)109 ; CHECK-NEXT: $q0 = COPY %int(s128)110 ; CHECK-NEXT: RET_ReallyLR implicit $q0111 %ptr:_(p0) = COPY $x0112 %int:_(s128) = G_PTRTOINT %ptr113 $q0 = COPY %int114 RET_ReallyLR implicit $q0115...116---117name: p0_s88118body: |119 bb.0:120 liveins: $x0121 ; CHECK-LABEL: name: p0_s88122 ; CHECK: liveins: $x0123 ; CHECK-NEXT: {{ $}}124 ; CHECK-NEXT: %ptr:_(p0) = COPY $x0125 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT %ptr(p0)126 ; CHECK-NEXT: %trunc:_(s32) = G_TRUNC [[PTRTOINT]](s64)127 ; CHECK-NEXT: $w0 = COPY %trunc(s32)128 ; CHECK-NEXT: RET_ReallyLR implicit $w0129 %ptr:_(p0) = COPY $x0130 %int:_(s88) = G_PTRTOINT %ptr131 %trunc:_(s32) = G_TRUNC %int132 $w0 = COPY %trunc133 RET_ReallyLR implicit $w0134 135...136---137name: v2s64_v2p0_legal138tracksRegLiveness: true139body: |140 bb.0:141 liveins: $q0142 143 ; CHECK-LABEL: name: v2s64_v2p0_legal144 ; CHECK: liveins: $q0145 ; CHECK-NEXT: {{ $}}146 ; CHECK-NEXT: %ptr:_(<2 x p0>) = COPY $q0147 ; CHECK-NEXT: %int:_(<2 x s64>) = G_PTRTOINT %ptr(<2 x p0>)148 ; CHECK-NEXT: $q0 = COPY %int(<2 x s64>)149 ; CHECK-NEXT: RET_ReallyLR implicit $q0150 %ptr:_(<2 x p0>) = COPY $q0151 %int:_(<2 x s64>) = G_PTRTOINT %ptr(<2 x p0>)152 $q0 = COPY %int(<2 x s64>)153 RET_ReallyLR implicit $q0154...155