; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=FP32 ; RUN: llc -march=mips < %s | FileCheck %s -check-prefix=FP32 ; RUN: llc -march=mipsel -mattr=+fp64 < %s | FileCheck %s -check-prefix=FP64 ; RUN: llc -march=mips -mattr=+fp64 < %s | FileCheck %s -check-prefix=FP64 @a = external global i32 ; CHECK-LABEL: f: ; FP32: mtc1 ; FP32: mtc1 ; FP64-DAG: mtc1 ; FP64-DAG: mthc1 define double @f(i32 %a1, double %d) nounwind { entry: store i32 %a1, i32* @a, align 4 %add = fadd double %d, 2.000000e+00 ret double %add } ; CHECK-LABEL: f3: ; FP32: mfc1 ; FP32: mfc1 ; FP64-DAG: mfc1 ; FP64-DAG: mfhc1 define void @f3(double %d, i32 %a1) nounwind { entry: tail call void @f2(i32 %a1, double %d) nounwind ret void } declare void @f2(i32, double)