170 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -run-pass=legalizer %s -o - -verify-machineinstrs | FileCheck %s3...4---5name: test_extload6body: |7 bb.0.entry:8 liveins: $x09 ; CHECK-LABEL: name: test_extload10 ; CHECK: liveins: $x011 ; CHECK-NEXT: {{ $}}12 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x013 ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p0) :: (load (s8))14 ; CHECK-NEXT: $w0 = COPY [[LOAD]](s32)15 %0:_(p0) = COPY $x016 %1:_(s32) = G_LOAD %0 :: (load (s8))17 $w0 = COPY %118...19---20name: sext_i32_i6421body: |22 bb.1:23 liveins: $x024 25 ; CHECK-LABEL: name: sext_i32_i6426 ; CHECK: liveins: $x027 ; CHECK-NEXT: {{ $}}28 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x029 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s32))30 ; CHECK-NEXT: $x0 = COPY [[SEXTLOAD]](s64)31 ; CHECK-NEXT: RET_ReallyLR implicit $x032 %0:_(p0) = COPY $x033 %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s32))34 $x0 = COPY %2(s64)35 RET_ReallyLR implicit $x036 37...38---39name: sext_i16_i6440body: |41 bb.1:42 liveins: $x043 44 ; CHECK-LABEL: name: sext_i16_i6445 ; CHECK: liveins: $x046 ; CHECK-NEXT: {{ $}}47 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x048 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s16))49 ; CHECK-NEXT: $x0 = COPY [[SEXTLOAD]](s64)50 ; CHECK-NEXT: RET_ReallyLR implicit $x051 %0:_(p0) = COPY $x052 %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s16))53 $x0 = COPY %2(s64)54 RET_ReallyLR implicit $x055 56...57---58name: sext_i8_i6459body: |60 bb.1:61 liveins: $x062 63 ; CHECK-LABEL: name: sext_i8_i6464 ; CHECK: liveins: $x065 ; CHECK-NEXT: {{ $}}66 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x067 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s8))68 ; CHECK-NEXT: $x0 = COPY [[SEXTLOAD]](s64)69 ; CHECK-NEXT: RET_ReallyLR implicit $x070 %0:_(p0) = COPY $x071 %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s8))72 $x0 = COPY %2(s64)73 RET_ReallyLR implicit $x074 75...76---77name: zext_i32_i6478body: |79 bb.1:80 liveins: $x081 82 ; CHECK-LABEL: name: zext_i32_i6483 ; CHECK: liveins: $x084 ; CHECK-NEXT: {{ $}}85 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x086 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s32))87 ; CHECK-NEXT: $x0 = COPY [[ZEXTLOAD]](s64)88 ; CHECK-NEXT: RET_ReallyLR implicit $x089 %0:_(p0) = COPY $x090 %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s32))91 $x0 = COPY %2(s64)92 RET_ReallyLR implicit $x093 94...95---96name: zext_i16_i6497body: |98 bb.1:99 liveins: $x0100 101 ; CHECK-LABEL: name: zext_i16_i64102 ; CHECK: liveins: $x0103 ; CHECK-NEXT: {{ $}}104 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0105 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s16))106 ; CHECK-NEXT: $x0 = COPY [[ZEXTLOAD]](s64)107 ; CHECK-NEXT: RET_ReallyLR implicit $x0108 %0:_(p0) = COPY $x0109 %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s16))110 $x0 = COPY %2(s64)111 RET_ReallyLR implicit $x0112 113...114---115name: zext_i8_i64116body: |117 bb.1:118 liveins: $x0119 120 ; CHECK-LABEL: name: zext_i8_i64121 ; CHECK: liveins: $x0122 ; CHECK-NEXT: {{ $}}123 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0124 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s8))125 ; CHECK-NEXT: $x0 = COPY [[ZEXTLOAD]](s64)126 ; CHECK-NEXT: RET_ReallyLR implicit $x0127 %0:_(p0) = COPY $x0128 %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s8))129 $x0 = COPY %2(s64)130 RET_ReallyLR implicit $x0131 132...133---134name: zext_i8_i88135body: |136 bb.1:137 liveins: $x0138 ; CHECK-LABEL: name: zext_i8_i88139 ; CHECK: liveins: $x0140 ; CHECK-NEXT: {{ $}}141 ; CHECK-NEXT: %ptr:_(p0) = COPY $x0142 ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD %ptr(p0) :: (load (s8))143 ; CHECK-NEXT: $x0 = COPY [[ZEXTLOAD]](s64)144 ; CHECK-NEXT: RET_ReallyLR implicit $x0145 %ptr:_(p0) = COPY $x0146 %load:_(s88) = G_ZEXTLOAD %ptr(p0) :: (load (s8))147 %trunc:_(s64) = G_TRUNC %load148 $x0 = COPY %trunc(s64)149 RET_ReallyLR implicit $x0150...151...152---153name: sext_i8_i88154body: |155 bb.1:156 liveins: $x0157 ; CHECK-LABEL: name: sext_i8_i88158 ; CHECK: liveins: $x0159 ; CHECK-NEXT: {{ $}}160 ; CHECK-NEXT: %ptr:_(p0) = COPY $x0161 ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD %ptr(p0) :: (load (s8))162 ; CHECK-NEXT: $x0 = COPY [[SEXTLOAD]](s64)163 ; CHECK-NEXT: RET_ReallyLR implicit $x0164 %ptr:_(p0) = COPY $x0165 %load:_(s88) = G_SEXTLOAD %ptr(p0) :: (load (s8))166 %trunc:_(s64) = G_TRUNC %load167 $x0 = COPY %trunc(s64)168 RET_ReallyLR implicit $x0169...170