257 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=regbankselect -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=FP323# RUN: llc -O0 -mtriple=mipsel-linux-gnu -mattr=+fp64,+mips32r2 -run-pass=regbankselect -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: 420legalized: true21tracksRegLiveness: true22body: |23 bb.1.entry:24 liveins: $f12, $f1425 26 ; FP32-LABEL: name: float_add27 ; FP32: liveins: $f12, $f1428 ; FP32: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f1229 ; FP32: [[COPY1:%[0-9]+]]:fprb(s32) = COPY $f1430 ; FP32: [[FADD:%[0-9]+]]:fprb(s32) = G_FADD [[COPY]], [[COPY1]]31 ; FP32: $f0 = COPY [[FADD]](s32)32 ; FP32: RetRA implicit $f033 ; FP64-LABEL: name: float_add34 ; FP64: liveins: $f12, $f1435 ; FP64: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f1236 ; FP64: [[COPY1:%[0-9]+]]:fprb(s32) = COPY $f1437 ; FP64: [[FADD:%[0-9]+]]:fprb(s32) = G_FADD [[COPY]], [[COPY1]]38 ; FP64: $f0 = COPY [[FADD]](s32)39 ; FP64: RetRA implicit $f040 %0:_(s32) = COPY $f1241 %1:_(s32) = COPY $f1442 %2:_(s32) = G_FADD %0, %143 $f0 = COPY %2(s32)44 RetRA implicit $f045 46...47---48name: float_sub49alignment: 450legalized: true51tracksRegLiveness: true52body: |53 bb.1.entry:54 liveins: $f12, $f1455 56 ; FP32-LABEL: name: float_sub57 ; FP32: liveins: $f12, $f1458 ; FP32: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f1259 ; FP32: [[COPY1:%[0-9]+]]:fprb(s32) = COPY $f1460 ; FP32: [[FSUB:%[0-9]+]]:fprb(s32) = G_FSUB [[COPY]], [[COPY1]]61 ; FP32: $f0 = COPY [[FSUB]](s32)62 ; FP32: RetRA implicit $f063 ; FP64-LABEL: name: float_sub64 ; FP64: liveins: $f12, $f1465 ; FP64: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f1266 ; FP64: [[COPY1:%[0-9]+]]:fprb(s32) = COPY $f1467 ; FP64: [[FSUB:%[0-9]+]]:fprb(s32) = G_FSUB [[COPY]], [[COPY1]]68 ; FP64: $f0 = COPY [[FSUB]](s32)69 ; FP64: RetRA implicit $f070 %0:_(s32) = COPY $f1271 %1:_(s32) = COPY $f1472 %2:_(s32) = G_FSUB %0, %173 $f0 = COPY %2(s32)74 RetRA implicit $f075 76...77---78name: float_mul79alignment: 480legalized: true81tracksRegLiveness: true82body: |83 bb.1.entry:84 liveins: $f12, $f1485 86 ; FP32-LABEL: name: float_mul87 ; FP32: liveins: $f12, $f1488 ; FP32: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f1289 ; FP32: [[COPY1:%[0-9]+]]:fprb(s32) = COPY $f1490 ; FP32: [[FMUL:%[0-9]+]]:fprb(s32) = G_FMUL [[COPY]], [[COPY1]]91 ; FP32: $f0 = COPY [[FMUL]](s32)92 ; FP32: RetRA implicit $f093 ; FP64-LABEL: name: float_mul94 ; FP64: liveins: $f12, $f1495 ; FP64: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f1296 ; FP64: [[COPY1:%[0-9]+]]:fprb(s32) = COPY $f1497 ; FP64: [[FMUL:%[0-9]+]]:fprb(s32) = G_FMUL [[COPY]], [[COPY1]]98 ; FP64: $f0 = COPY [[FMUL]](s32)99 ; FP64: RetRA implicit $f0100 %0:_(s32) = COPY $f12101 %1:_(s32) = COPY $f14102 %2:_(s32) = G_FMUL %0, %1103 $f0 = COPY %2(s32)104 RetRA implicit $f0105 106...107---108name: float_div109alignment: 4110legalized: true111tracksRegLiveness: true112body: |113 bb.1.entry:114 liveins: $f12, $f14115 116 ; FP32-LABEL: name: float_div117 ; FP32: liveins: $f12, $f14118 ; FP32: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f12119 ; FP32: [[COPY1:%[0-9]+]]:fprb(s32) = COPY $f14120 ; FP32: [[FDIV:%[0-9]+]]:fprb(s32) = G_FDIV [[COPY]], [[COPY1]]121 ; FP32: $f0 = COPY [[FDIV]](s32)122 ; FP32: RetRA implicit $f0123 ; FP64-LABEL: name: float_div124 ; FP64: liveins: $f12, $f14125 ; FP64: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f12126 ; FP64: [[COPY1:%[0-9]+]]:fprb(s32) = COPY $f14127 ; FP64: [[FDIV:%[0-9]+]]:fprb(s32) = G_FDIV [[COPY]], [[COPY1]]128 ; FP64: $f0 = COPY [[FDIV]](s32)129 ; FP64: RetRA implicit $f0130 %0:_(s32) = COPY $f12131 %1:_(s32) = COPY $f14132 %2:_(s32) = G_FDIV %0, %1133 $f0 = COPY %2(s32)134 RetRA implicit $f0135 136...137---138name: double_add139alignment: 4140legalized: true141tracksRegLiveness: true142body: |143 bb.1.entry:144 liveins: $d6, $d7145 146 ; FP32-LABEL: name: double_add147 ; FP32: liveins: $d6, $d7148 ; FP32: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d6149 ; FP32: [[COPY1:%[0-9]+]]:fprb(s64) = COPY $d7150 ; FP32: [[FADD:%[0-9]+]]:fprb(s64) = G_FADD [[COPY]], [[COPY1]]151 ; FP32: $d0 = COPY [[FADD]](s64)152 ; FP32: RetRA implicit $d0153 ; FP64-LABEL: name: double_add154 ; FP64: liveins: $d6, $d7155 ; FP64: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d6156 ; FP64: [[COPY1:%[0-9]+]]:fprb(s64) = COPY $d7157 ; FP64: [[FADD:%[0-9]+]]:fprb(s64) = G_FADD [[COPY]], [[COPY1]]158 ; FP64: $d0 = COPY [[FADD]](s64)159 ; FP64: RetRA implicit $d0160 %0:_(s64) = COPY $d6161 %1:_(s64) = COPY $d7162 %2:_(s64) = G_FADD %0, %1163 $d0 = COPY %2(s64)164 RetRA implicit $d0165 166...167---168name: double_sub169alignment: 4170legalized: true171tracksRegLiveness: true172body: |173 bb.1.entry:174 liveins: $d6, $d7175 176 ; FP32-LABEL: name: double_sub177 ; FP32: liveins: $d6, $d7178 ; FP32: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d6179 ; FP32: [[COPY1:%[0-9]+]]:fprb(s64) = COPY $d7180 ; FP32: [[FSUB:%[0-9]+]]:fprb(s64) = G_FSUB [[COPY]], [[COPY1]]181 ; FP32: $d0 = COPY [[FSUB]](s64)182 ; FP32: RetRA implicit $d0183 ; FP64-LABEL: name: double_sub184 ; FP64: liveins: $d6, $d7185 ; FP64: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d6186 ; FP64: [[COPY1:%[0-9]+]]:fprb(s64) = COPY $d7187 ; FP64: [[FSUB:%[0-9]+]]:fprb(s64) = G_FSUB [[COPY]], [[COPY1]]188 ; FP64: $d0 = COPY [[FSUB]](s64)189 ; FP64: RetRA implicit $d0190 %0:_(s64) = COPY $d6191 %1:_(s64) = COPY $d7192 %2:_(s64) = G_FSUB %0, %1193 $d0 = COPY %2(s64)194 RetRA implicit $d0195 196...197---198name: double_mul199alignment: 4200legalized: true201tracksRegLiveness: true202body: |203 bb.1.entry:204 liveins: $d6, $d7205 206 ; FP32-LABEL: name: double_mul207 ; FP32: liveins: $d6, $d7208 ; FP32: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d6209 ; FP32: [[COPY1:%[0-9]+]]:fprb(s64) = COPY $d7210 ; FP32: [[FMUL:%[0-9]+]]:fprb(s64) = G_FMUL [[COPY]], [[COPY1]]211 ; FP32: $d0 = COPY [[FMUL]](s64)212 ; FP32: RetRA implicit $d0213 ; FP64-LABEL: name: double_mul214 ; FP64: liveins: $d6, $d7215 ; FP64: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d6216 ; FP64: [[COPY1:%[0-9]+]]:fprb(s64) = COPY $d7217 ; FP64: [[FMUL:%[0-9]+]]:fprb(s64) = G_FMUL [[COPY]], [[COPY1]]218 ; FP64: $d0 = COPY [[FMUL]](s64)219 ; FP64: RetRA implicit $d0220 %0:_(s64) = COPY $d6221 %1:_(s64) = COPY $d7222 %2:_(s64) = G_FMUL %0, %1223 $d0 = COPY %2(s64)224 RetRA implicit $d0225 226...227---228name: double_div229alignment: 4230legalized: true231tracksRegLiveness: true232body: |233 bb.1.entry:234 liveins: $d6, $d7235 236 ; FP32-LABEL: name: double_div237 ; FP32: liveins: $d6, $d7238 ; FP32: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d6239 ; FP32: [[COPY1:%[0-9]+]]:fprb(s64) = COPY $d7240 ; FP32: [[FDIV:%[0-9]+]]:fprb(s64) = G_FDIV [[COPY]], [[COPY1]]241 ; FP32: $d0 = COPY [[FDIV]](s64)242 ; FP32: RetRA implicit $d0243 ; FP64-LABEL: name: double_div244 ; FP64: liveins: $d6, $d7245 ; FP64: [[COPY:%[0-9]+]]:fprb(s64) = COPY $d6246 ; FP64: [[COPY1:%[0-9]+]]:fprb(s64) = COPY $d7247 ; FP64: [[FDIV:%[0-9]+]]:fprb(s64) = G_FDIV [[COPY]], [[COPY1]]248 ; FP64: $d0 = COPY [[FDIV]](s64)249 ; FP64: RetRA implicit $d0250 %0:_(s64) = COPY $d6251 %1:_(s64) = COPY $d7252 %2:_(s64) = G_FDIV %0, %1253 $d0 = COPY %2(s64)254 RetRA implicit $d0255 256...257