249 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=FP323# RUN: llc -O0 -mtriple=mipsel-linux-gnu -mattr=+fp64,+mips32r2 -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=FP644 5--- |6 7 define void @float_add() {entry: ret void}8 define void @float_sub() {entry: ret void}9 define void @float_mul() {entry: ret void}10 define void @float_div() {entry: ret void}11 define void @double_add() {entry: ret void}12 define void @double_sub() {entry: ret void}13 define void @double_mul() {entry: ret void}14 define void @double_div() {entry: ret void}15 16...17---18name: float_add19alignment: 420tracksRegLiveness: true21body: |22 bb.1.entry:23 liveins: $f12, $f1424 25 ; FP32-LABEL: name: float_add26 ; FP32: liveins: $f12, $f1427 ; FP32: [[COPY:%[0-9]+]]:_(s32) = COPY $f1228 ; FP32: [[COPY1:%[0-9]+]]:_(s32) = COPY $f1429 ; FP32: [[FADD:%[0-9]+]]:_(s32) = G_FADD [[COPY]], [[COPY1]]30 ; FP32: $f0 = COPY [[FADD]](s32)31 ; FP32: RetRA implicit $f032 ; FP64-LABEL: name: float_add33 ; FP64: liveins: $f12, $f1434 ; FP64: [[COPY:%[0-9]+]]:_(s32) = COPY $f1235 ; FP64: [[COPY1:%[0-9]+]]:_(s32) = COPY $f1436 ; FP64: [[FADD:%[0-9]+]]:_(s32) = G_FADD [[COPY]], [[COPY1]]37 ; FP64: $f0 = COPY [[FADD]](s32)38 ; FP64: RetRA implicit $f039 %0:_(s32) = COPY $f1240 %1:_(s32) = COPY $f1441 %2:_(s32) = G_FADD %0, %142 $f0 = COPY %2(s32)43 RetRA implicit $f044 45...46---47name: float_sub48alignment: 449tracksRegLiveness: true50body: |51 bb.1.entry:52 liveins: $f12, $f1453 54 ; FP32-LABEL: name: float_sub55 ; FP32: liveins: $f12, $f1456 ; FP32: [[COPY:%[0-9]+]]:_(s32) = COPY $f1257 ; FP32: [[COPY1:%[0-9]+]]:_(s32) = COPY $f1458 ; FP32: [[FSUB:%[0-9]+]]:_(s32) = G_FSUB [[COPY]], [[COPY1]]59 ; FP32: $f0 = COPY [[FSUB]](s32)60 ; FP32: RetRA implicit $f061 ; FP64-LABEL: name: float_sub62 ; FP64: liveins: $f12, $f1463 ; FP64: [[COPY:%[0-9]+]]:_(s32) = COPY $f1264 ; FP64: [[COPY1:%[0-9]+]]:_(s32) = COPY $f1465 ; FP64: [[FSUB:%[0-9]+]]:_(s32) = G_FSUB [[COPY]], [[COPY1]]66 ; FP64: $f0 = COPY [[FSUB]](s32)67 ; FP64: RetRA implicit $f068 %0:_(s32) = COPY $f1269 %1:_(s32) = COPY $f1470 %2:_(s32) = G_FSUB %0, %171 $f0 = COPY %2(s32)72 RetRA implicit $f073 74...75---76name: float_mul77alignment: 478tracksRegLiveness: true79body: |80 bb.1.entry:81 liveins: $f12, $f1482 83 ; FP32-LABEL: name: float_mul84 ; FP32: liveins: $f12, $f1485 ; FP32: [[COPY:%[0-9]+]]:_(s32) = COPY $f1286 ; FP32: [[COPY1:%[0-9]+]]:_(s32) = COPY $f1487 ; FP32: [[FMUL:%[0-9]+]]:_(s32) = G_FMUL [[COPY]], [[COPY1]]88 ; FP32: $f0 = COPY [[FMUL]](s32)89 ; FP32: RetRA implicit $f090 ; FP64-LABEL: name: float_mul91 ; FP64: liveins: $f12, $f1492 ; FP64: [[COPY:%[0-9]+]]:_(s32) = COPY $f1293 ; FP64: [[COPY1:%[0-9]+]]:_(s32) = COPY $f1494 ; FP64: [[FMUL:%[0-9]+]]:_(s32) = G_FMUL [[COPY]], [[COPY1]]95 ; FP64: $f0 = COPY [[FMUL]](s32)96 ; FP64: RetRA implicit $f097 %0:_(s32) = COPY $f1298 %1:_(s32) = COPY $f1499 %2:_(s32) = G_FMUL %0, %1100 $f0 = COPY %2(s32)101 RetRA implicit $f0102 103...104---105name: float_div106alignment: 4107tracksRegLiveness: true108body: |109 bb.1.entry:110 liveins: $f12, $f14111 112 ; FP32-LABEL: name: float_div113 ; FP32: liveins: $f12, $f14114 ; FP32: [[COPY:%[0-9]+]]:_(s32) = COPY $f12115 ; FP32: [[COPY1:%[0-9]+]]:_(s32) = COPY $f14116 ; FP32: [[FDIV:%[0-9]+]]:_(s32) = G_FDIV [[COPY]], [[COPY1]]117 ; FP32: $f0 = COPY [[FDIV]](s32)118 ; FP32: RetRA implicit $f0119 ; FP64-LABEL: name: float_div120 ; FP64: liveins: $f12, $f14121 ; FP64: [[COPY:%[0-9]+]]:_(s32) = COPY $f12122 ; FP64: [[COPY1:%[0-9]+]]:_(s32) = COPY $f14123 ; FP64: [[FDIV:%[0-9]+]]:_(s32) = G_FDIV [[COPY]], [[COPY1]]124 ; FP64: $f0 = COPY [[FDIV]](s32)125 ; FP64: RetRA implicit $f0126 %0:_(s32) = COPY $f12127 %1:_(s32) = COPY $f14128 %2:_(s32) = G_FDIV %0, %1129 $f0 = COPY %2(s32)130 RetRA implicit $f0131 132...133---134name: double_add135alignment: 4136tracksRegLiveness: true137body: |138 bb.1.entry:139 liveins: $d6, $d7140 141 ; FP32-LABEL: name: double_add142 ; FP32: liveins: $d6, $d7143 ; FP32: [[COPY:%[0-9]+]]:_(s64) = COPY $d6144 ; FP32: [[COPY1:%[0-9]+]]:_(s64) = COPY $d7145 ; FP32: [[FADD:%[0-9]+]]:_(s64) = G_FADD [[COPY]], [[COPY1]]146 ; FP32: $d0 = COPY [[FADD]](s64)147 ; FP32: RetRA implicit $d0148 ; FP64-LABEL: name: double_add149 ; FP64: liveins: $d6, $d7150 ; FP64: [[COPY:%[0-9]+]]:_(s64) = COPY $d6151 ; FP64: [[COPY1:%[0-9]+]]:_(s64) = COPY $d7152 ; FP64: [[FADD:%[0-9]+]]:_(s64) = G_FADD [[COPY]], [[COPY1]]153 ; FP64: $d0 = COPY [[FADD]](s64)154 ; FP64: RetRA implicit $d0155 %0:_(s64) = COPY $d6156 %1:_(s64) = COPY $d7157 %2:_(s64) = G_FADD %0, %1158 $d0 = COPY %2(s64)159 RetRA implicit $d0160 161...162---163name: double_sub164alignment: 4165tracksRegLiveness: true166body: |167 bb.1.entry:168 liveins: $d6, $d7169 170 ; FP32-LABEL: name: double_sub171 ; FP32: liveins: $d6, $d7172 ; FP32: [[COPY:%[0-9]+]]:_(s64) = COPY $d6173 ; FP32: [[COPY1:%[0-9]+]]:_(s64) = COPY $d7174 ; FP32: [[FSUB:%[0-9]+]]:_(s64) = G_FSUB [[COPY]], [[COPY1]]175 ; FP32: $d0 = COPY [[FSUB]](s64)176 ; FP32: RetRA implicit $d0177 ; FP64-LABEL: name: double_sub178 ; FP64: liveins: $d6, $d7179 ; FP64: [[COPY:%[0-9]+]]:_(s64) = COPY $d6180 ; FP64: [[COPY1:%[0-9]+]]:_(s64) = COPY $d7181 ; FP64: [[FSUB:%[0-9]+]]:_(s64) = G_FSUB [[COPY]], [[COPY1]]182 ; FP64: $d0 = COPY [[FSUB]](s64)183 ; FP64: RetRA implicit $d0184 %0:_(s64) = COPY $d6185 %1:_(s64) = COPY $d7186 %2:_(s64) = G_FSUB %0, %1187 $d0 = COPY %2(s64)188 RetRA implicit $d0189 190...191---192name: double_mul193alignment: 4194tracksRegLiveness: true195body: |196 bb.1.entry:197 liveins: $d6, $d7198 199 ; FP32-LABEL: name: double_mul200 ; FP32: liveins: $d6, $d7201 ; FP32: [[COPY:%[0-9]+]]:_(s64) = COPY $d6202 ; FP32: [[COPY1:%[0-9]+]]:_(s64) = COPY $d7203 ; FP32: [[FMUL:%[0-9]+]]:_(s64) = G_FMUL [[COPY]], [[COPY1]]204 ; FP32: $d0 = COPY [[FMUL]](s64)205 ; FP32: RetRA implicit $d0206 ; FP64-LABEL: name: double_mul207 ; FP64: liveins: $d6, $d7208 ; FP64: [[COPY:%[0-9]+]]:_(s64) = COPY $d6209 ; FP64: [[COPY1:%[0-9]+]]:_(s64) = COPY $d7210 ; FP64: [[FMUL:%[0-9]+]]:_(s64) = G_FMUL [[COPY]], [[COPY1]]211 ; FP64: $d0 = COPY [[FMUL]](s64)212 ; FP64: RetRA implicit $d0213 %0:_(s64) = COPY $d6214 %1:_(s64) = COPY $d7215 %2:_(s64) = G_FMUL %0, %1216 $d0 = COPY %2(s64)217 RetRA implicit $d0218 219...220---221name: double_div222alignment: 4223tracksRegLiveness: true224body: |225 bb.1.entry:226 liveins: $d6, $d7227 228 ; FP32-LABEL: name: double_div229 ; FP32: liveins: $d6, $d7230 ; FP32: [[COPY:%[0-9]+]]:_(s64) = COPY $d6231 ; FP32: [[COPY1:%[0-9]+]]:_(s64) = COPY $d7232 ; FP32: [[FDIV:%[0-9]+]]:_(s64) = G_FDIV [[COPY]], [[COPY1]]233 ; FP32: $d0 = COPY [[FDIV]](s64)234 ; FP32: RetRA implicit $d0235 ; FP64-LABEL: name: double_div236 ; FP64: liveins: $d6, $d7237 ; FP64: [[COPY:%[0-9]+]]:_(s64) = COPY $d6238 ; FP64: [[COPY1:%[0-9]+]]:_(s64) = COPY $d7239 ; FP64: [[FDIV:%[0-9]+]]:_(s64) = G_FDIV [[COPY]], [[COPY1]]240 ; FP64: $d0 = COPY [[FDIV]](s64)241 ; FP64: RetRA implicit $d0242 %0:_(s64) = COPY $d6243 %1:_(s64) = COPY $d7244 %2:_(s64) = G_FDIV %0, %1245 $d0 = COPY %2(s64)246 RetRA implicit $d0247 248...249