649 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx1150 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX1150 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX1150 %s4 5---6name: f32_olt7legalized: true8regBankSelected: true9body: |10 bb.1.entry:11 liveins: $sgpr0, $sgpr112 13 ; GFX1150-LABEL: name: f32_olt14 ; GFX1150: liveins: $sgpr0, $sgpr115 ; GFX1150-NEXT: {{ $}}16 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr017 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr118 ; GFX1150-NEXT: S_CMP_LT_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode19 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc20 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]21 %0:sgpr(s32) = COPY $sgpr022 %1:sgpr(s32) = COPY $sgpr123 %2:sgpr(s32) = G_FCMP floatpred(olt), %0(s32), %124 $sgpr0 = COPY %2(s32)25 26...27---28name: f32_oeq29legalized: true30regBankSelected: true31body: |32 bb.1.entry:33 liveins: $sgpr0, $sgpr134 35 ; GFX1150-LABEL: name: f32_oeq36 ; GFX1150: liveins: $sgpr0, $sgpr137 ; GFX1150-NEXT: {{ $}}38 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr039 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr140 ; GFX1150-NEXT: S_CMP_EQ_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode41 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc42 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]43 %0:sgpr(s32) = COPY $sgpr044 %1:sgpr(s32) = COPY $sgpr145 %2:sgpr(s32) = G_FCMP floatpred(oeq), %0(s32), %146 $sgpr0 = COPY %2(s32)47 48...49---50name: f32_ole51legalized: true52regBankSelected: true53body: |54 bb.1.entry:55 liveins: $sgpr0, $sgpr156 57 ; GFX1150-LABEL: name: f32_ole58 ; GFX1150: liveins: $sgpr0, $sgpr159 ; GFX1150-NEXT: {{ $}}60 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr061 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr162 ; GFX1150-NEXT: S_CMP_LE_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode63 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc64 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]65 %0:sgpr(s32) = COPY $sgpr066 %1:sgpr(s32) = COPY $sgpr167 %2:sgpr(s32) = G_FCMP floatpred(ole), %0(s32), %168 $sgpr0 = COPY %2(s32)69 70...71---72name: f32_ogt73legalized: true74regBankSelected: true75body: |76 bb.1.entry:77 liveins: $sgpr0, $sgpr178 79 ; GFX1150-LABEL: name: f32_ogt80 ; GFX1150: liveins: $sgpr0, $sgpr181 ; GFX1150-NEXT: {{ $}}82 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr083 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr184 ; GFX1150-NEXT: S_CMP_GT_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode85 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc86 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]87 %0:sgpr(s32) = COPY $sgpr088 %1:sgpr(s32) = COPY $sgpr189 %2:sgpr(s32) = G_FCMP floatpred(ogt), %0(s32), %190 $sgpr0 = COPY %2(s32)91 92...93---94name: f32_one95legalized: true96regBankSelected: true97body: |98 bb.1.entry:99 liveins: $sgpr0, $sgpr1100 101 ; GFX1150-LABEL: name: f32_one102 ; GFX1150: liveins: $sgpr0, $sgpr1103 ; GFX1150-NEXT: {{ $}}104 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0105 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1106 ; GFX1150-NEXT: S_CMP_LG_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode107 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc108 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]109 %0:sgpr(s32) = COPY $sgpr0110 %1:sgpr(s32) = COPY $sgpr1111 %2:sgpr(s32) = G_FCMP floatpred(one), %0(s32), %1112 $sgpr0 = COPY %2(s32)113 114...115---116name: f32_oge117legalized: true118regBankSelected: true119body: |120 bb.1.entry:121 liveins: $sgpr0, $sgpr1122 123 ; GFX1150-LABEL: name: f32_oge124 ; GFX1150: liveins: $sgpr0, $sgpr1125 ; GFX1150-NEXT: {{ $}}126 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0127 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1128 ; GFX1150-NEXT: S_CMP_GE_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode129 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc130 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]131 %0:sgpr(s32) = COPY $sgpr0132 %1:sgpr(s32) = COPY $sgpr1133 %2:sgpr(s32) = G_FCMP floatpred(oge), %0(s32), %1134 $sgpr0 = COPY %2(s32)135 136...137---138name: f32_ord139legalized: true140regBankSelected: true141body: |142 bb.1.entry:143 liveins: $sgpr0, $sgpr1144 145 ; GFX1150-LABEL: name: f32_ord146 ; GFX1150: liveins: $sgpr0, $sgpr1147 ; GFX1150-NEXT: {{ $}}148 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0149 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1150 ; GFX1150-NEXT: S_CMP_O_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode151 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc152 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]153 %0:sgpr(s32) = COPY $sgpr0154 %1:sgpr(s32) = COPY $sgpr1155 %2:sgpr(s32) = G_FCMP floatpred(ord), %0(s32), %1156 $sgpr0 = COPY %2(s32)157 158...159---160name: f32_uno161legalized: true162regBankSelected: true163body: |164 bb.1.entry:165 liveins: $sgpr0, $sgpr1166 167 ; GFX1150-LABEL: name: f32_uno168 ; GFX1150: liveins: $sgpr0, $sgpr1169 ; GFX1150-NEXT: {{ $}}170 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0171 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1172 ; GFX1150-NEXT: S_CMP_U_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode173 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc174 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]175 %0:sgpr(s32) = COPY $sgpr0176 %1:sgpr(s32) = COPY $sgpr1177 %2:sgpr(s32) = G_FCMP floatpred(uno), %0(s32), %1178 $sgpr0 = COPY %2(s32)179 180...181---182name: f32_ult183legalized: true184regBankSelected: true185body: |186 bb.1.entry:187 liveins: $sgpr0, $sgpr1188 189 ; GFX1150-LABEL: name: f32_ult190 ; GFX1150: liveins: $sgpr0, $sgpr1191 ; GFX1150-NEXT: {{ $}}192 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0193 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1194 ; GFX1150-NEXT: S_CMP_NGE_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode195 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc196 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]197 %0:sgpr(s32) = COPY $sgpr0198 %1:sgpr(s32) = COPY $sgpr1199 %2:sgpr(s32) = G_FCMP floatpred(ult), %0(s32), %1200 $sgpr0 = COPY %2(s32)201 202...203---204name: f32_ueq205legalized: true206regBankSelected: true207body: |208 bb.1.entry:209 liveins: $sgpr0, $sgpr1210 211 ; GFX1150-LABEL: name: f32_ueq212 ; GFX1150: liveins: $sgpr0, $sgpr1213 ; GFX1150-NEXT: {{ $}}214 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0215 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1216 ; GFX1150-NEXT: S_CMP_NLG_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode217 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc218 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]219 %0:sgpr(s32) = COPY $sgpr0220 %1:sgpr(s32) = COPY $sgpr1221 %2:sgpr(s32) = G_FCMP floatpred(ueq), %0(s32), %1222 $sgpr0 = COPY %2(s32)223 224...225---226name: f32_ule227legalized: true228regBankSelected: true229body: |230 bb.1.entry:231 liveins: $sgpr0, $sgpr1232 233 ; GFX1150-LABEL: name: f32_ule234 ; GFX1150: liveins: $sgpr0, $sgpr1235 ; GFX1150-NEXT: {{ $}}236 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0237 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1238 ; GFX1150-NEXT: S_CMP_NGT_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode239 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc240 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]241 %0:sgpr(s32) = COPY $sgpr0242 %1:sgpr(s32) = COPY $sgpr1243 %2:sgpr(s32) = G_FCMP floatpred(ule), %0(s32), %1244 $sgpr0 = COPY %2(s32)245 246...247---248name: f32_ugt249legalized: true250regBankSelected: true251body: |252 bb.1.entry:253 liveins: $sgpr0, $sgpr1254 255 ; GFX1150-LABEL: name: f32_ugt256 ; GFX1150: liveins: $sgpr0, $sgpr1257 ; GFX1150-NEXT: {{ $}}258 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0259 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1260 ; GFX1150-NEXT: S_CMP_NLE_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode261 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc262 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]263 %0:sgpr(s32) = COPY $sgpr0264 %1:sgpr(s32) = COPY $sgpr1265 %2:sgpr(s32) = G_FCMP floatpred(ugt), %0(s32), %1266 $sgpr0 = COPY %2(s32)267 268...269---270name: f32_une271legalized: true272regBankSelected: true273body: |274 bb.1.entry:275 liveins: $sgpr0, $sgpr1276 277 ; GFX1150-LABEL: name: f32_une278 ; GFX1150: liveins: $sgpr0, $sgpr1279 ; GFX1150-NEXT: {{ $}}280 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0281 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1282 ; GFX1150-NEXT: S_CMP_NEQ_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode283 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc284 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]285 %0:sgpr(s32) = COPY $sgpr0286 %1:sgpr(s32) = COPY $sgpr1287 %2:sgpr(s32) = G_FCMP floatpred(une), %0(s32), %1288 $sgpr0 = COPY %2(s32)289 290...291---292name: f32_uge293legalized: true294regBankSelected: true295body: |296 bb.1.entry:297 liveins: $sgpr0, $sgpr1298 299 ; GFX1150-LABEL: name: f32_uge300 ; GFX1150: liveins: $sgpr0, $sgpr1301 ; GFX1150-NEXT: {{ $}}302 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0303 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1304 ; GFX1150-NEXT: S_CMP_NLT_F32 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode305 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc306 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]307 %0:sgpr(s32) = COPY $sgpr0308 %1:sgpr(s32) = COPY $sgpr1309 %2:sgpr(s32) = G_FCMP floatpred(uge), %0(s32), %1310 $sgpr0 = COPY %2(s32)311 312...313---314name: f16_olt315legalized: true316regBankSelected: true317body: |318 bb.1.entry:319 liveins: $sgpr0, $sgpr1320 321 ; GFX1150-LABEL: name: f16_olt322 ; GFX1150: liveins: $sgpr0, $sgpr1323 ; GFX1150-NEXT: {{ $}}324 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0325 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1326 ; GFX1150-NEXT: S_CMP_LT_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode327 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc328 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]329 %0:sgpr(s32) = COPY $sgpr0330 %1:sgpr(s16) = G_TRUNC %0(s32)331 %2:sgpr(s32) = COPY $sgpr1332 %3:sgpr(s16) = G_TRUNC %2(s32)333 %4:sgpr(s32) = G_FCMP floatpred(olt), %1(s16), %3334 $sgpr0 = COPY %4(s32)335 336...337---338name: f16_oeq339legalized: true340regBankSelected: true341body: |342 bb.1.entry:343 liveins: $sgpr0, $sgpr1344 345 ; GFX1150-LABEL: name: f16_oeq346 ; GFX1150: liveins: $sgpr0, $sgpr1347 ; GFX1150-NEXT: {{ $}}348 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0349 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1350 ; GFX1150-NEXT: S_CMP_EQ_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode351 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc352 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]353 %0:sgpr(s32) = COPY $sgpr0354 %1:sgpr(s16) = G_TRUNC %0(s32)355 %2:sgpr(s32) = COPY $sgpr1356 %3:sgpr(s16) = G_TRUNC %2(s32)357 %4:sgpr(s32) = G_FCMP floatpred(oeq), %1(s16), %3358 $sgpr0 = COPY %4(s32)359 360...361---362name: f16_ole363legalized: true364regBankSelected: true365body: |366 bb.1.entry:367 liveins: $sgpr0, $sgpr1368 369 ; GFX1150-LABEL: name: f16_ole370 ; GFX1150: liveins: $sgpr0, $sgpr1371 ; GFX1150-NEXT: {{ $}}372 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0373 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1374 ; GFX1150-NEXT: S_CMP_LE_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode375 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc376 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]377 %0:sgpr(s32) = COPY $sgpr0378 %1:sgpr(s16) = G_TRUNC %0(s32)379 %2:sgpr(s32) = COPY $sgpr1380 %3:sgpr(s16) = G_TRUNC %2(s32)381 %4:sgpr(s32) = G_FCMP floatpred(ole), %1(s16), %3382 $sgpr0 = COPY %4(s32)383 384...385---386name: f16_ogt387legalized: true388regBankSelected: true389body: |390 bb.1.entry:391 liveins: $sgpr0, $sgpr1392 393 ; GFX1150-LABEL: name: f16_ogt394 ; GFX1150: liveins: $sgpr0, $sgpr1395 ; GFX1150-NEXT: {{ $}}396 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0397 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1398 ; GFX1150-NEXT: S_CMP_GT_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode399 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc400 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]401 %0:sgpr(s32) = COPY $sgpr0402 %1:sgpr(s16) = G_TRUNC %0(s32)403 %2:sgpr(s32) = COPY $sgpr1404 %3:sgpr(s16) = G_TRUNC %2(s32)405 %4:sgpr(s32) = G_FCMP floatpred(ogt), %1(s16), %3406 $sgpr0 = COPY %4(s32)407 408...409---410name: f16_one411legalized: true412regBankSelected: true413body: |414 bb.1.entry:415 liveins: $sgpr0, $sgpr1416 417 ; GFX1150-LABEL: name: f16_one418 ; GFX1150: liveins: $sgpr0, $sgpr1419 ; GFX1150-NEXT: {{ $}}420 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0421 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1422 ; GFX1150-NEXT: S_CMP_LG_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode423 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc424 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]425 %0:sgpr(s32) = COPY $sgpr0426 %1:sgpr(s16) = G_TRUNC %0(s32)427 %2:sgpr(s32) = COPY $sgpr1428 %3:sgpr(s16) = G_TRUNC %2(s32)429 %4:sgpr(s32) = G_FCMP floatpred(one), %1(s16), %3430 $sgpr0 = COPY %4(s32)431 432...433---434name: f16_oge435legalized: true436regBankSelected: true437body: |438 bb.1.entry:439 liveins: $sgpr0, $sgpr1440 441 ; GFX1150-LABEL: name: f16_oge442 ; GFX1150: liveins: $sgpr0, $sgpr1443 ; GFX1150-NEXT: {{ $}}444 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0445 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1446 ; GFX1150-NEXT: S_CMP_GE_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode447 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc448 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]449 %0:sgpr(s32) = COPY $sgpr0450 %1:sgpr(s16) = G_TRUNC %0(s32)451 %2:sgpr(s32) = COPY $sgpr1452 %3:sgpr(s16) = G_TRUNC %2(s32)453 %4:sgpr(s32) = G_FCMP floatpred(oge), %1(s16), %3454 $sgpr0 = COPY %4(s32)455 456...457---458name: f16_ord459legalized: true460regBankSelected: true461body: |462 bb.1.entry:463 liveins: $sgpr0, $sgpr1464 465 ; GFX1150-LABEL: name: f16_ord466 ; GFX1150: liveins: $sgpr0, $sgpr1467 ; GFX1150-NEXT: {{ $}}468 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0469 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1470 ; GFX1150-NEXT: S_CMP_O_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode471 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc472 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]473 %0:sgpr(s32) = COPY $sgpr0474 %1:sgpr(s16) = G_TRUNC %0(s32)475 %2:sgpr(s32) = COPY $sgpr1476 %3:sgpr(s16) = G_TRUNC %2(s32)477 %4:sgpr(s32) = G_FCMP floatpred(ord), %1(s16), %3478 $sgpr0 = COPY %4(s32)479 480...481---482name: f16_uno483legalized: true484regBankSelected: true485body: |486 bb.1.entry:487 liveins: $sgpr0, $sgpr1488 489 ; GFX1150-LABEL: name: f16_uno490 ; GFX1150: liveins: $sgpr0, $sgpr1491 ; GFX1150-NEXT: {{ $}}492 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0493 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1494 ; GFX1150-NEXT: S_CMP_U_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode495 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc496 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]497 %0:sgpr(s32) = COPY $sgpr0498 %1:sgpr(s16) = G_TRUNC %0(s32)499 %2:sgpr(s32) = COPY $sgpr1500 %3:sgpr(s16) = G_TRUNC %2(s32)501 %4:sgpr(s32) = G_FCMP floatpred(uno), %1(s16), %3502 $sgpr0 = COPY %4(s32)503 504...505---506name: f16_ult507legalized: true508regBankSelected: true509body: |510 bb.1.entry:511 liveins: $sgpr0, $sgpr1512 513 ; GFX1150-LABEL: name: f16_ult514 ; GFX1150: liveins: $sgpr0, $sgpr1515 ; GFX1150-NEXT: {{ $}}516 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0517 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1518 ; GFX1150-NEXT: S_CMP_NGE_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode519 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc520 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]521 %0:sgpr(s32) = COPY $sgpr0522 %1:sgpr(s16) = G_TRUNC %0(s32)523 %2:sgpr(s32) = COPY $sgpr1524 %3:sgpr(s16) = G_TRUNC %2(s32)525 %4:sgpr(s32) = G_FCMP floatpred(ult), %1(s16), %3526 $sgpr0 = COPY %4(s32)527 528...529---530name: f16_ueq531legalized: true532regBankSelected: true533body: |534 bb.1.entry:535 liveins: $sgpr0, $sgpr1536 537 ; GFX1150-LABEL: name: f16_ueq538 ; GFX1150: liveins: $sgpr0, $sgpr1539 ; GFX1150-NEXT: {{ $}}540 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0541 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1542 ; GFX1150-NEXT: S_CMP_NLG_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode543 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc544 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]545 %0:sgpr(s32) = COPY $sgpr0546 %1:sgpr(s16) = G_TRUNC %0(s32)547 %2:sgpr(s32) = COPY $sgpr1548 %3:sgpr(s16) = G_TRUNC %2(s32)549 %4:sgpr(s32) = G_FCMP floatpred(ueq), %1(s16), %3550 $sgpr0 = COPY %4(s32)551 552...553---554name: f16_ule555legalized: true556regBankSelected: true557body: |558 bb.1.entry:559 liveins: $sgpr0, $sgpr1560 561 ; GFX1150-LABEL: name: f16_ule562 ; GFX1150: liveins: $sgpr0, $sgpr1563 ; GFX1150-NEXT: {{ $}}564 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0565 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1566 ; GFX1150-NEXT: S_CMP_NGT_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode567 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc568 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]569 %0:sgpr(s32) = COPY $sgpr0570 %1:sgpr(s16) = G_TRUNC %0(s32)571 %2:sgpr(s32) = COPY $sgpr1572 %3:sgpr(s16) = G_TRUNC %2(s32)573 %4:sgpr(s32) = G_FCMP floatpred(ule), %1(s16), %3574 $sgpr0 = COPY %4(s32)575 576...577---578name: f16_ugt579legalized: true580regBankSelected: true581body: |582 bb.1.entry:583 liveins: $sgpr0, $sgpr1584 585 ; GFX1150-LABEL: name: f16_ugt586 ; GFX1150: liveins: $sgpr0, $sgpr1587 ; GFX1150-NEXT: {{ $}}588 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0589 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1590 ; GFX1150-NEXT: S_CMP_NLE_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode591 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc592 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]593 %0:sgpr(s32) = COPY $sgpr0594 %1:sgpr(s16) = G_TRUNC %0(s32)595 %2:sgpr(s32) = COPY $sgpr1596 %3:sgpr(s16) = G_TRUNC %2(s32)597 %4:sgpr(s32) = G_FCMP floatpred(ugt), %1(s16), %3598 $sgpr0 = COPY %4(s32)599 600...601---602name: f16_une603legalized: true604regBankSelected: true605body: |606 bb.1.entry:607 liveins: $sgpr0, $sgpr1608 609 ; GFX1150-LABEL: name: f16_une610 ; GFX1150: liveins: $sgpr0, $sgpr1611 ; GFX1150-NEXT: {{ $}}612 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0613 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1614 ; GFX1150-NEXT: S_CMP_NEQ_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode615 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc616 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]617 %0:sgpr(s32) = COPY $sgpr0618 %1:sgpr(s16) = G_TRUNC %0(s32)619 %2:sgpr(s32) = COPY $sgpr1620 %3:sgpr(s16) = G_TRUNC %2(s32)621 %4:sgpr(s32) = G_FCMP floatpred(une), %1(s16), %3622 $sgpr0 = COPY %4(s32)623 624...625---626name: f16_uge627legalized: true628regBankSelected: true629body: |630 bb.1.entry:631 liveins: $sgpr0, $sgpr1632 633 ; GFX1150-LABEL: name: f16_uge634 ; GFX1150: liveins: $sgpr0, $sgpr1635 ; GFX1150-NEXT: {{ $}}636 ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0637 ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1638 ; GFX1150-NEXT: S_CMP_NLT_F16 [[COPY]], [[COPY1]], implicit-def $scc, implicit $mode639 ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $scc640 ; GFX1150-NEXT: $sgpr0 = COPY [[COPY2]]641 %0:sgpr(s32) = COPY $sgpr0642 %1:sgpr(s16) = G_TRUNC %0(s32)643 %2:sgpr(s32) = COPY $sgpr1644 %3:sgpr(s16) = G_TRUNC %2(s32)645 %4:sgpr(s32) = G_FCMP floatpred(uge), %1(s16), %3646 $sgpr0 = COPY %4(s32)647 648...649