[mips] Fix a bug in function CC_MipsO32_FP64. The second double precision

argument was not being passed in $f14.
 

llvm-svn: 194522
This commit is contained in:
Akira Hatanaka 2013-11-12 22:16:18 +00:00
parent d9febeb884
commit d6c9f6ebbe
2 changed files with 7 additions and 7 deletions

View File

@ -2208,7 +2208,7 @@ static bool CC_MipsO32_FP32(unsigned ValNo, MVT ValVT,
static bool CC_MipsO32_FP64(unsigned ValNo, MVT ValVT,
MVT LocVT, CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags, CCState &State) {
static const uint16_t F64Regs[] = { Mips::D12_64, Mips::D12_64 };
static const uint16_t F64Regs[] = { Mips::D12_64, Mips::D14_64 };
return CC_MipsO32(ValNo, ValVT, LocVT, LocInfo, ArgFlags, State, F64Regs);
}

View File

@ -4,9 +4,9 @@
; RUN: llc -march=mipsel -mattr=+fp64 < %s | FileCheck -check-prefix=FP64EL %s
; $f12, $f14
; FP32EL-LABEL: testlowercall0:
; FP32EL-DAG: ldc1 $f12, %lo
; FP32EL-DAG: ldc1 $f14, %lo
; CHECK-LABEL: testlowercall0:
; CHECK-DAG: ldc1 $f12, %lo
; CHECK-DAG: ldc1 $f14, %lo
define void @testlowercall0() nounwind {
entry:
tail call void @f0(double 5.000000e+00, double 6.000000e+00) nounwind
@ -28,9 +28,9 @@ entry:
declare void @f1(float, float)
; $f12, $f14
; FP32EL-LABEL: testlowercall2:
; FP32EL-DAG: lwc1 $f12, %lo
; FP32EL-DAG: ldc1 $f14, %lo
; CHECK-LABEL: testlowercall2:
; CHECK-DAG: lwc1 $f12, %lo
; CHECK-DAG: ldc1 $f14, %lo
define void @testlowercall2() nounwind {
entry:
tail call void @f2(float 8.000000e+00, double 6.000000e+00) nounwind