272 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS323# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=legalizer -mcpu=mips32r6 -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS32R64--- |5 6 @float_align1 = common global float 0.000000e+00, align 17 @float_align2 = common global float 0.000000e+00, align 28 @float_align4 = common global float 0.000000e+00, align 49 @float_align8 = common global float 0.000000e+00, align 810 @i32_align1 = common global i32 0, align 111 @i32_align2 = common global i32 0, align 212 @i32_align4 = common global i32 0, align 413 @i32_align8 = common global i32 0, align 814 15 define void @store_float_align1(float %a) {16 entry:17 store float %a, ptr @float_align1, align 118 ret void19 }20 21 define void @store_float_align2(float %a) {22 entry:23 store float %a, ptr @float_align2, align 224 ret void25 }26 27 define void @store_float_align4(float %a) {28 entry:29 store float %a, ptr @float_align4, align 430 ret void31 }32 33 define void @store_float_align8(float %a) {34 entry:35 store float %a, ptr @float_align8, align 836 ret void37 }38 39 define void @store_i32_align1(i32 signext %a) {40 entry:41 store i32 %a, ptr @i32_align1, align 142 ret void43 }44 45 define void @store_i32_align2(i32 signext %a) {46 entry:47 store i32 %a, ptr @i32_align2, align 248 ret void49 }50 51 define void @store_i32_align4(i32 signext %a) {52 entry:53 store i32 %a, ptr @i32_align4, align 454 ret void55 }56 57 define void @store_i32_align8(i32 signext %a) {58 entry:59 store i32 %a, ptr @i32_align8, align 860 ret void61 }62 63...64---65name: store_float_align166alignment: 467tracksRegLiveness: true68body: |69 bb.1.entry:70 liveins: $f1271 72 ; MIPS32-LABEL: name: store_float_align173 ; MIPS32: liveins: $f1274 ; MIPS32: [[COPY:%[0-9]+]]:_(s32) = COPY $f1275 ; MIPS32: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @float_align176 ; MIPS32: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @float_align1, align 1)77 ; MIPS32: RetRA78 ; MIPS32R6-LABEL: name: store_float_align179 ; MIPS32R6: liveins: $f1280 ; MIPS32R6: [[COPY:%[0-9]+]]:_(s32) = COPY $f1281 ; MIPS32R6: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @float_align182 ; MIPS32R6: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @float_align1, align 1)83 ; MIPS32R6: RetRA84 %0:_(s32) = COPY $f1285 %1:_(p0) = G_GLOBAL_VALUE @float_align186 G_STORE %0(s32), %1(p0) :: (store (s32) into @float_align1, align 1)87 RetRA88 89...90---91name: store_float_align292alignment: 493tracksRegLiveness: true94body: |95 bb.1.entry:96 liveins: $f1297 98 ; MIPS32-LABEL: name: store_float_align299 ; MIPS32: liveins: $f12100 ; MIPS32: [[COPY:%[0-9]+]]:_(s32) = COPY $f12101 ; MIPS32: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @float_align2102 ; MIPS32: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @float_align2, align 2)103 ; MIPS32: RetRA104 ; MIPS32R6-LABEL: name: store_float_align2105 ; MIPS32R6: liveins: $f12106 ; MIPS32R6: [[COPY:%[0-9]+]]:_(s32) = COPY $f12107 ; MIPS32R6: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @float_align2108 ; MIPS32R6: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @float_align2, align 2)109 ; MIPS32R6: RetRA110 %0:_(s32) = COPY $f12111 %1:_(p0) = G_GLOBAL_VALUE @float_align2112 G_STORE %0(s32), %1(p0) :: (store (s32) into @float_align2, align 2)113 RetRA114 115...116---117name: store_float_align4118alignment: 4119tracksRegLiveness: true120body: |121 bb.1.entry:122 liveins: $f12123 124 ; MIPS32-LABEL: name: store_float_align4125 ; MIPS32: liveins: $f12126 ; MIPS32: [[COPY:%[0-9]+]]:_(s32) = COPY $f12127 ; MIPS32: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @float_align4128 ; MIPS32: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @float_align4)129 ; MIPS32: RetRA130 ; MIPS32R6-LABEL: name: store_float_align4131 ; MIPS32R6: liveins: $f12132 ; MIPS32R6: [[COPY:%[0-9]+]]:_(s32) = COPY $f12133 ; MIPS32R6: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @float_align4134 ; MIPS32R6: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @float_align4)135 ; MIPS32R6: RetRA136 %0:_(s32) = COPY $f12137 %1:_(p0) = G_GLOBAL_VALUE @float_align4138 G_STORE %0(s32), %1(p0) :: (store (s32) into @float_align4)139 RetRA140 141...142---143name: store_float_align8144alignment: 4145tracksRegLiveness: true146body: |147 bb.1.entry:148 liveins: $f12149 150 ; MIPS32-LABEL: name: store_float_align8151 ; MIPS32: liveins: $f12152 ; MIPS32: [[COPY:%[0-9]+]]:_(s32) = COPY $f12153 ; MIPS32: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @float_align8154 ; MIPS32: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @float_align8, align 8)155 ; MIPS32: RetRA156 ; MIPS32R6-LABEL: name: store_float_align8157 ; MIPS32R6: liveins: $f12158 ; MIPS32R6: [[COPY:%[0-9]+]]:_(s32) = COPY $f12159 ; MIPS32R6: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @float_align8160 ; MIPS32R6: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @float_align8, align 8)161 ; MIPS32R6: RetRA162 %0:_(s32) = COPY $f12163 %1:_(p0) = G_GLOBAL_VALUE @float_align8164 G_STORE %0(s32), %1(p0) :: (store (s32) into @float_align8, align 8)165 RetRA166 167...168---169name: store_i32_align1170alignment: 4171tracksRegLiveness: true172body: |173 bb.1.entry:174 liveins: $a0175 176 ; MIPS32-LABEL: name: store_i32_align1177 ; MIPS32: liveins: $a0178 ; MIPS32: [[COPY:%[0-9]+]]:_(s32) = COPY $a0179 ; MIPS32: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @i32_align1180 ; MIPS32: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @i32_align1, align 1)181 ; MIPS32: RetRA182 ; MIPS32R6-LABEL: name: store_i32_align1183 ; MIPS32R6: liveins: $a0184 ; MIPS32R6: [[COPY:%[0-9]+]]:_(s32) = COPY $a0185 ; MIPS32R6: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @i32_align1186 ; MIPS32R6: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @i32_align1, align 1)187 ; MIPS32R6: RetRA188 %0:_(s32) = COPY $a0189 %1:_(p0) = G_GLOBAL_VALUE @i32_align1190 G_STORE %0(s32), %1(p0) :: (store (s32) into @i32_align1, align 1)191 RetRA192 193...194---195name: store_i32_align2196alignment: 4197tracksRegLiveness: true198body: |199 bb.1.entry:200 liveins: $a0201 202 ; MIPS32-LABEL: name: store_i32_align2203 ; MIPS32: liveins: $a0204 ; MIPS32: [[COPY:%[0-9]+]]:_(s32) = COPY $a0205 ; MIPS32: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @i32_align2206 ; MIPS32: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @i32_align2, align 2)207 ; MIPS32: RetRA208 ; MIPS32R6-LABEL: name: store_i32_align2209 ; MIPS32R6: liveins: $a0210 ; MIPS32R6: [[COPY:%[0-9]+]]:_(s32) = COPY $a0211 ; MIPS32R6: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @i32_align2212 ; MIPS32R6: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @i32_align2, align 2)213 ; MIPS32R6: RetRA214 %0:_(s32) = COPY $a0215 %1:_(p0) = G_GLOBAL_VALUE @i32_align2216 G_STORE %0(s32), %1(p0) :: (store (s32) into @i32_align2, align 2)217 RetRA218 219...220---221name: store_i32_align4222alignment: 4223tracksRegLiveness: true224body: |225 bb.1.entry:226 liveins: $a0227 228 ; MIPS32-LABEL: name: store_i32_align4229 ; MIPS32: liveins: $a0230 ; MIPS32: [[COPY:%[0-9]+]]:_(s32) = COPY $a0231 ; MIPS32: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @i32_align4232 ; MIPS32: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @i32_align4)233 ; MIPS32: RetRA234 ; MIPS32R6-LABEL: name: store_i32_align4235 ; MIPS32R6: liveins: $a0236 ; MIPS32R6: [[COPY:%[0-9]+]]:_(s32) = COPY $a0237 ; MIPS32R6: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @i32_align4238 ; MIPS32R6: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @i32_align4)239 ; MIPS32R6: RetRA240 %0:_(s32) = COPY $a0241 %1:_(p0) = G_GLOBAL_VALUE @i32_align4242 G_STORE %0(s32), %1(p0) :: (store (s32) into @i32_align4)243 RetRA244 245...246---247name: store_i32_align8248alignment: 4249tracksRegLiveness: true250body: |251 bb.1.entry:252 liveins: $a0253 254 ; MIPS32-LABEL: name: store_i32_align8255 ; MIPS32: liveins: $a0256 ; MIPS32: [[COPY:%[0-9]+]]:_(s32) = COPY $a0257 ; MIPS32: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @i32_align8258 ; MIPS32: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @i32_align8, align 8)259 ; MIPS32: RetRA260 ; MIPS32R6-LABEL: name: store_i32_align8261 ; MIPS32R6: liveins: $a0262 ; MIPS32R6: [[COPY:%[0-9]+]]:_(s32) = COPY $a0263 ; MIPS32R6: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @i32_align8264 ; MIPS32R6: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @i32_align8, align 8)265 ; MIPS32R6: RetRA266 %0:_(s32) = COPY $a0267 %1:_(p0) = G_GLOBAL_VALUE @i32_align8268 G_STORE %0(s32), %1(p0) :: (store (s32) into @i32_align8, align 8)269 RetRA270 271...272