1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -march=amdgcn -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=0 -o - %s | FileCheck -check-prefix=WAVE64 %s 3# RUN: llc -march=amdgcn -mcpu=gfx1010 -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=0 -o - %s | FileCheck -check-prefix=WAVE32 %s 4 5--- 6name: fcmp_false_s32_vv 7legalized: true 8regBankSelected: true 9 10body: | 11 bb.0: 12 liveins: $vgpr0, $vgpr1 13 ; WAVE64-LABEL: name: fcmp_false_s32_vv 14 ; WAVE64: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0 15 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1 16 ; WAVE64: [[FCMP:%[0-9]+]]:vcc(s1) = G_FCMP floatpred(false), [[COPY]](s32), [[COPY1]] 17 ; WAVE64: S_ENDPGM 0, implicit [[FCMP]](s1) 18 ; WAVE32-LABEL: name: fcmp_false_s32_vv 19 ; WAVE32: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0 20 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1 21 ; WAVE32: [[FCMP:%[0-9]+]]:vcc(s1) = G_FCMP floatpred(false), [[COPY]](s32), [[COPY1]] 22 ; WAVE32: S_ENDPGM 0, implicit [[FCMP]](s1) 23 %0:vgpr(s32) = COPY $vgpr0 24 %1:vgpr(s32) = COPY $vgpr1 25 %2:vcc(s1) = G_FCMP floatpred(false), %0, %1 26 S_ENDPGM 0, implicit %2 27... 28 29--- 30name: fcmp_oeq_s32_vv 31legalized: true 32regBankSelected: true 33 34body: | 35 bb.0: 36 liveins: $vgpr0, $vgpr1 37 ; WAVE64-LABEL: name: fcmp_oeq_s32_vv 38 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 39 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 40 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_EQ_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 41 ; WAVE64: S_ENDPGM 0, implicit %2 42 ; WAVE32-LABEL: name: fcmp_oeq_s32_vv 43 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 44 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 45 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_EQ_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 46 ; WAVE32: S_ENDPGM 0, implicit %2 47 %0:vgpr(s32) = COPY $vgpr0 48 %1:vgpr(s32) = COPY $vgpr1 49 %2:vcc(s1) = G_FCMP floatpred(oeq), %0, %1 50 S_ENDPGM 0, implicit %2 51... 52 53--- 54name: fcmp_ogt_s32_vv 55legalized: true 56regBankSelected: true 57 58body: | 59 bb.0: 60 liveins: $vgpr0, $vgpr1 61 ; WAVE64-LABEL: name: fcmp_ogt_s32_vv 62 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 63 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 64 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_GT_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 65 ; WAVE64: S_ENDPGM 0, implicit %2 66 ; WAVE32-LABEL: name: fcmp_ogt_s32_vv 67 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 68 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 69 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_GT_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 70 ; WAVE32: S_ENDPGM 0, implicit %2 71 %0:vgpr(s32) = COPY $vgpr0 72 %1:vgpr(s32) = COPY $vgpr1 73 %2:vcc(s1) = G_FCMP floatpred(ogt), %0, %1 74 S_ENDPGM 0, implicit %2 75... 76 77--- 78name: fcmp_oge_s32_vv 79legalized: true 80regBankSelected: true 81 82body: | 83 bb.0: 84 liveins: $vgpr0, $vgpr1 85 ; WAVE64-LABEL: name: fcmp_oge_s32_vv 86 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 87 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 88 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_GE_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 89 ; WAVE64: S_ENDPGM 0, implicit %2 90 ; WAVE32-LABEL: name: fcmp_oge_s32_vv 91 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 92 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 93 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_GE_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 94 ; WAVE32: S_ENDPGM 0, implicit %2 95 %0:vgpr(s32) = COPY $vgpr0 96 %1:vgpr(s32) = COPY $vgpr1 97 %2:vcc(s1) = G_FCMP floatpred(oge), %0, %1 98 S_ENDPGM 0, implicit %2 99... 100 101--- 102name: fcmp_olt_s32_vv 103legalized: true 104regBankSelected: true 105 106body: | 107 bb.0: 108 liveins: $vgpr0, $vgpr1 109 ; WAVE64-LABEL: name: fcmp_olt_s32_vv 110 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 111 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 112 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_LT_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 113 ; WAVE64: S_ENDPGM 0, implicit %2 114 ; WAVE32-LABEL: name: fcmp_olt_s32_vv 115 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 116 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 117 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_LT_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 118 ; WAVE32: S_ENDPGM 0, implicit %2 119 %0:vgpr(s32) = COPY $vgpr0 120 %1:vgpr(s32) = COPY $vgpr1 121 %2:vcc(s1) = G_FCMP floatpred(olt), %0, %1 122 S_ENDPGM 0, implicit %2 123... 124 125--- 126name: fcmp_ole_s32_vv 127legalized: true 128regBankSelected: true 129 130body: | 131 bb.0: 132 liveins: $vgpr0, $vgpr1 133 ; WAVE64-LABEL: name: fcmp_ole_s32_vv 134 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 135 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 136 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_LE_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 137 ; WAVE64: S_ENDPGM 0, implicit %2 138 ; WAVE32-LABEL: name: fcmp_ole_s32_vv 139 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 140 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 141 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_LE_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 142 ; WAVE32: S_ENDPGM 0, implicit %2 143 %0:vgpr(s32) = COPY $vgpr0 144 %1:vgpr(s32) = COPY $vgpr1 145 %2:vcc(s1) = G_FCMP floatpred(ole), %0, %1 146 S_ENDPGM 0, implicit %2 147... 148 149--- 150name: fcmp_one_s32_vv 151legalized: true 152regBankSelected: true 153 154body: | 155 bb.0: 156 liveins: $vgpr0, $vgpr1 157 ; WAVE64-LABEL: name: fcmp_one_s32_vv 158 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 159 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 160 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_LG_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 161 ; WAVE64: S_ENDPGM 0, implicit %2 162 ; WAVE32-LABEL: name: fcmp_one_s32_vv 163 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 164 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 165 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_LG_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 166 ; WAVE32: S_ENDPGM 0, implicit %2 167 %0:vgpr(s32) = COPY $vgpr0 168 %1:vgpr(s32) = COPY $vgpr1 169 %2:vcc(s1) = G_FCMP floatpred(one), %0, %1 170 S_ENDPGM 0, implicit %2 171... 172 173--- 174name: fcmp_ord_s32_vv 175legalized: true 176regBankSelected: true 177 178body: | 179 bb.0: 180 liveins: $vgpr0, $vgpr1 181 ; WAVE64-LABEL: name: fcmp_ord_s32_vv 182 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 183 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 184 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_O_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 185 ; WAVE64: S_ENDPGM 0, implicit %2 186 ; WAVE32-LABEL: name: fcmp_ord_s32_vv 187 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 188 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 189 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_O_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 190 ; WAVE32: S_ENDPGM 0, implicit %2 191 %0:vgpr(s32) = COPY $vgpr0 192 %1:vgpr(s32) = COPY $vgpr1 193 %2:vcc(s1) = G_FCMP floatpred(ord), %0, %1 194 S_ENDPGM 0, implicit %2 195... 196 197--- 198name: fcmp_uno_s32_vv 199legalized: true 200regBankSelected: true 201 202body: | 203 bb.0: 204 liveins: $vgpr0, $vgpr1 205 ; WAVE64-LABEL: name: fcmp_uno_s32_vv 206 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 207 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 208 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_U_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 209 ; WAVE64: S_ENDPGM 0, implicit %2 210 ; WAVE32-LABEL: name: fcmp_uno_s32_vv 211 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 212 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 213 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_U_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 214 ; WAVE32: S_ENDPGM 0, implicit %2 215 %0:vgpr(s32) = COPY $vgpr0 216 %1:vgpr(s32) = COPY $vgpr1 217 %2:vcc(s1) = G_FCMP floatpred(uno), %0, %1 218 S_ENDPGM 0, implicit %2 219... 220 221--- 222name: fcmp_ueq_s32_vv 223legalized: true 224regBankSelected: true 225 226body: | 227 bb.0: 228 liveins: $vgpr0, $vgpr1 229 ; WAVE64-LABEL: name: fcmp_ueq_s32_vv 230 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 231 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 232 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NLG_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 233 ; WAVE64: S_ENDPGM 0, implicit %2 234 ; WAVE32-LABEL: name: fcmp_ueq_s32_vv 235 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 236 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 237 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NLG_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 238 ; WAVE32: S_ENDPGM 0, implicit %2 239 %0:vgpr(s32) = COPY $vgpr0 240 %1:vgpr(s32) = COPY $vgpr1 241 %2:vcc(s1) = G_FCMP floatpred(ueq), %0, %1 242 S_ENDPGM 0, implicit %2 243... 244 245--- 246name: fcmp_ugt_s32_vv 247legalized: true 248regBankSelected: true 249 250body: | 251 bb.0: 252 liveins: $vgpr0, $vgpr1 253 ; WAVE64-LABEL: name: fcmp_ugt_s32_vv 254 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 255 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 256 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NLE_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 257 ; WAVE64: S_ENDPGM 0, implicit %2 258 ; WAVE32-LABEL: name: fcmp_ugt_s32_vv 259 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 260 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 261 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NLE_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 262 ; WAVE32: S_ENDPGM 0, implicit %2 263 %0:vgpr(s32) = COPY $vgpr0 264 %1:vgpr(s32) = COPY $vgpr1 265 %2:vcc(s1) = G_FCMP floatpred(ugt), %0, %1 266 S_ENDPGM 0, implicit %2 267... 268 269--- 270name: fcmp_uge_s32_vv 271legalized: true 272regBankSelected: true 273 274body: | 275 bb.0: 276 liveins: $vgpr0, $vgpr1 277 ; WAVE64-LABEL: name: fcmp_uge_s32_vv 278 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 279 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 280 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NLT_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 281 ; WAVE64: S_ENDPGM 0, implicit %2 282 ; WAVE32-LABEL: name: fcmp_uge_s32_vv 283 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 284 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 285 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NLT_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 286 ; WAVE32: S_ENDPGM 0, implicit %2 287 %0:vgpr(s32) = COPY $vgpr0 288 %1:vgpr(s32) = COPY $vgpr1 289 %2:vcc(s1) = G_FCMP floatpred(uge), %0, %1 290 S_ENDPGM 0, implicit %2 291... 292 293--- 294name: fcmp_ult_s32_vv 295legalized: true 296regBankSelected: true 297 298body: | 299 bb.0: 300 liveins: $vgpr0, $vgpr1 301 ; WAVE64-LABEL: name: fcmp_ult_s32_vv 302 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 303 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 304 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NGE_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 305 ; WAVE64: S_ENDPGM 0, implicit %2 306 ; WAVE32-LABEL: name: fcmp_ult_s32_vv 307 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 308 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 309 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NGE_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 310 ; WAVE32: S_ENDPGM 0, implicit %2 311 %0:vgpr(s32) = COPY $vgpr0 312 %1:vgpr(s32) = COPY $vgpr1 313 %2:vcc(s1) = G_FCMP floatpred(ult), %0, %1 314 S_ENDPGM 0, implicit %2 315... 316 317--- 318name: fcmp_ule_s32_vv 319legalized: true 320regBankSelected: true 321 322body: | 323 bb.0: 324 liveins: $vgpr0, $vgpr1 325 ; WAVE64-LABEL: name: fcmp_ule_s32_vv 326 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 327 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 328 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NGT_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 329 ; WAVE64: S_ENDPGM 0, implicit %2 330 ; WAVE32-LABEL: name: fcmp_ule_s32_vv 331 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 332 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 333 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NGT_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 334 ; WAVE32: S_ENDPGM 0, implicit %2 335 %0:vgpr(s32) = COPY $vgpr0 336 %1:vgpr(s32) = COPY $vgpr1 337 %2:vcc(s1) = G_FCMP floatpred(ule), %0, %1 338 S_ENDPGM 0, implicit %2 339... 340 341--- 342name: fcmp_une_s32_vv 343legalized: true 344regBankSelected: true 345 346body: | 347 bb.0: 348 liveins: $vgpr0, $vgpr1 349 ; WAVE64-LABEL: name: fcmp_une_s32_vv 350 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 351 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 352 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NEQ_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 353 ; WAVE64: S_ENDPGM 0, implicit %2 354 ; WAVE32-LABEL: name: fcmp_une_s32_vv 355 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 356 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 357 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NEQ_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 358 ; WAVE32: S_ENDPGM 0, implicit %2 359 %0:vgpr(s32) = COPY $vgpr0 360 %1:vgpr(s32) = COPY $vgpr1 361 %2:vcc(s1) = G_FCMP floatpred(une), %0, %1 362 S_ENDPGM 0, implicit %2 363... 364 365--- 366name: fcmp_true_s32_vv 367legalized: true 368regBankSelected: true 369 370body: | 371 bb.0: 372 liveins: $vgpr0, $vgpr1 373 ; WAVE64-LABEL: name: fcmp_true_s32_vv 374 ; WAVE64: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0 375 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1 376 ; WAVE64: [[FCMP:%[0-9]+]]:vcc(s1) = G_FCMP floatpred(true), [[COPY]](s32), [[COPY1]] 377 ; WAVE64: S_ENDPGM 0, implicit [[FCMP]](s1) 378 ; WAVE32-LABEL: name: fcmp_true_s32_vv 379 ; WAVE32: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0 380 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1 381 ; WAVE32: [[FCMP:%[0-9]+]]:vcc(s1) = G_FCMP floatpred(true), [[COPY]](s32), [[COPY1]] 382 ; WAVE32: S_ENDPGM 0, implicit [[FCMP]](s1) 383 %0:vgpr(s32) = COPY $vgpr0 384 %1:vgpr(s32) = COPY $vgpr1 385 %2:vcc(s1) = G_FCMP floatpred(true), %0, %1 386 S_ENDPGM 0, implicit %2 387... 388 389--- 390name: fcmp_false_s64_vv 391legalized: true 392regBankSelected: true 393 394body: | 395 bb.0: 396 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 397 ; WAVE64-LABEL: name: fcmp_false_s64_vv 398 ; WAVE64: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1 399 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY $vgpr2_vgpr3 400 ; WAVE64: [[FCMP:%[0-9]+]]:vcc(s1) = G_FCMP floatpred(false), [[COPY]](s64), [[COPY1]] 401 ; WAVE64: S_ENDPGM 0, implicit [[FCMP]](s1) 402 ; WAVE32-LABEL: name: fcmp_false_s64_vv 403 ; WAVE32: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1 404 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY $vgpr2_vgpr3 405 ; WAVE32: [[FCMP:%[0-9]+]]:vcc(s1) = G_FCMP floatpred(false), [[COPY]](s64), [[COPY1]] 406 ; WAVE32: S_ENDPGM 0, implicit [[FCMP]](s1) 407 %0:vgpr(s64) = COPY $vgpr0_vgpr1 408 %1:vgpr(s64) = COPY $vgpr2_vgpr3 409 %2:vcc(s1) = G_FCMP floatpred(false), %0, %1 410 S_ENDPGM 0, implicit %2 411... 412 413--- 414name: fcmp_oeq_s64_vv 415legalized: true 416regBankSelected: true 417 418body: | 419 bb.0: 420 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 421 ; WAVE64-LABEL: name: fcmp_oeq_s64_vv 422 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 423 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 424 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_EQ_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 425 ; WAVE64: S_ENDPGM 0, implicit %2 426 ; WAVE32-LABEL: name: fcmp_oeq_s64_vv 427 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 428 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 429 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_EQ_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 430 ; WAVE32: S_ENDPGM 0, implicit %2 431 %0:vgpr(s64) = COPY $vgpr0_vgpr1 432 %1:vgpr(s64) = COPY $vgpr2_vgpr3 433 %2:vcc(s1) = G_FCMP floatpred(oeq), %0, %1 434 S_ENDPGM 0, implicit %2 435... 436 437--- 438name: fcmp_ogt_s64_vv 439legalized: true 440regBankSelected: true 441 442body: | 443 bb.0: 444 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 445 ; WAVE64-LABEL: name: fcmp_ogt_s64_vv 446 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 447 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 448 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_GT_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 449 ; WAVE64: S_ENDPGM 0, implicit %2 450 ; WAVE32-LABEL: name: fcmp_ogt_s64_vv 451 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 452 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 453 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_GT_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 454 ; WAVE32: S_ENDPGM 0, implicit %2 455 %0:vgpr(s64) = COPY $vgpr0_vgpr1 456 %1:vgpr(s64) = COPY $vgpr2_vgpr3 457 %2:vcc(s1) = G_FCMP floatpred(ogt), %0, %1 458 S_ENDPGM 0, implicit %2 459... 460 461--- 462name: fcmp_oge_s64_vv 463legalized: true 464regBankSelected: true 465 466body: | 467 bb.0: 468 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 469 ; WAVE64-LABEL: name: fcmp_oge_s64_vv 470 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 471 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 472 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_GE_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 473 ; WAVE64: S_ENDPGM 0, implicit %2 474 ; WAVE32-LABEL: name: fcmp_oge_s64_vv 475 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 476 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 477 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_GE_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 478 ; WAVE32: S_ENDPGM 0, implicit %2 479 %0:vgpr(s64) = COPY $vgpr0_vgpr1 480 %1:vgpr(s64) = COPY $vgpr2_vgpr3 481 %2:vcc(s1) = G_FCMP floatpred(oge), %0, %1 482 S_ENDPGM 0, implicit %2 483... 484 485--- 486name: fcmp_olt_s64_vv 487legalized: true 488regBankSelected: true 489 490body: | 491 bb.0: 492 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 493 ; WAVE64-LABEL: name: fcmp_olt_s64_vv 494 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 495 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 496 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_LT_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 497 ; WAVE64: S_ENDPGM 0, implicit %2 498 ; WAVE32-LABEL: name: fcmp_olt_s64_vv 499 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 500 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 501 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_LT_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 502 ; WAVE32: S_ENDPGM 0, implicit %2 503 %0:vgpr(s64) = COPY $vgpr0_vgpr1 504 %1:vgpr(s64) = COPY $vgpr2_vgpr3 505 %2:vcc(s1) = G_FCMP floatpred(olt), %0, %1 506 S_ENDPGM 0, implicit %2 507... 508 509--- 510name: fcmp_ole_s64_vv 511legalized: true 512regBankSelected: true 513 514body: | 515 bb.0: 516 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 517 ; WAVE64-LABEL: name: fcmp_ole_s64_vv 518 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 519 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 520 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_LE_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 521 ; WAVE64: S_ENDPGM 0, implicit %2 522 ; WAVE32-LABEL: name: fcmp_ole_s64_vv 523 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 524 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 525 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_LE_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 526 ; WAVE32: S_ENDPGM 0, implicit %2 527 %0:vgpr(s64) = COPY $vgpr0_vgpr1 528 %1:vgpr(s64) = COPY $vgpr2_vgpr3 529 %2:vcc(s1) = G_FCMP floatpred(ole), %0, %1 530 S_ENDPGM 0, implicit %2 531... 532 533--- 534name: fcmp_one_s64_vv 535legalized: true 536regBankSelected: true 537 538body: | 539 bb.0: 540 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 541 ; WAVE64-LABEL: name: fcmp_one_s64_vv 542 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 543 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 544 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_LG_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 545 ; WAVE64: S_ENDPGM 0, implicit %2 546 ; WAVE32-LABEL: name: fcmp_one_s64_vv 547 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 548 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 549 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_LG_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 550 ; WAVE32: S_ENDPGM 0, implicit %2 551 %0:vgpr(s64) = COPY $vgpr0_vgpr1 552 %1:vgpr(s64) = COPY $vgpr2_vgpr3 553 %2:vcc(s1) = G_FCMP floatpred(one), %0, %1 554 S_ENDPGM 0, implicit %2 555... 556 557--- 558name: fcmp_ord_s64_vv 559legalized: true 560regBankSelected: true 561 562body: | 563 bb.0: 564 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 565 ; WAVE64-LABEL: name: fcmp_ord_s64_vv 566 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 567 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 568 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_O_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 569 ; WAVE64: S_ENDPGM 0, implicit %2 570 ; WAVE32-LABEL: name: fcmp_ord_s64_vv 571 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 572 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 573 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_O_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 574 ; WAVE32: S_ENDPGM 0, implicit %2 575 %0:vgpr(s64) = COPY $vgpr0_vgpr1 576 %1:vgpr(s64) = COPY $vgpr2_vgpr3 577 %2:vcc(s1) = G_FCMP floatpred(ord), %0, %1 578 S_ENDPGM 0, implicit %2 579... 580 581--- 582name: fcmp_uno_s64_vv 583legalized: true 584regBankSelected: true 585 586body: | 587 bb.0: 588 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 589 ; WAVE64-LABEL: name: fcmp_uno_s64_vv 590 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 591 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 592 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_U_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 593 ; WAVE64: S_ENDPGM 0, implicit %2 594 ; WAVE32-LABEL: name: fcmp_uno_s64_vv 595 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 596 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 597 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_U_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 598 ; WAVE32: S_ENDPGM 0, implicit %2 599 %0:vgpr(s64) = COPY $vgpr0_vgpr1 600 %1:vgpr(s64) = COPY $vgpr2_vgpr3 601 %2:vcc(s1) = G_FCMP floatpred(uno), %0, %1 602 S_ENDPGM 0, implicit %2 603... 604 605--- 606name: fcmp_ueq_s64_vv 607legalized: true 608regBankSelected: true 609 610body: | 611 bb.0: 612 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 613 ; WAVE64-LABEL: name: fcmp_ueq_s64_vv 614 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 615 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 616 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NLG_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 617 ; WAVE64: S_ENDPGM 0, implicit %2 618 ; WAVE32-LABEL: name: fcmp_ueq_s64_vv 619 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 620 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 621 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NLG_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 622 ; WAVE32: S_ENDPGM 0, implicit %2 623 %0:vgpr(s64) = COPY $vgpr0_vgpr1 624 %1:vgpr(s64) = COPY $vgpr2_vgpr3 625 %2:vcc(s1) = G_FCMP floatpred(ueq), %0, %1 626 S_ENDPGM 0, implicit %2 627... 628 629--- 630name: fcmp_ugt_s64_vv 631legalized: true 632regBankSelected: true 633 634body: | 635 bb.0: 636 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 637 ; WAVE64-LABEL: name: fcmp_ugt_s64_vv 638 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 639 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 640 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NLE_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 641 ; WAVE64: S_ENDPGM 0, implicit %2 642 ; WAVE32-LABEL: name: fcmp_ugt_s64_vv 643 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 644 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 645 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NLE_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 646 ; WAVE32: S_ENDPGM 0, implicit %2 647 %0:vgpr(s64) = COPY $vgpr0_vgpr1 648 %1:vgpr(s64) = COPY $vgpr2_vgpr3 649 %2:vcc(s1) = G_FCMP floatpred(ugt), %0, %1 650 S_ENDPGM 0, implicit %2 651... 652 653--- 654name: fcmp_uge_s64_vv 655legalized: true 656regBankSelected: true 657 658body: | 659 bb.0: 660 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 661 ; WAVE64-LABEL: name: fcmp_uge_s64_vv 662 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 663 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 664 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NLT_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 665 ; WAVE64: S_ENDPGM 0, implicit %2 666 ; WAVE32-LABEL: name: fcmp_uge_s64_vv 667 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 668 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 669 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NLT_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 670 ; WAVE32: S_ENDPGM 0, implicit %2 671 %0:vgpr(s64) = COPY $vgpr0_vgpr1 672 %1:vgpr(s64) = COPY $vgpr2_vgpr3 673 %2:vcc(s1) = G_FCMP floatpred(uge), %0, %1 674 S_ENDPGM 0, implicit %2 675... 676 677--- 678name: fcmp_ult_s64_vv 679legalized: true 680regBankSelected: true 681 682body: | 683 bb.0: 684 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 685 ; WAVE64-LABEL: name: fcmp_ult_s64_vv 686 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 687 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 688 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NGE_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 689 ; WAVE64: S_ENDPGM 0, implicit %2 690 ; WAVE32-LABEL: name: fcmp_ult_s64_vv 691 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 692 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 693 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NGE_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 694 ; WAVE32: S_ENDPGM 0, implicit %2 695 %0:vgpr(s64) = COPY $vgpr0_vgpr1 696 %1:vgpr(s64) = COPY $vgpr2_vgpr3 697 %2:vcc(s1) = G_FCMP floatpred(ult), %0, %1 698 S_ENDPGM 0, implicit %2 699... 700 701--- 702name: fcmp_ule_s64_vv 703legalized: true 704regBankSelected: true 705 706body: | 707 bb.0: 708 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 709 ; WAVE64-LABEL: name: fcmp_ule_s64_vv 710 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 711 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 712 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NGT_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 713 ; WAVE64: S_ENDPGM 0, implicit %2 714 ; WAVE32-LABEL: name: fcmp_ule_s64_vv 715 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 716 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 717 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NGT_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 718 ; WAVE32: S_ENDPGM 0, implicit %2 719 %0:vgpr(s64) = COPY $vgpr0_vgpr1 720 %1:vgpr(s64) = COPY $vgpr2_vgpr3 721 %2:vcc(s1) = G_FCMP floatpred(ule), %0, %1 722 S_ENDPGM 0, implicit %2 723... 724 725--- 726name: fcmp_une_s64_vv 727legalized: true 728regBankSelected: true 729 730body: | 731 bb.0: 732 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 733 ; WAVE64-LABEL: name: fcmp_une_s64_vv 734 ; WAVE64: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 735 ; WAVE64: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 736 ; WAVE64: %2:sreg_64 = nofpexcept V_CMP_NEQ_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 737 ; WAVE64: S_ENDPGM 0, implicit %2 738 ; WAVE32-LABEL: name: fcmp_une_s64_vv 739 ; WAVE32: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 740 ; WAVE32: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr2_vgpr3 741 ; WAVE32: %2:sreg_32 = nofpexcept V_CMP_NEQ_F64_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 742 ; WAVE32: S_ENDPGM 0, implicit %2 743 %0:vgpr(s64) = COPY $vgpr0_vgpr1 744 %1:vgpr(s64) = COPY $vgpr2_vgpr3 745 %2:vcc(s1) = G_FCMP floatpred(une), %0, %1 746 S_ENDPGM 0, implicit %2 747... 748 749--- 750name: fcmp_true_s64_vv 751legalized: true 752regBankSelected: true 753 754body: | 755 bb.0: 756 liveins: $vgpr0_vgpr1, $vgpr2_vgpr3 757 ; WAVE64-LABEL: name: fcmp_true_s64_vv 758 ; WAVE64: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1 759 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY $vgpr2_vgpr3 760 ; WAVE64: [[FCMP:%[0-9]+]]:vcc(s1) = G_FCMP floatpred(true), [[COPY]](s64), [[COPY1]] 761 ; WAVE64: S_ENDPGM 0, implicit [[FCMP]](s1) 762 ; WAVE32-LABEL: name: fcmp_true_s64_vv 763 ; WAVE32: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1 764 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr(s64) = COPY $vgpr2_vgpr3 765 ; WAVE32: [[FCMP:%[0-9]+]]:vcc(s1) = G_FCMP floatpred(true), [[COPY]](s64), [[COPY1]] 766 ; WAVE32: S_ENDPGM 0, implicit [[FCMP]](s1) 767 %0:vgpr(s64) = COPY $vgpr0_vgpr1 768 %1:vgpr(s64) = COPY $vgpr2_vgpr3 769 %2:vcc(s1) = G_FCMP floatpred(true), %0, %1 770 S_ENDPGM 0, implicit %2 771... 772 773--- 774name: fcmp_oeq_s32_vv_select_user 775legalized: true 776regBankSelected: true 777 778body: | 779 bb.0: 780 liveins: $vgpr0, $vgpr1 781 ; WAVE64-LABEL: name: fcmp_oeq_s32_vv_select_user 782 ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 783 ; WAVE64: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 784 ; WAVE64: %2:sreg_64_xexec = nofpexcept V_CMP_EQ_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 785 ; WAVE64: [[V_CNDMASK_B32_e64_:%[0-9]+]]:vgpr_32 = V_CNDMASK_B32_e64 0, [[COPY1]], 0, [[COPY]], %2, implicit $exec 786 ; WAVE64: S_ENDPGM 0, implicit [[V_CNDMASK_B32_e64_]] 787 ; WAVE32-LABEL: name: fcmp_oeq_s32_vv_select_user 788 ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 789 ; WAVE32: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1 790 ; WAVE32: %2:sreg_32_xm0_xexec = nofpexcept V_CMP_EQ_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, implicit $mode, implicit $exec 791 ; WAVE32: [[V_CNDMASK_B32_e64_:%[0-9]+]]:vgpr_32 = V_CNDMASK_B32_e64 0, [[COPY1]], 0, [[COPY]], %2, implicit $exec 792 ; WAVE32: S_ENDPGM 0, implicit [[V_CNDMASK_B32_e64_]] 793 %0:vgpr(s32) = COPY $vgpr0 794 %1:vgpr(s32) = COPY $vgpr1 795 %2:vcc(s1) = G_FCMP floatpred(oeq), %0, %1 796 %3:vgpr(s32) = G_SELECT %2, %0, %1 797 S_ENDPGM 0, implicit %3 798... 799