brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.3 KiB · 612cecb Raw
107 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2 3; RUN: llc -verify-machineinstrs -csky-no-aliases < %s -mtriple=csky -float-abi=hard -mattr=+hard-float -mattr=+2e3 -mattr=+fpuv2_sf -mattr=+fpuv2_df | FileCheck %s --check-prefix=CHECK-DF4; RUN: llc -verify-machineinstrs -csky-no-aliases < %s -mtriple=csky -float-abi=hard -mattr=+hard-float -mattr=+2e3 -mattr=+fpuv3_sf -mattr=+fpuv3_df | FileCheck %s --check-prefix=CHECK-DF25 6define double @load_I_d(ptr nocapture readonly %a) local_unnamed_addr #0 {7;8;9; CHECK-DF-LABEL: load_I_d:10; CHECK-DF:       # %bb.0: # %entry11; CHECK-DF-NEXT:    fldd vr0, (a0, 24)12; CHECK-DF-NEXT:    rts1613;14; CHECK-DF2-LABEL: load_I_d:15; CHECK-DF2:       # %bb.0: # %entry16; CHECK-DF2-NEXT:    fld.64 vr0, (a0, 24)17; CHECK-DF2-NEXT:    rts1618entry:19  %arrayidx = getelementptr inbounds double, ptr %a, i64 320  %0 = load double, ptr %arrayidx, align 421  ret double %022}23 24 25 26define double @load_R_d(ptr nocapture readonly %a, i32 %b) local_unnamed_addr #0 {27;28;29; CHECK-DF-LABEL: load_R_d:30; CHECK-DF:       # %bb.0: # %entry31; CHECK-DF-NEXT:    fldrd vr0, (a0, a1 << 3)32; CHECK-DF-NEXT:    rts1633;34; CHECK-DF2-LABEL: load_R_d:35; CHECK-DF2:       # %bb.0: # %entry36; CHECK-DF2-NEXT:    fldr.64 vr0, (a0, a1 << 3)37; CHECK-DF2-NEXT:    rts1638entry:39  %idxprom = sext i32 %b to i6440  %arrayidx = getelementptr inbounds double, ptr %a, i64 %idxprom41  %0 = load double, ptr %arrayidx, align 442  ret double %043}44 45define double @store_I_d(ptr  %a, double %b) local_unnamed_addr #0 {46;47;48; CHECK-DF-LABEL: store_I_d:49; CHECK-DF:       # %bb.0: # %entry50; CHECK-DF-NEXT:    fstd vr0, (a0, 24)51; CHECK-DF-NEXT:    grs32 a0, .LCPI2_052; CHECK-DF-NEXT:    fldd vr0, (a0, 0)53; CHECK-DF-NEXT:    rts1654; CHECK-DF-NEXT:    .p2align 155; CHECK-DF-NEXT:  # %bb.1:56; CHECK-DF-NEXT:    .p2align 257; CHECK-DF-NEXT:  .LCPI2_0:58; CHECK-DF-NEXT:    .quad 0x0000000000000000 # double 059;60; CHECK-DF2-LABEL: store_I_d:61; CHECK-DF2:       # %bb.0: # %entry62; CHECK-DF2-NEXT:    fst.64 vr0, (a0, 24)63; CHECK-DF2-NEXT:    flrw.64 vr0, [.LCPI2_0]64; CHECK-DF2-NEXT:    rts1665; CHECK-DF2-NEXT:    .p2align 166; CHECK-DF2-NEXT:  # %bb.1:67; CHECK-DF2-NEXT:    .p2align 268; CHECK-DF2-NEXT:  .LCPI2_0:69; CHECK-DF2-NEXT:    .quad 0x0000000000000000 # double 070entry:71  %arrayidx = getelementptr inbounds double, ptr %a, i64 372  store double %b, ptr %arrayidx, align 473  ret double 0.074}75 76define double @store_R_d(ptr  %a, i32 %b, double %c) local_unnamed_addr #0 {77;78;79; CHECK-DF-LABEL: store_R_d:80; CHECK-DF:       # %bb.0: # %entry81; CHECK-DF-NEXT:    fstrd vr0, (a0, a1 << 3)82; CHECK-DF-NEXT:    grs32 a0, .LCPI3_083; CHECK-DF-NEXT:    fldd vr0, (a0, 0)84; CHECK-DF-NEXT:    rts1685; CHECK-DF-NEXT:    .p2align 186; CHECK-DF-NEXT:  # %bb.1:87; CHECK-DF-NEXT:    .p2align 288; CHECK-DF-NEXT:  .LCPI3_0:89; CHECK-DF-NEXT:    .quad 0x0000000000000000 # double 090;91; CHECK-DF2-LABEL: store_R_d:92; CHECK-DF2:       # %bb.0: # %entry93; CHECK-DF2-NEXT:    fstr.64 vr0, (a0, a1 << 3)94; CHECK-DF2-NEXT:    flrw.64 vr0, [.LCPI3_0]95; CHECK-DF2-NEXT:    rts1696; CHECK-DF2-NEXT:    .p2align 197; CHECK-DF2-NEXT:  # %bb.1:98; CHECK-DF2-NEXT:    .p2align 299; CHECK-DF2-NEXT:  .LCPI3_0:100; CHECK-DF2-NEXT:    .quad 0x0000000000000000 # double 0101entry:102  %idxprom = sext i32 %b to i64103  %arrayidx = getelementptr inbounds double, ptr %a, i64 %idxprom104  store double %c, ptr %arrayidx, align 4105  ret double 0.0106}107