192 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -run-pass=legalizer -global-isel-abort=1 %s -o - | FileCheck %s3 4---5name: post_store_s646body: |7 bb.0:8 liveins: $x0, $x19 10 ; CHECK-LABEL: name: post_store_s6411 ; CHECK: liveins: $x0, $x112 ; CHECK-NEXT: {{ $}}13 ; CHECK-NEXT: %ptr:_(p0) = COPY $x014 ; CHECK-NEXT: %val:_(s64) = COPY $x115 ; CHECK-NEXT: %offset:_(s64) = G_CONSTANT i64 816 ; CHECK-NEXT: %writeback:_(p0) = G_INDEXED_STORE %val(s64), %ptr, %offset(s64), 0 :: (store (s64))17 ; CHECK-NEXT: $x0 = COPY %writeback(p0)18 ; CHECK-NEXT: RET_ReallyLR implicit $x019 %ptr:_(p0) = COPY $x020 %val:_(s64) = COPY $x121 %offset:_(s64) = G_CONSTANT i64 822 %writeback:_(p0) = G_INDEXED_STORE %val, %ptr, %offset, 0 :: (store (s64), align 8)23 $x0 = COPY %writeback24 RET_ReallyLR implicit $x025...26---27name: post_store_v2s6428body: |29 bb.0:30 liveins: $x0, $q031 32 ; CHECK-LABEL: name: post_store_v2s6433 ; CHECK: liveins: $x0, $q034 ; CHECK-NEXT: {{ $}}35 ; CHECK-NEXT: %ptr:_(p0) = COPY $x036 ; CHECK-NEXT: %val:_(<2 x s64>) = COPY $q037 ; CHECK-NEXT: %offset:_(s64) = G_CONSTANT i64 838 ; CHECK-NEXT: %writeback:_(p0) = G_INDEXED_STORE %val(<2 x s64>), %ptr, %offset(s64), 0 :: (store (<2 x s64>), align 8)39 ; CHECK-NEXT: $x0 = COPY %writeback(p0)40 ; CHECK-NEXT: RET_ReallyLR implicit $x041 %ptr:_(p0) = COPY $x042 %val:_(<2 x s64>) = COPY $q043 %offset:_(s64) = G_CONSTANT i64 844 %writeback:_(p0) = G_INDEXED_STORE %val, %ptr, %offset, 0 :: (store (<2 x s64>), align 8)45 $x0 = COPY %writeback46 RET_ReallyLR implicit $x047...48---49name: post_load_s6450body: |51 bb.0:52 liveins: $x053 54 ; CHECK-LABEL: name: post_load_s6455 ; CHECK: liveins: $x056 ; CHECK-NEXT: {{ $}}57 ; CHECK-NEXT: %ptr:_(p0) = COPY $x058 ; CHECK-NEXT: %offset:_(s64) = G_CONSTANT i64 859 ; CHECK-NEXT: %dst:_(s64), %writeback:_(p0) = G_INDEXED_LOAD %ptr, %offset(s64), 0 :: (load (s64))60 ; CHECK-NEXT: $x0 = COPY %writeback(p0)61 ; CHECK-NEXT: RET_ReallyLR implicit $x062 %ptr:_(p0) = COPY $x063 %offset:_(s64) = G_CONSTANT i64 864 %dst:_(s64), %writeback:_(p0) = G_INDEXED_LOAD %ptr, %offset, 0 :: (load (s64), align 8)65 $x0 = COPY %writeback66 RET_ReallyLR implicit $x067...68---69name: post_load_v2s6470body: |71 bb.0:72 liveins: $x073 74 ; CHECK-LABEL: name: post_load_v2s6475 ; CHECK: liveins: $x076 ; CHECK-NEXT: {{ $}}77 ; CHECK-NEXT: %ptr:_(p0) = COPY $x078 ; CHECK-NEXT: %offset:_(s64) = G_CONSTANT i64 879 ; CHECK-NEXT: %dst:_(<2 x s64>), %writeback:_(p0) = G_INDEXED_LOAD %ptr, %offset(s64), 0 :: (load (s64))80 ; CHECK-NEXT: $x0 = COPY %writeback(p0)81 ; CHECK-NEXT: $q0 = COPY %dst(<2 x s64>)82 ; CHECK-NEXT: RET_ReallyLR implicit $x0, implicit $q083 %ptr:_(p0) = COPY $x084 %offset:_(s64) = G_CONSTANT i64 885 %dst:_(<2 x s64>), %writeback:_(p0) = G_INDEXED_LOAD %ptr, %offset, 0 :: (load (s64), align 8)86 $x0 = COPY %writeback87 $q0 = COPY %dst88 RET_ReallyLR implicit $x0, implicit $q089...90---91name: pre_store_s6492body: |93 bb.0:94 liveins: $x0, $x195 96 ; CHECK-LABEL: name: pre_store_s6497 ; CHECK: liveins: $x0, $x198 ; CHECK-NEXT: {{ $}}99 ; CHECK-NEXT: %ptr:_(p0) = COPY $x0100 ; CHECK-NEXT: %val:_(s64) = COPY $x1101 ; CHECK-NEXT: %offset:_(s64) = G_CONSTANT i64 8102 ; CHECK-NEXT: %writeback:_(p0) = G_INDEXED_STORE %val(s64), %ptr, %offset(s64), 1 :: (store (s64))103 ; CHECK-NEXT: $x0 = COPY %writeback(p0)104 ; CHECK-NEXT: RET_ReallyLR implicit $x0105 %ptr:_(p0) = COPY $x0106 %val:_(s64) = COPY $x1107 %offset:_(s64) = G_CONSTANT i64 8108 %writeback:_(p0) = G_INDEXED_STORE %val, %ptr, %offset, 1 :: (store (s64), align 8)109 $x0 = COPY %writeback110 RET_ReallyLR implicit $x0111...112---113name: post_zextload_s8_to_s64114body: |115 bb.0:116 liveins: $x0117 118 ; CHECK-LABEL: name: post_zextload_s8_to_s64119 ; CHECK: liveins: $x0120 ; CHECK-NEXT: {{ $}}121 ; CHECK-NEXT: %ptr:_(p0) = COPY $x0122 ; CHECK-NEXT: %offset:_(s64) = G_CONSTANT i64 8123 ; CHECK-NEXT: %dst:_(s64), %writeback:_(p0) = G_INDEXED_ZEXTLOAD %ptr, %offset(s64), 0 :: (load (s8), align 8)124 ; CHECK-NEXT: $x0 = COPY %writeback(p0)125 ; CHECK-NEXT: RET_ReallyLR implicit $x0126 %ptr:_(p0) = COPY $x0127 %offset:_(s64) = G_CONSTANT i64 8128 %dst:_(s64), %writeback:_(p0) = G_INDEXED_ZEXTLOAD %ptr, %offset, 0 :: (load (s8), align 8)129 $x0 = COPY %writeback130 RET_ReallyLR implicit $x0131...132---133name: post_sextload_s8_to_s64134body: |135 bb.0:136 liveins: $x0137 138 ; CHECK-LABEL: name: post_sextload_s8_to_s64139 ; CHECK: liveins: $x0140 ; CHECK-NEXT: {{ $}}141 ; CHECK-NEXT: %ptr:_(p0) = COPY $x0142 ; CHECK-NEXT: %offset:_(s64) = G_CONSTANT i64 8143 ; CHECK-NEXT: %dst:_(s64), %writeback:_(p0) = G_INDEXED_SEXTLOAD %ptr, %offset(s64), 0 :: (load (s8), align 8)144 ; CHECK-NEXT: $x0 = COPY %writeback(p0)145 ; CHECK-NEXT: RET_ReallyLR implicit $x0146 %ptr:_(p0) = COPY $x0147 %offset:_(s64) = G_CONSTANT i64 8148 %dst:_(s64), %writeback:_(p0) = G_INDEXED_SEXTLOAD %ptr, %offset, 0 :: (load (s8), align 8)149 $x0 = COPY %writeback150 RET_ReallyLR implicit $x0151...152---153name: post_sextload_s32_to_s64154body: |155 bb.0:156 liveins: $x0157 158 ; CHECK-LABEL: name: post_sextload_s32_to_s64159 ; CHECK: liveins: $x0160 ; CHECK-NEXT: {{ $}}161 ; CHECK-NEXT: %ptr:_(p0) = COPY $x0162 ; CHECK-NEXT: %offset:_(s64) = G_CONSTANT i64 8163 ; CHECK-NEXT: %dst:_(s64), %writeback:_(p0) = G_INDEXED_SEXTLOAD %ptr, %offset(s64), 0 :: (load (s32), align 8)164 ; CHECK-NEXT: $x0 = COPY %writeback(p0)165 ; CHECK-NEXT: RET_ReallyLR implicit $x0166 %ptr:_(p0) = COPY $x0167 %offset:_(s64) = G_CONSTANT i64 8168 %dst:_(s64), %writeback:_(p0) = G_INDEXED_SEXTLOAD %ptr, %offset, 0 :: (load (s32), align 8)169 $x0 = COPY %writeback170 RET_ReallyLR implicit $x0171...172---173name: post_zextload_s32_to_s64174body: |175 bb.0:176 liveins: $x0177 178 ; CHECK-LABEL: name: post_zextload_s32_to_s64179 ; CHECK: liveins: $x0180 ; CHECK-NEXT: {{ $}}181 ; CHECK-NEXT: %ptr:_(p0) = COPY $x0182 ; CHECK-NEXT: %offset:_(s64) = G_CONSTANT i64 8183 ; CHECK-NEXT: %dst:_(s64), %writeback:_(p0) = G_INDEXED_ZEXTLOAD %ptr, %offset(s64), 0 :: (load (s32), align 8)184 ; CHECK-NEXT: $x0 = COPY %writeback(p0)185 ; CHECK-NEXT: RET_ReallyLR implicit $x0186 %ptr:_(p0) = COPY $x0187 %offset:_(s64) = G_CONSTANT i64 8188 %dst:_(s64), %writeback:_(p0) = G_INDEXED_ZEXTLOAD %ptr, %offset, 0 :: (load (s32), align 8)189 $x0 = COPY %writeback190 RET_ReallyLR implicit $x0191...192