mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-25 12:50:00 +00:00
[mips] Fix a bug in function CC_MipsO32_FP64. The second double precision
argument was not being passed in $f14. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194522 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
fe438bba94
commit
714e04b84a
@ -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);
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user