94 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -O0 -mtriple=mipsel-linux-gnu -global-isel \3; RUN: -verify-machineinstrs %s -o -| FileCheck %s4; RUN: llc -O0 -mtriple=mipsel-linux-gnu -mattr=+fp64,+mips32r2 -global-isel \5; RUN: -verify-machineinstrs %s -o -| FileCheck %s6 7define float @float_add(float %a, float %b) {8; CHECK-LABEL: float_add:9; CHECK: # %bb.0: # %entry10; CHECK-NEXT: add.s $f0, $f12, $f1411; CHECK-NEXT: jr $ra12; CHECK-NEXT: nop13entry:14 %add = fadd float %a, %b15 ret float %add16}17 18define float @float_sub(float %a, float %b) {19; CHECK-LABEL: float_sub:20; CHECK: # %bb.0: # %entry21; CHECK-NEXT: sub.s $f0, $f12, $f1422; CHECK-NEXT: jr $ra23; CHECK-NEXT: nop24entry:25 %sub = fsub float %a, %b26 ret float %sub27}28 29define float @float_mul(float %a, float %b) {30; CHECK-LABEL: float_mul:31; CHECK: # %bb.0: # %entry32; CHECK-NEXT: mul.s $f0, $f12, $f1433; CHECK-NEXT: jr $ra34; CHECK-NEXT: nop35entry:36 %mul = fmul float %a, %b37 ret float %mul38}39 40define float @float_div(float %a, float %b) {41; CHECK-LABEL: float_div:42; CHECK: # %bb.0: # %entry43; CHECK-NEXT: div.s $f0, $f12, $f1444; CHECK-NEXT: jr $ra45; CHECK-NEXT: nop46entry:47 %div = fdiv float %a, %b48 ret float %div49}50 51define double @double_add(double %a, double %b) {52; CHECK-LABEL: double_add:53; CHECK: # %bb.0: # %entry54; CHECK-NEXT: add.d $f0, $f12, $f1455; CHECK-NEXT: jr $ra56; CHECK-NEXT: nop57entry:58 %add = fadd double %a, %b59 ret double %add60}61 62define double @double_sub(double %a, double %b) {63; CHECK-LABEL: double_sub:64; CHECK: # %bb.0: # %entry65; CHECK-NEXT: sub.d $f0, $f12, $f1466; CHECK-NEXT: jr $ra67; CHECK-NEXT: nop68entry:69 %sub = fsub double %a, %b70 ret double %sub71}72 73define double @double_mul(double %a, double %b) {74; CHECK-LABEL: double_mul:75; CHECK: # %bb.0: # %entry76; CHECK-NEXT: mul.d $f0, $f12, $f1477; CHECK-NEXT: jr $ra78; CHECK-NEXT: nop79entry:80 %mul = fmul double %a, %b81 ret double %mul82}83 84define double @double_div(double %a, double %b) {85; CHECK-LABEL: double_div:86; CHECK: # %bb.0: # %entry87; CHECK-NEXT: div.d $f0, $f12, $f1488; CHECK-NEXT: jr $ra89; CHECK-NEXT: nop90entry:91 %div = fdiv double %a, %b92 ret double %div93}94