75 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -csky-no-aliases < %s -mtriple=csky -mattr=+2e3,+hard-float,+fpuv2_sf,+fpuv2_df -float-abi=hard | FileCheck %s3; RUN: llc -verify-machineinstrs -csky-no-aliases < %s -mtriple=csky -mattr=+2e3,+hard-float,+fpuv3_sf,+fpuv3_df -float-abi=hard | FileCheck %s --check-prefix=CHECK-DF34; RUN: llc -verify-machineinstrs -csky-no-aliases < %s -mtriple=csky -mattr=+hard-float,+fpuv2_sf,+fpuv2_df -float-abi=hard | FileCheck %s --check-prefix=GENERIC5 6define float @selectRR_eq_float(i1 %x, float %n, float %m) {7; CHECK-LABEL: selectRR_eq_float:8; CHECK: # %bb.0: # %entry9; CHECK-NEXT: btsti16 a0, 010; CHECK-NEXT: bt32 .LBB0_211; CHECK-NEXT: # %bb.1: # %entry12; CHECK-NEXT: fmovs vr1, vr013; CHECK-NEXT: .LBB0_2: # %entry14; CHECK-NEXT: fmovs vr0, vr115; CHECK-NEXT: rts1616;17; CHECK-DF3-LABEL: selectRR_eq_float:18; CHECK-DF3: # %bb.0: # %entry19; CHECK-DF3-NEXT: btsti16 a0, 020; CHECK-DF3-NEXT: fsel.32 vr0, vr1, vr021; CHECK-DF3-NEXT: rts1622;23; GENERIC-LABEL: selectRR_eq_float:24; GENERIC: # %bb.0: # %entry25; GENERIC-NEXT: .cfi_def_cfa_offset 026; GENERIC-NEXT: subi16 sp, sp, 427; GENERIC-NEXT: .cfi_def_cfa_offset 428; GENERIC-NEXT: btsti16 a0, 029; GENERIC-NEXT: bt16 .LBB0_230; GENERIC-NEXT: # %bb.1: # %entry31; GENERIC-NEXT: fmovs vr1, vr032; GENERIC-NEXT: .LBB0_2: # %entry33; GENERIC-NEXT: fmovs vr0, vr134; GENERIC-NEXT: addi16 sp, sp, 435; GENERIC-NEXT: rts1636entry:37 %ret = select i1 %x, float %m, float %n38 ret float %ret39}40 41define double @selectRR_eq_double(i1 %x, double %n, double %m) {42; CHECK-LABEL: selectRR_eq_double:43; CHECK: # %bb.0: # %entry44; CHECK-NEXT: btsti16 a0, 045; CHECK-NEXT: bt32 .LBB1_246; CHECK-NEXT: # %bb.1: # %entry47; CHECK-NEXT: fmovd vr1, vr048; CHECK-NEXT: .LBB1_2: # %entry49; CHECK-NEXT: fmovd vr0, vr150; CHECK-NEXT: rts1651;52; CHECK-DF3-LABEL: selectRR_eq_double:53; CHECK-DF3: # %bb.0: # %entry54; CHECK-DF3-NEXT: btsti16 a0, 055; CHECK-DF3-NEXT: fsel.64 vr0, vr1, vr056; CHECK-DF3-NEXT: rts1657;58; GENERIC-LABEL: selectRR_eq_double:59; GENERIC: # %bb.0: # %entry60; GENERIC-NEXT: .cfi_def_cfa_offset 061; GENERIC-NEXT: subi16 sp, sp, 462; GENERIC-NEXT: .cfi_def_cfa_offset 463; GENERIC-NEXT: btsti16 a0, 064; GENERIC-NEXT: bt16 .LBB1_265; GENERIC-NEXT: # %bb.1: # %entry66; GENERIC-NEXT: fmovd vr1, vr067; GENERIC-NEXT: .LBB1_2: # %entry68; GENERIC-NEXT: fmovd vr0, vr169; GENERIC-NEXT: addi16 sp, sp, 470; GENERIC-NEXT: rts1671entry:72 %ret = select i1 %x, double %m, double %n73 ret double %ret74}75