[mips] Use MTHC1 when it is available (MIPS32r2 and later) for both FP32 and FP64
authorDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 12 Jun 2014 11:55:58 +0000 (11:55 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 12 Jun 2014 11:55:58 +0000 (11:55 +0000)
commit14e97c4f51af68c71ebe0fba961aa49f1ac9c185
tree0f4a8e396b759d2281f06eb05f834a7be5758213
parent24ba4fa9e1c5a44edeca6833b8e4cbfe674e7622
[mips] Use MTHC1 when it is available (MIPS32r2 and later) for both FP32 and FP64

Summary:
To make this work for both AFGR64 and FGR64 register sets, I've had to make the
instruction definition consistent with the white lie (that it reads the lower
32-bits of the register) when they are generated by expandBuildPairF64().

Corrected the definition of hasMips32r2() and hasMips64r2() to include
MIPS32r6 and MIPS64r6.

Depends on D3956

Reviewers: jkolek, zoran.jovanovic, vmedic

Reviewed By: vmedic

Differential Revision: http://reviews.llvm.org/D3957

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210771 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsInstrFPU.td
lib/Target/Mips/MipsSEInstrInfo.cpp
lib/Target/Mips/MipsSubtarget.h
test/CodeGen/Mips/2013-11-18-fp64-const0.ll
test/CodeGen/Mips/Fast-ISel/simplestorefp1.ll
test/CodeGen/Mips/buildpairextractelementf64.ll
test/CodeGen/Mips/fcopysign.ll
test/CodeGen/Mips/fmadd1.ll
test/CodeGen/Mips/mno-ldc1-sdc1.ll