brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.6 KiB · 6fdfd65 Raw
356 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -mattr=+zfh -run-pass=instruction-select \3# RUN:   -simplify-mir -verify-machineinstrs %s -o - | FileCheck %s4 5---6name:            fcmp_oeq_f167legalized:       true8regBankSelected: true9tracksRegLiveness: true10body:             |11  bb.1:12    liveins: $f10_h, $f11_h13 14    ; CHECK-LABEL: name: fcmp_oeq_f1615    ; CHECK: liveins: $f10_h, $f11_h16    ; CHECK-NEXT: {{  $}}17    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h18    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h19    ; CHECK-NEXT: [[FEQ_H:%[0-9]+]]:gpr = nofpexcept FEQ_H [[COPY]], [[COPY1]]20    ; CHECK-NEXT: $x10 = COPY [[FEQ_H]]21    ; CHECK-NEXT: PseudoRET implicit $x1022    %0:fprb(s16) = COPY $f10_h23    %1:fprb(s16) = COPY $f11_h24    %4:gprb(s32) = G_FCMP floatpred(oeq), %0(s16), %125    $x10 = COPY %4(s32)26    PseudoRET implicit $x1027 28...29---30name:            fcmp_ogt_f1631legalized:       true32regBankSelected: true33tracksRegLiveness: true34body:             |35  bb.1:36    liveins: $f10_h, $f11_h37 38    ; CHECK-LABEL: name: fcmp_ogt_f1639    ; CHECK: liveins: $f10_h, $f11_h40    ; CHECK-NEXT: {{  $}}41    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h42    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h43    ; CHECK-NEXT: [[FLT_H:%[0-9]+]]:gpr = FLT_H [[COPY1]], [[COPY]]44    ; CHECK-NEXT: $x10 = COPY [[FLT_H]]45    ; CHECK-NEXT: PseudoRET implicit $x1046    %0:fprb(s16) = COPY $f10_h47    %1:fprb(s16) = COPY $f11_h48    %4:gprb(s32) = G_FCMP floatpred(ogt), %0(s16), %149    $x10 = COPY %4(s32)50    PseudoRET implicit $x1051 52...53---54name:            fcmp_oge_f1655legalized:       true56regBankSelected: true57tracksRegLiveness: true58body:             |59  bb.1:60    liveins: $f10_h, $f11_h61 62    ; CHECK-LABEL: name: fcmp_oge_f1663    ; CHECK: liveins: $f10_h, $f11_h64    ; CHECK-NEXT: {{  $}}65    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h66    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h67    ; CHECK-NEXT: [[FLE_H:%[0-9]+]]:gpr = FLE_H [[COPY1]], [[COPY]]68    ; CHECK-NEXT: $x10 = COPY [[FLE_H]]69    ; CHECK-NEXT: PseudoRET implicit $x1070    %0:fprb(s16) = COPY $f10_h71    %1:fprb(s16) = COPY $f11_h72    %4:gprb(s32) = G_FCMP floatpred(oge), %0(s16), %173    $x10 = COPY %4(s32)74    PseudoRET implicit $x1075 76...77---78name:            fcmp_olt_f1679legalized:       true80regBankSelected: true81tracksRegLiveness: true82body:             |83  bb.1:84    liveins: $f10_h, $f11_h85 86    ; CHECK-LABEL: name: fcmp_olt_f1687    ; CHECK: liveins: $f10_h, $f11_h88    ; CHECK-NEXT: {{  $}}89    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h90    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h91    ; CHECK-NEXT: [[FLT_H:%[0-9]+]]:gpr = nofpexcept FLT_H [[COPY]], [[COPY1]]92    ; CHECK-NEXT: $x10 = COPY [[FLT_H]]93    ; CHECK-NEXT: PseudoRET implicit $x1094    %0:fprb(s16) = COPY $f10_h95    %1:fprb(s16) = COPY $f11_h96    %4:gprb(s32) = G_FCMP floatpred(olt), %0(s16), %197    $x10 = COPY %4(s32)98    PseudoRET implicit $x1099 100...101---102name:            fcmp_ole_f16103legalized:       true104regBankSelected: true105tracksRegLiveness: true106body:             |107  bb.1:108    liveins: $f10_h, $f11_h109 110    ; CHECK-LABEL: name: fcmp_ole_f16111    ; CHECK: liveins: $f10_h, $f11_h112    ; CHECK-NEXT: {{  $}}113    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h114    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h115    ; CHECK-NEXT: [[FLE_H:%[0-9]+]]:gpr = nofpexcept FLE_H [[COPY]], [[COPY1]]116    ; CHECK-NEXT: $x10 = COPY [[FLE_H]]117    ; CHECK-NEXT: PseudoRET implicit $x10118    %0:fprb(s16) = COPY $f10_h119    %1:fprb(s16) = COPY $f11_h120    %4:gprb(s32) = G_FCMP floatpred(ole), %0(s16), %1121    $x10 = COPY %4(s32)122    PseudoRET implicit $x10123 124...125---126name:            fcmp_one_f16127legalized:       true128regBankSelected: true129tracksRegLiveness: true130body:             |131  bb.1:132    liveins: $f10_h, $f11_h133 134    ; CHECK-LABEL: name: fcmp_one_f16135    ; CHECK: liveins: $f10_h, $f11_h136    ; CHECK-NEXT: {{  $}}137    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h138    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h139    ; CHECK-NEXT: [[FLT_H:%[0-9]+]]:gpr = FLT_H [[COPY]], [[COPY1]]140    ; CHECK-NEXT: [[FLT_H1:%[0-9]+]]:gpr = FLT_H [[COPY1]], [[COPY]]141    ; CHECK-NEXT: [[OR:%[0-9]+]]:gpr = OR [[FLT_H]], [[FLT_H1]]142    ; CHECK-NEXT: $x10 = COPY [[OR]]143    ; CHECK-NEXT: PseudoRET implicit $x10144    %0:fprb(s16) = COPY $f10_h145    %1:fprb(s16) = COPY $f11_h146    %4:gprb(s32) = G_FCMP floatpred(one), %0(s16), %1147    $x10 = COPY %4(s32)148    PseudoRET implicit $x10149 150...151---152name:            fcmp_ord_f16153legalized:       true154regBankSelected: true155tracksRegLiveness: true156body:             |157  bb.1:158    liveins: $f10_h, $f11_h159 160    ; CHECK-LABEL: name: fcmp_ord_f16161    ; CHECK: liveins: $f10_h, $f11_h162    ; CHECK-NEXT: {{  $}}163    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h164    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h165    ; CHECK-NEXT: [[FEQ_H:%[0-9]+]]:gpr = FEQ_H [[COPY]], [[COPY]]166    ; CHECK-NEXT: [[FEQ_H1:%[0-9]+]]:gpr = FEQ_H [[COPY1]], [[COPY1]]167    ; CHECK-NEXT: [[AND:%[0-9]+]]:gpr = AND [[FEQ_H]], [[FEQ_H1]]168    ; CHECK-NEXT: $x10 = COPY [[AND]]169    ; CHECK-NEXT: PseudoRET implicit $x10170    %0:fprb(s16) = COPY $f10_h171    %1:fprb(s16) = COPY $f11_h172    %4:gprb(s32) = G_FCMP floatpred(ord), %0(s16), %1173    $x10 = COPY %4(s32)174    PseudoRET implicit $x10175 176...177---178name:            fcmp_ueq_f16179legalized:       true180regBankSelected: true181tracksRegLiveness: true182body:             |183  bb.1:184    liveins: $f10_h, $f11_h185 186    ; CHECK-LABEL: name: fcmp_ueq_f16187    ; CHECK: liveins: $f10_h, $f11_h188    ; CHECK-NEXT: {{  $}}189    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h190    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h191    ; CHECK-NEXT: [[FLT_H:%[0-9]+]]:gpr = FLT_H [[COPY]], [[COPY1]]192    ; CHECK-NEXT: [[FLT_H1:%[0-9]+]]:gpr = FLT_H [[COPY1]], [[COPY]]193    ; CHECK-NEXT: [[OR:%[0-9]+]]:gpr = OR [[FLT_H]], [[FLT_H1]]194    ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[OR]], 1195    ; CHECK-NEXT: $x10 = COPY [[XORI]]196    ; CHECK-NEXT: PseudoRET implicit $x10197    %0:fprb(s16) = COPY $f10_h198    %1:fprb(s16) = COPY $f11_h199    %4:gprb(s32) = G_FCMP floatpred(ueq), %0(s16), %1200    $x10 = COPY %4(s32)201    PseudoRET implicit $x10202 203...204---205name:            fcmp_ugt_f16206legalized:       true207regBankSelected: true208tracksRegLiveness: true209body:             |210  bb.1:211    liveins: $f10_h, $f11_h212 213    ; CHECK-LABEL: name: fcmp_ugt_f16214    ; CHECK: liveins: $f10_h, $f11_h215    ; CHECK-NEXT: {{  $}}216    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h217    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h218    ; CHECK-NEXT: [[FLE_H:%[0-9]+]]:gpr = FLE_H [[COPY]], [[COPY1]]219    ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLE_H]], 1220    ; CHECK-NEXT: $x10 = COPY [[XORI]]221    ; CHECK-NEXT: PseudoRET implicit $x10222    %0:fprb(s16) = COPY $f10_h223    %1:fprb(s16) = COPY $f11_h224    %4:gprb(s32) = G_FCMP floatpred(ugt), %0(s16), %1225    $x10 = COPY %4(s32)226    PseudoRET implicit $x10227 228...229---230name:            fcmp_uge_f16231legalized:       true232regBankSelected: true233tracksRegLiveness: true234body:             |235  bb.1:236    liveins: $f10_h, $f11_h237 238    ; CHECK-LABEL: name: fcmp_uge_f16239    ; CHECK: liveins: $f10_h, $f11_h240    ; CHECK-NEXT: {{  $}}241    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h242    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h243    ; CHECK-NEXT: [[FLT_H:%[0-9]+]]:gpr = FLT_H [[COPY]], [[COPY1]]244    ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLT_H]], 1245    ; CHECK-NEXT: $x10 = COPY [[XORI]]246    ; CHECK-NEXT: PseudoRET implicit $x10247    %0:fprb(s16) = COPY $f10_h248    %1:fprb(s16) = COPY $f11_h249    %4:gprb(s32) = G_FCMP floatpred(uge), %0(s16), %1250    $x10 = COPY %4(s32)251    PseudoRET implicit $x10252 253...254---255name:            fcmp_ult_f16256legalized:       true257regBankSelected: true258tracksRegLiveness: true259body:             |260  bb.1:261    liveins: $f10_h, $f11_h262 263    ; CHECK-LABEL: name: fcmp_ult_f16264    ; CHECK: liveins: $f10_h, $f11_h265    ; CHECK-NEXT: {{  $}}266    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h267    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h268    ; CHECK-NEXT: [[FLE_H:%[0-9]+]]:gpr = FLE_H [[COPY1]], [[COPY]]269    ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLE_H]], 1270    ; CHECK-NEXT: $x10 = COPY [[XORI]]271    ; CHECK-NEXT: PseudoRET implicit $x10272    %0:fprb(s16) = COPY $f10_h273    %1:fprb(s16) = COPY $f11_h274    %4:gprb(s32) = G_FCMP floatpred(ult), %0(s16), %1275    $x10 = COPY %4(s32)276    PseudoRET implicit $x10277 278...279---280name:            fcmp_ule_f16281legalized:       true282regBankSelected: true283tracksRegLiveness: true284body:             |285  bb.1:286    liveins: $f10_h, $f11_h287 288    ; CHECK-LABEL: name: fcmp_ule_f16289    ; CHECK: liveins: $f10_h, $f11_h290    ; CHECK-NEXT: {{  $}}291    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h292    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h293    ; CHECK-NEXT: [[FLT_H:%[0-9]+]]:gpr = FLT_H [[COPY1]], [[COPY]]294    ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLT_H]], 1295    ; CHECK-NEXT: $x10 = COPY [[XORI]]296    ; CHECK-NEXT: PseudoRET implicit $x10297    %0:fprb(s16) = COPY $f10_h298    %1:fprb(s16) = COPY $f11_h299    %4:gprb(s32) = G_FCMP floatpred(ule), %0(s16), %1300    $x10 = COPY %4(s32)301    PseudoRET implicit $x10302 303...304---305name:            fcmp_une_f16306legalized:       true307regBankSelected: true308tracksRegLiveness: true309body:             |310  bb.1:311    liveins: $f10_h, $f11_h312 313    ; CHECK-LABEL: name: fcmp_une_f16314    ; CHECK: liveins: $f10_h, $f11_h315    ; CHECK-NEXT: {{  $}}316    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h317    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h318    ; CHECK-NEXT: [[FEQ_H:%[0-9]+]]:gpr = FEQ_H [[COPY]], [[COPY1]]319    ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FEQ_H]], 1320    ; CHECK-NEXT: $x10 = COPY [[XORI]]321    ; CHECK-NEXT: PseudoRET implicit $x10322    %0:fprb(s16) = COPY $f10_h323    %1:fprb(s16) = COPY $f11_h324    %4:gprb(s32) = G_FCMP floatpred(une), %0(s16), %1325    $x10 = COPY %4(s32)326    PseudoRET implicit $x10327 328...329---330name:            fcmp_uno_f16331legalized:       true332regBankSelected: true333tracksRegLiveness: true334body:             |335  bb.1:336    liveins: $f10_h, $f11_h337 338    ; CHECK-LABEL: name: fcmp_uno_f16339    ; CHECK: liveins: $f10_h, $f11_h340    ; CHECK-NEXT: {{  $}}341    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h342    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f11_h343    ; CHECK-NEXT: [[FEQ_H:%[0-9]+]]:gpr = FEQ_H [[COPY]], [[COPY]]344    ; CHECK-NEXT: [[FEQ_H1:%[0-9]+]]:gpr = FEQ_H [[COPY1]], [[COPY1]]345    ; CHECK-NEXT: [[AND:%[0-9]+]]:gpr = AND [[FEQ_H]], [[FEQ_H1]]346    ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[AND]], 1347    ; CHECK-NEXT: $x10 = COPY [[XORI]]348    ; CHECK-NEXT: PseudoRET implicit $x10349    %0:fprb(s16) = COPY $f10_h350    %1:fprb(s16) = COPY $f11_h351    %4:gprb(s32) = G_FCMP floatpred(uno), %0(s16), %1352    $x10 = COPY %4(s32)353    PseudoRET implicit $x10354 355...356