Home | History | Annotate | Download | only in Mips
      1 ; RUN: llc -march=mips64el -mcpu=mips64r2 -O3 < %s |\
      2 ; RUN: FileCheck %s -check-prefix=HARD
      3 ; RUN: llc -march=mips64el -mcpu=mips64r2 -soft-float < %s |\
      4 ; RUN: FileCheck %s -check-prefix=SOFT
      5 
      6 ; Check that %add is not passed in an integer register.
      7 ;
      8 ; HARD-LABEL: callfloor:
      9 ; HARD-NOT: dmfc1 $4
     10 
     11 define double @callfloor(double %d) nounwind readnone {
     12 entry:
     13   %add = fadd double %d, 1.000000e+00
     14   %call = tail call double @floor(double %add) nounwind readnone
     15   ret double %call
     16 }
     17 
     18 declare double @floor(double) nounwind readnone
     19 
     20 ; Check call16.
     21 ;
     22 ; SOFT-LABEL: f64add:
     23 ; SOFT: ld $25, %call16(__adddf3)
     24 
     25 define double @f64add(double %a, double %b) {
     26 entry:
     27   %add = fadd double %a, %b
     28   ret double %add
     29 }
     30