brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.4 KiB · 6b437c1 Raw
360 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -mattr=+zfh,+d -run-pass=legalizer %s -o - \3# RUN: | FileCheck %s4# RUN: llc -mtriple=riscv64 -mattr=+zfh,+d -run-pass=legalizer %s -o - \5# RUN: | FileCheck %s6 7---8name:            fadd_f169body:             |10  bb.0:11    liveins: $f10_h, $f11_h12 13    ; CHECK-LABEL: name: fadd_f1614    ; CHECK: liveins: $f10_h, $f11_h15    ; CHECK-NEXT: {{  $}}16    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h17    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h18    ; CHECK-NEXT: [[FADD:%[0-9]+]]:_(s16) = G_FADD [[COPY]], [[COPY1]]19    ; CHECK-NEXT: $f10_h = COPY [[FADD]](s16)20    ; CHECK-NEXT: PseudoRET implicit $f10_h21    %0:_(s16) = COPY $f10_h22    %1:_(s16) = COPY $f11_h23    %2:_(s16) = G_FADD %0, %124    $f10_h = COPY %2(s16)25    PseudoRET implicit $f10_h26 27...28---29name:            fsub_f1630body:             |31  bb.0:32    liveins: $f10_h, $f11_h33 34    ; CHECK-LABEL: name: fsub_f1635    ; CHECK: liveins: $f10_h, $f11_h36    ; CHECK-NEXT: {{  $}}37    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h38    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h39    ; CHECK-NEXT: [[FSUB:%[0-9]+]]:_(s16) = G_FSUB [[COPY]], [[COPY1]]40    ; CHECK-NEXT: $f10_h = COPY [[FSUB]](s16)41    ; CHECK-NEXT: PseudoRET implicit $f10_h42    %0:_(s16) = COPY $f10_h43    %1:_(s16) = COPY $f11_h44    %2:_(s16) = G_FSUB %0, %145    $f10_h = COPY %2(s16)46    PseudoRET implicit $f10_h47 48...49---50name:            fmul_f1651body:             |52  bb.0:53    liveins: $f10_h, $f11_h54 55    ; CHECK-LABEL: name: fmul_f1656    ; CHECK: liveins: $f10_h, $f11_h57    ; CHECK-NEXT: {{  $}}58    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h59    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h60    ; CHECK-NEXT: [[FMUL:%[0-9]+]]:_(s16) = G_FMUL [[COPY]], [[COPY1]]61    ; CHECK-NEXT: $f10_h = COPY [[FMUL]](s16)62    ; CHECK-NEXT: PseudoRET implicit $f10_h63    %0:_(s16) = COPY $f10_h64    %1:_(s16) = COPY $f11_h65    %2:_(s16) = G_FMUL %0, %166    $f10_h = COPY %2(s16)67    PseudoRET implicit $f10_h68 69...70---71name:            fdiv_f1672body:             |73  bb.0:74    liveins: $f10_h, $f11_h75 76    ; CHECK-LABEL: name: fdiv_f1677    ; CHECK: liveins: $f10_h, $f11_h78    ; CHECK-NEXT: {{  $}}79    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h80    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h81    ; CHECK-NEXT: [[FDIV:%[0-9]+]]:_(s16) = G_FDIV [[COPY]], [[COPY1]]82    ; CHECK-NEXT: $f10_h = COPY [[FDIV]](s16)83    ; CHECK-NEXT: PseudoRET implicit $f10_h84    %0:_(s16) = COPY $f10_h85    %1:_(s16) = COPY $f11_h86    %2:_(s16) = G_FDIV %0, %187    $f10_h = COPY %2(s16)88    PseudoRET implicit $f10_h89 90...91---92name:            fma_f1693body:             |94  bb.0:95    liveins: $f10_h, $f11_h, $f12_h96 97    ; CHECK-LABEL: name: fma_f1698    ; CHECK: liveins: $f10_h, $f11_h, $f12_h99    ; CHECK-NEXT: {{  $}}100    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h101    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h102    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s16) = COPY $f12_h103    ; CHECK-NEXT: [[FMA:%[0-9]+]]:_(s16) = G_FMA [[COPY]], [[COPY1]], [[COPY2]]104    ; CHECK-NEXT: $f10_h = COPY [[FMA]](s16)105    ; CHECK-NEXT: PseudoRET implicit $f10_h106    %0:_(s16) = COPY $f10_h107    %1:_(s16) = COPY $f11_h108    %2:_(s16) = COPY $f12_h109    %3:_(s16) = G_FMA %0, %1, %2110    $f10_h = COPY %3(s16)111    PseudoRET implicit $f10_h112 113...114---115name:            fneg_f16116body:             |117  bb.0:118    liveins: $f10_h119 120    ; CHECK-LABEL: name: fneg_f16121    ; CHECK: liveins: $f10_h122    ; CHECK-NEXT: {{  $}}123    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h124    ; CHECK-NEXT: [[FNEG:%[0-9]+]]:_(s16) = G_FNEG [[COPY]]125    ; CHECK-NEXT: $f10_h = COPY [[FNEG]](s16)126    ; CHECK-NEXT: PseudoRET implicit $f10_h127    %0:_(s16) = COPY $f10_h128    %1:_(s16) = G_FNEG %0129    $f10_h = COPY %1(s16)130    PseudoRET implicit $f10_h131 132...133---134name:            fabs_f16135body:             |136  bb.0:137    liveins: $f10_h138 139    ; CHECK-LABEL: name: fabs_f16140    ; CHECK: liveins: $f10_h141    ; CHECK-NEXT: {{  $}}142    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h143    ; CHECK-NEXT: [[FABS:%[0-9]+]]:_(s16) = G_FABS [[COPY]]144    ; CHECK-NEXT: $f10_h = COPY [[FABS]](s16)145    ; CHECK-NEXT: PseudoRET implicit $f10_h146    %0:_(s16) = COPY $f10_h147    %1:_(s16) = G_FABS %0148    $f10_h = COPY %1(s16)149    PseudoRET implicit $f10_h150 151...152---153name:            fsqrt_f16154body:             |155  bb.0:156    liveins: $f10_h157 158    ; CHECK-LABEL: name: fsqrt_f16159    ; CHECK: liveins: $f10_h160    ; CHECK-NEXT: {{  $}}161    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h162    ; CHECK-NEXT: [[FSQRT:%[0-9]+]]:_(s16) = G_FSQRT [[COPY]]163    ; CHECK-NEXT: $f10_h = COPY [[FSQRT]](s16)164    ; CHECK-NEXT: PseudoRET implicit $f10_h165    %0:_(s16) = COPY $f10_h166    %1:_(s16) = G_FSQRT %0167    $f10_h = COPY %1(s16)168    PseudoRET implicit $f10_h169 170...171---172name:            fmaxnum_f16173body:             |174  bb.0:175    liveins: $f10_h, $f11_h176 177    ; CHECK-LABEL: name: fmaxnum_f16178    ; CHECK: liveins: $f10_h, $f11_h179    ; CHECK-NEXT: {{  $}}180    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h181    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h182    ; CHECK-NEXT: [[FMAXNUM:%[0-9]+]]:_(s16) = G_FMAXNUM [[COPY]], [[COPY1]]183    ; CHECK-NEXT: $f10_h = COPY [[FMAXNUM]](s16)184    ; CHECK-NEXT: PseudoRET implicit $f10_h185    %0:_(s16) = COPY $f10_h186    %1:_(s16) = COPY $f11_h187    %2:_(s16) = G_FMAXNUM %0, %1188    $f10_h = COPY %2(s16)189    PseudoRET implicit $f10_h190 191...192---193name:            fminnum_f16194body:             |195  bb.0:196    liveins: $f10_h, $f11_h197 198    ; CHECK-LABEL: name: fminnum_f16199    ; CHECK: liveins: $f10_h, $f11_h200    ; CHECK-NEXT: {{  $}}201    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h202    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h203    ; CHECK-NEXT: [[FMINNUM:%[0-9]+]]:_(s16) = G_FMINNUM [[COPY]], [[COPY1]]204    ; CHECK-NEXT: $f10_h = COPY [[FMINNUM]](s16)205    ; CHECK-NEXT: PseudoRET implicit $f10_h206    %0:_(s16) = COPY $f10_h207    %1:_(s16) = COPY $f11_h208    %2:_(s16) = G_FMINNUM %0, %1209    $f10_h = COPY %2(s16)210    PseudoRET implicit $f10_h211 212...213---214name:            fmaximumnum_f16215body:             |216  bb.0:217    liveins: $f10_h, $f11_h218 219    ; CHECK-LABEL: name: fmaximumnum_f16220    ; CHECK: liveins: $f10_h, $f11_h221    ; CHECK-NEXT: {{  $}}222    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h223    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h224    ; CHECK-NEXT: [[FMAXIMUMNUM:%[0-9]+]]:_(s16) = G_FMAXIMUMNUM [[COPY]], [[COPY1]]225    ; CHECK-NEXT: $f10_h = COPY [[FMAXIMUMNUM]](s16)226    ; CHECK-NEXT: PseudoRET implicit $f10_h227    %0:_(s16) = COPY $f10_h228    %1:_(s16) = COPY $f11_h229    %2:_(s16) = G_FMAXIMUMNUM %0, %1230    $f10_h = COPY %2(s16)231    PseudoRET implicit $f10_h232 233...234---235name:            fminimumnum_f16236body:             |237  bb.0:238    liveins: $f10_h, $f11_h239 240    ; CHECK-LABEL: name: fminimumnum_f16241    ; CHECK: liveins: $f10_h, $f11_h242    ; CHECK-NEXT: {{  $}}243    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h244    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h245    ; CHECK-NEXT: [[FMINIMUMNUM:%[0-9]+]]:_(s16) = G_FMINIMUMNUM [[COPY]], [[COPY1]]246    ; CHECK-NEXT: $f10_h = COPY [[FMINIMUMNUM]](s16)247    ; CHECK-NEXT: PseudoRET implicit $f10_h248    %0:_(s16) = COPY $f10_h249    %1:_(s16) = COPY $f11_h250    %2:_(s16) = G_FMINIMUMNUM %0, %1251    $f10_h = COPY %2(s16)252    PseudoRET implicit $f10_h253 254...255---256name:            fcopysign_f16_f16257body:             |258  bb.0:259    liveins: $f10_h, $f11_h260 261    ; CHECK-LABEL: name: fcopysign_f16_f16262    ; CHECK: liveins: $f10_h, $f11_h263    ; CHECK-NEXT: {{  $}}264    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h265    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h266    ; CHECK-NEXT: [[FCOPYSIGN:%[0-9]+]]:_(s16) = G_FCOPYSIGN [[COPY]], [[COPY1]](s16)267    ; CHECK-NEXT: $f10_h = COPY [[FCOPYSIGN]](s16)268    ; CHECK-NEXT: PseudoRET implicit $f10_h269    %0:_(s16) = COPY $f10_h270    %1:_(s16) = COPY $f11_h271    %2:_(s16) = G_FCOPYSIGN %0, %1272    $f10_h = COPY %2(s16)273    PseudoRET implicit $f10_h274 275...276---277name:            fcopysign_f16_f32278body:             |279  bb.0:280    liveins: $f10_h, $f11_f281 282    ; CHECK-LABEL: name: fcopysign_f16_f32283    ; CHECK: liveins: $f10_h, $f11_f284    ; CHECK-NEXT: {{  $}}285    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h286    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $f11_f287    ; CHECK-NEXT: [[FCOPYSIGN:%[0-9]+]]:_(s16) = G_FCOPYSIGN [[COPY]], [[COPY1]](s32)288    ; CHECK-NEXT: $f10_h = COPY [[FCOPYSIGN]](s16)289    ; CHECK-NEXT: PseudoRET implicit $f10_h290    %0:_(s16) = COPY $f10_h291    %1:_(s32) = COPY $f11_f292    %2:_(s16) = G_FCOPYSIGN %0, %1293    $f10_h = COPY %2(s16)294    PseudoRET implicit $f10_h295 296...297---298name:            fcopysign_f32_f16299body:             |300  bb.0:301    liveins: $f10_f, $f11_h302 303    ; CHECK-LABEL: name: fcopysign_f32_f16304    ; CHECK: liveins: $f10_f, $f11_h305    ; CHECK-NEXT: {{  $}}306    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $f10_f307    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h308    ; CHECK-NEXT: [[FCOPYSIGN:%[0-9]+]]:_(s32) = G_FCOPYSIGN [[COPY]], [[COPY1]](s16)309    ; CHECK-NEXT: $f10_f = COPY [[FCOPYSIGN]](s32)310    ; CHECK-NEXT: PseudoRET implicit $f10_f311    %0:_(s32) = COPY $f10_f312    %1:_(s16) = COPY $f11_h313    %2:_(s32) = G_FCOPYSIGN %0, %1314    $f10_f = COPY %2(s32)315    PseudoRET implicit $f10_f316 317...318---319name:            fcopysign_f16_f64320body:             |321  bb.0:322    liveins: $f10_h, $f11_d323 324    ; CHECK-LABEL: name: fcopysign_f16_f64325    ; CHECK: liveins: $f10_h, $f11_d326    ; CHECK-NEXT: {{  $}}327    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $f10_h328    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $f11_d329    ; CHECK-NEXT: [[FCOPYSIGN:%[0-9]+]]:_(s16) = G_FCOPYSIGN [[COPY]], [[COPY1]](s64)330    ; CHECK-NEXT: $f10_h = COPY [[FCOPYSIGN]](s16)331    ; CHECK-NEXT: PseudoRET implicit $f10_h332    %0:_(s16) = COPY $f10_h333    %1:_(s64) = COPY $f11_d334    %2:_(s16) = G_FCOPYSIGN %0, %1335    $f10_h = COPY %2(s16)336    PseudoRET implicit $f10_h337 338...339---340name:            fcopysign_f64_f16341body:             |342  bb.0:343    liveins: $f10_d, $f11_h344 345    ; CHECK-LABEL: name: fcopysign_f64_f16346    ; CHECK: liveins: $f10_d, $f11_h347    ; CHECK-NEXT: {{  $}}348    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $f10_d349    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s16) = COPY $f11_h350    ; CHECK-NEXT: [[FCOPYSIGN:%[0-9]+]]:_(s64) = G_FCOPYSIGN [[COPY]], [[COPY1]](s16)351    ; CHECK-NEXT: $f10_d = COPY [[FCOPYSIGN]](s64)352    ; CHECK-NEXT: PseudoRET implicit $f10_d353    %0:_(s64) = COPY $f10_d354    %1:_(s16) = COPY $f11_h355    %2:_(s64) = G_FCOPYSIGN %0, %1356    $f10_d = COPY %2(s64)357    PseudoRET implicit $f10_d358 359...360