diff options
author | Akira Hatanaka <ahatanaka@mips.com> | 2013-11-12 22:16:18 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@mips.com> | 2013-11-12 22:16:18 +0000 |
commit | 714e04b84ac5c2342f468aa55953694e4cdf3834 (patch) | |
tree | 1d7a1c1f074399ae71e133f69d7b411a93c0f0e7 | |
parent | fe438bba94f000022fc40cfd4c7b769ba1cb99c3 (diff) | |
download | external_llvm-714e04b84ac5c2342f468aa55953694e4cdf3834.zip external_llvm-714e04b84ac5c2342f468aa55953694e4cdf3834.tar.gz external_llvm-714e04b84ac5c2342f468aa55953694e4cdf3834.tar.bz2 |
[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
-rw-r--r-- | lib/Target/Mips/MipsISelLowering.cpp | 2 | ||||
-rw-r--r-- | test/CodeGen/Mips/o32_cc.ll | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/lib/Target/Mips/MipsISelLowering.cpp b/lib/Target/Mips/MipsISelLowering.cpp index edba874..1e8250c 100644 --- a/lib/Target/Mips/MipsISelLowering.cpp +++ b/lib/Target/Mips/MipsISelLowering.cpp @@ -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); } diff --git a/test/CodeGen/Mips/o32_cc.ll b/test/CodeGen/Mips/o32_cc.ll index e28ba6e..08e5aab 100644 --- a/test/CodeGen/Mips/o32_cc.ll +++ b/test/CodeGen/Mips/o32_cc.ll @@ -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 |