brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.0 KiB · 1ef5c48 Raw
350 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -mattr=+zfh,+d -run-pass=regbankselect \3# RUN:   -simplify-mir -verify-machineinstrs %s \4# RUN:   -o - | FileCheck %s5# RUN: llc -mtriple=riscv64 -mattr=+zfh,+d -run-pass=regbankselect \6# RUN:   -simplify-mir -verify-machineinstrs %s \7# RUN:   -o - | FileCheck %s8 9---10name:            fadd_f1611legalized:       true12tracksRegLiveness: true13body:             |14  bb.0:15    liveins: $f10_h, $f11_h16 17    ; CHECK-LABEL: name: fadd_f1618    ; CHECK: liveins: $f10_h, $f11_h19    ; CHECK-NEXT: {{  $}}20    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h21    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f11_h22    ; CHECK-NEXT: [[FADD:%[0-9]+]]:fprb(s16) = G_FADD [[COPY]], [[COPY1]]23    ; CHECK-NEXT: $f10_h = COPY [[FADD]](s16)24    ; CHECK-NEXT: PseudoRET implicit $f10_h25    %0:_(s16) = COPY $f10_h26    %1:_(s16) = COPY $f11_h27    %2:_(s16) = G_FADD %0, %128    $f10_h = COPY %2(s16)29    PseudoRET implicit $f10_h30 31...32---33name:            fsub_f1634legalized:       true35tracksRegLiveness: true36body:             |37  bb.0:38    liveins: $f10_h, $f11_h39 40    ; CHECK-LABEL: name: fsub_f1641    ; CHECK: liveins: $f10_h, $f11_h42    ; CHECK-NEXT: {{  $}}43    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h44    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f11_h45    ; CHECK-NEXT: [[FSUB:%[0-9]+]]:fprb(s16) = G_FSUB [[COPY]], [[COPY1]]46    ; CHECK-NEXT: $f10_h = COPY [[FSUB]](s16)47    ; CHECK-NEXT: PseudoRET implicit $f10_h48    %0:_(s16) = COPY $f10_h49    %1:_(s16) = COPY $f11_h50    %2:_(s16) = G_FSUB %0, %151    $f10_h = COPY %2(s16)52    PseudoRET implicit $f10_h53 54...55---56name:            fmul_f1657legalized:       true58tracksRegLiveness: true59body:             |60  bb.0:61    liveins: $f10_h, $f11_h62 63    ; CHECK-LABEL: name: fmul_f1664    ; CHECK: liveins: $f10_h, $f11_h65    ; CHECK-NEXT: {{  $}}66    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h67    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f11_h68    ; CHECK-NEXT: [[FMUL:%[0-9]+]]:fprb(s16) = G_FMUL [[COPY]], [[COPY1]]69    ; CHECK-NEXT: $f10_h = COPY [[FMUL]](s16)70    ; CHECK-NEXT: PseudoRET implicit $f10_h71    %0:_(s16) = COPY $f10_h72    %1:_(s16) = COPY $f11_h73    %2:_(s16) = G_FMUL %0, %174    $f10_h = COPY %2(s16)75    PseudoRET implicit $f10_h76 77...78---79name:            fdiv_f1680legalized:       true81tracksRegLiveness: true82body:             |83  bb.0:84    liveins: $f10_h, $f11_h85 86    ; CHECK-LABEL: name: fdiv_f1687    ; CHECK: liveins: $f10_h, $f11_h88    ; CHECK-NEXT: {{  $}}89    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h90    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f11_h91    ; CHECK-NEXT: [[FDIV:%[0-9]+]]:fprb(s16) = G_FDIV [[COPY]], [[COPY1]]92    ; CHECK-NEXT: $f10_h = COPY [[FDIV]](s16)93    ; CHECK-NEXT: PseudoRET implicit $f10_h94    %0:_(s16) = COPY $f10_h95    %1:_(s16) = COPY $f11_h96    %2:_(s16) = G_FDIV %0, %197    $f10_h = COPY %2(s16)98    PseudoRET implicit $f10_h99 100...101---102name:            fma_f16103legalized:       true104tracksRegLiveness: true105body:             |106  bb.0:107    liveins: $f10_h, $f11_h, $f12_h108 109    ; CHECK-LABEL: name: fma_f16110    ; CHECK: liveins: $f10_h, $f11_h, $f12_h111    ; CHECK-NEXT: {{  $}}112    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h113    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f11_h114    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:fprb(s16) = COPY $f12_h115    ; CHECK-NEXT: [[FMA:%[0-9]+]]:fprb(s16) = G_FMA [[COPY]], [[COPY1]], [[COPY2]]116    ; CHECK-NEXT: $f10_h = COPY [[FMA]](s16)117    ; CHECK-NEXT: PseudoRET implicit $f10_h118    %0:_(s16) = COPY $f10_h119    %1:_(s16) = COPY $f11_h120    %2:_(s16) = COPY $f12_h121    %3:_(s16) = G_FMA %0, %1, %2122    $f10_h = COPY %3(s16)123    PseudoRET implicit $f10_h124 125...126---127name:            fneg_f16128legalized:       true129tracksRegLiveness: true130body:             |131  bb.0:132    liveins: $f10_h133 134    ; CHECK-LABEL: name: fneg_f16135    ; CHECK: liveins: $f10_h136    ; CHECK-NEXT: {{  $}}137    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h138    ; CHECK-NEXT: [[FNEG:%[0-9]+]]:fprb(s16) = G_FNEG [[COPY]]139    ; CHECK-NEXT: $f10_h = COPY [[FNEG]](s16)140    ; CHECK-NEXT: PseudoRET implicit $f10_h141    %0:_(s16) = COPY $f10_h142    %1:_(s16) = G_FNEG %0143    $f10_h = COPY %1(s16)144    PseudoRET implicit $f10_h145 146...147---148name:            fabs_f16149legalized:       true150tracksRegLiveness: true151body:             |152  bb.0:153    liveins: $f10_h154 155    ; CHECK-LABEL: name: fabs_f16156    ; CHECK: liveins: $f10_h157    ; CHECK-NEXT: {{  $}}158    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h159    ; CHECK-NEXT: [[FABS:%[0-9]+]]:fprb(s16) = G_FABS [[COPY]]160    ; CHECK-NEXT: $f10_h = COPY [[FABS]](s16)161    ; CHECK-NEXT: PseudoRET implicit $f10_h162    %0:_(s16) = COPY $f10_h163    %1:_(s16) = G_FABS %0164    $f10_h = COPY %1(s16)165    PseudoRET implicit $f10_h166 167...168---169name:            fsqrt_f16170legalized:       true171tracksRegLiveness: true172body:             |173  bb.0:174    liveins: $f10_h175 176    ; CHECK-LABEL: name: fsqrt_f16177    ; CHECK: liveins: $f10_h178    ; CHECK-NEXT: {{  $}}179    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h180    ; CHECK-NEXT: [[FSQRT:%[0-9]+]]:fprb(s16) = G_FSQRT [[COPY]]181    ; CHECK-NEXT: $f10_h = COPY [[FSQRT]](s16)182    ; CHECK-NEXT: PseudoRET implicit $f10_h183    %0:_(s16) = COPY $f10_h184    %1:_(s16) = G_FSQRT %0185    $f10_h = COPY %1(s16)186    PseudoRET implicit $f10_h187 188...189---190name:            fmaxnum_f16191legalized:       true192tracksRegLiveness: true193body:             |194  bb.0:195    liveins: $f10_h, $f11_h196 197    ; CHECK-LABEL: name: fmaxnum_f16198    ; CHECK: liveins: $f10_h, $f11_h199    ; CHECK-NEXT: {{  $}}200    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h201    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f11_h202    ; CHECK-NEXT: [[FMAXNUM:%[0-9]+]]:fprb(s16) = G_FMAXNUM [[COPY]], [[COPY1]]203    ; CHECK-NEXT: $f10_h = COPY [[FMAXNUM]](s16)204    ; CHECK-NEXT: PseudoRET implicit $f10_h205    %0:_(s16) = COPY $f10_h206    %1:_(s16) = COPY $f11_h207    %2:_(s16) = G_FMAXNUM %0, %1208    $f10_h = COPY %2(s16)209    PseudoRET implicit $f10_h210 211...212---213name:            fminnum_f16214legalized:       true215tracksRegLiveness: true216body:             |217  bb.0:218    liveins: $f10_h, $f11_h219 220    ; CHECK-LABEL: name: fminnum_f16221    ; CHECK: liveins: $f10_h, $f11_h222    ; CHECK-NEXT: {{  $}}223    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h224    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f11_h225    ; CHECK-NEXT: [[FMINNUM:%[0-9]+]]:fprb(s16) = G_FMINNUM [[COPY]], [[COPY1]]226    ; CHECK-NEXT: $f10_h = COPY [[FMINNUM]](s16)227    ; CHECK-NEXT: PseudoRET implicit $f10_h228    %0:_(s16) = COPY $f10_h229    %1:_(s16) = COPY $f11_h230    %2:_(s16) = G_FMINNUM %0, %1231    $f10_h = COPY %2(s16)232    PseudoRET implicit $f10_h233 234...235---236name:            fcopysign_f16_f16237legalized:       true238tracksRegLiveness: true239body:             |240  bb.0:241    liveins: $f10_h, $f11_h242 243    ; CHECK-LABEL: name: fcopysign_f16_f16244    ; CHECK: liveins: $f10_h, $f11_h245    ; CHECK-NEXT: {{  $}}246    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h247    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f11_h248    ; CHECK-NEXT: [[FCOPYSIGN:%[0-9]+]]:fprb(s16) = G_FCOPYSIGN [[COPY]], [[COPY1]](s16)249    ; CHECK-NEXT: $f10_h = COPY [[FCOPYSIGN]](s16)250    ; CHECK-NEXT: PseudoRET implicit $f10_h251    %0:_(s16) = COPY $f10_h252    %1:_(s16) = COPY $f11_h253    %2:_(s16) = G_FCOPYSIGN %0, %1254    $f10_h = COPY %2(s16)255    PseudoRET implicit $f10_h256 257...258---259name:            fcopysign_f16_f32260legalized:       true261tracksRegLiveness: true262body:             |263  bb.0:264    liveins: $f10_h, $f11_f265 266    ; CHECK-LABEL: name: fcopysign_f16_f32267    ; CHECK: liveins: $f10_h, $f11_f268    ; CHECK-NEXT: {{  $}}269    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h270    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s32) = COPY $f11_f271    ; CHECK-NEXT: [[FCOPYSIGN:%[0-9]+]]:fprb(s16) = G_FCOPYSIGN [[COPY]], [[COPY1]](s32)272    ; CHECK-NEXT: $f10_h = COPY [[FCOPYSIGN]](s16)273    ; CHECK-NEXT: PseudoRET implicit $f10_h274    %0:_(s16) = COPY $f10_h275    %1:_(s32) = COPY $f11_f276    %2:_(s16) = G_FCOPYSIGN %0, %1277    $f10_h = COPY %2(s16)278    PseudoRET implicit $f10_h279 280...281---282name:            fcopysign_f32_f16283legalized:       true284tracksRegLiveness: true285body:             |286  bb.0:287    liveins: $f10_f, $f11_h288 289    ; CHECK-LABEL: name: fcopysign_f32_f16290    ; CHECK: liveins: $f10_f, $f11_h291    ; CHECK-NEXT: {{  $}}292    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f10_f293    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f11_h294    ; CHECK-NEXT: [[FCOPYSIGN:%[0-9]+]]:fprb(s32) = G_FCOPYSIGN [[COPY]], [[COPY1]](s16)295    ; CHECK-NEXT: $f10_f = COPY [[FCOPYSIGN]](s32)296    ; CHECK-NEXT: PseudoRET implicit $f10_f297    %0:_(s32) = COPY $f10_f298    %1:_(s16) = COPY $f11_h299    %2:_(s32) = G_FCOPYSIGN %0, %1300    $f10_f = COPY %2(s32)301    PseudoRET implicit $f10_f302 303...304---305name:            fcopysign_f16_f64306legalized:       true307tracksRegLiveness: true308body:             |309  bb.0:310    liveins: $f10_h, $f11_d311 312    ; CHECK-LABEL: name: fcopysign_f16_f64313    ; CHECK: liveins: $f10_h, $f11_d314    ; CHECK-NEXT: {{  $}}315    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s16) = COPY $f10_h316    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s64) = COPY $f11_d317    ; CHECK-NEXT: [[FCOPYSIGN:%[0-9]+]]:fprb(s16) = G_FCOPYSIGN [[COPY]], [[COPY1]](s64)318    ; CHECK-NEXT: $f10_h = COPY [[FCOPYSIGN]](s16)319    ; CHECK-NEXT: PseudoRET implicit $f10_h320    %0:_(s16) = COPY $f10_h321    %1:_(s64) = COPY $f11_d322    %2:_(s16) = G_FCOPYSIGN %0, %1323    $f10_h = COPY %2(s16)324    PseudoRET implicit $f10_h325 326...327---328name:            fcopysign_f64_f16329legalized:       true330tracksRegLiveness: true331body:             |332  bb.0:333    liveins: $f10_d, $f11_h334 335    ; CHECK-LABEL: name: fcopysign_f64_f16336    ; CHECK: liveins: $f10_d, $f11_h337    ; CHECK-NEXT: {{  $}}338    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s64) = COPY $f10_d339    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f11_h340    ; CHECK-NEXT: [[FCOPYSIGN:%[0-9]+]]:fprb(s64) = G_FCOPYSIGN [[COPY]], [[COPY1]](s16)341    ; CHECK-NEXT: $f10_d = COPY [[FCOPYSIGN]](s64)342    ; CHECK-NEXT: PseudoRET implicit $f10_d343    %0:_(s64) = COPY $f10_d344    %1:_(s16) = COPY $f11_h345    %2:_(s64) = G_FCOPYSIGN %0, %1346    $f10_d = COPY %2(s64)347    PseudoRET implicit $f10_d348 349...350