44 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2 3;; Check that the correct ABI is chosen based on the triple given.4;; TODO: enable the S and F ABIs once support is wired up.5; RUN: llc --mtriple=loongarch32-linux-gnuf64 --mattr=+d < %s \6; RUN: | FileCheck %s --check-prefix=ILP32D7; RUN: llc --mtriple=loongarch64-linux-gnuf64 --mattr=+d < %s \8; RUN: | FileCheck %s --check-prefix=LP64D9 10define float @f(float %a) {11; ILP32D-LABEL: f:12; ILP32D: # %bb.0:13; ILP32D-NEXT: lu12i.w $a0, 26009614; ILP32D-NEXT: movgr2fr.w $fa1, $a015; ILP32D-NEXT: fadd.s $fa0, $fa0, $fa116; ILP32D-NEXT: ret17;18; LP64D-LABEL: f:19; LP64D: # %bb.0:20; LP64D-NEXT: vldi $vr1, -116821; LP64D-NEXT: fadd.s $fa0, $fa0, $fa122; LP64D-NEXT: ret23 %1 = fadd float %a, 1.024 ret float %125}26 27define double @g(double %a) {28; ILP32D-LABEL: g:29; ILP32D: # %bb.0:30; ILP32D-NEXT: movgr2fr.w $fa1, $zero31; ILP32D-NEXT: lu12i.w $a0, 26188832; ILP32D-NEXT: movgr2frh.w $fa1, $a033; ILP32D-NEXT: fadd.d $fa0, $fa0, $fa134; ILP32D-NEXT: ret35;36; LP64D-LABEL: g:37; LP64D: # %bb.0:38; LP64D-NEXT: vldi $vr1, -91239; LP64D-NEXT: fadd.d $fa0, $fa0, $fa140; LP64D-NEXT: ret41 %1 = fadd double %a, 1.042 ret double %143}44