diff options
author | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-05-09 09:46:21 +0000 |
---|---|---|
committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-05-09 09:46:21 +0000 |
commit | 32650944eb3ba5ba57db50bb7a98d1c89396f4f3 (patch) | |
tree | ed50574986911367232efd4cb7fb96f8201a0d40 /lib/Target/Mips/MipsSubtarget.cpp | |
parent | 6b68224e9ab550807265bb9f45dcd9611c6fc539 (diff) | |
download | llvm-32650944eb3ba5ba57db50bb7a98d1c89396f4f3.tar.gz llvm-32650944eb3ba5ba57db50bb7a98d1c89396f4f3.tar.bz2 llvm-32650944eb3ba5ba57db50bb7a98d1c89396f4f3.tar.xz |
[mips][mips64r6] Add experimental support for MIPS32r6 and MIPS64r6
Summary:
Adds MIPS32r6/MIPS64r6 and checks the compatibility requirements for these
processors.
I've also included comments to describe removed and re-encoded instructions,
along with placeholder def's for the new instructions but there are no
functional changes to codegen at this point.
Reviewers: jkolek, vmedic
Reviewed By: vmedic
Differential Revision: http://reviews.llvm.org/D3622
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208399 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsSubtarget.cpp')
-rw-r--r-- | lib/Target/Mips/MipsSubtarget.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsSubtarget.cpp b/lib/Target/Mips/MipsSubtarget.cpp index 6675ad42aa..7fc8d63ae4 100644 --- a/lib/Target/Mips/MipsSubtarget.cpp +++ b/lib/Target/Mips/MipsSubtarget.cpp @@ -137,6 +137,15 @@ MipsSubtarget::MipsSubtarget(const std::string &TT, const std::string &CPU, "See -mattr=+fp64.", false); + if (hasMips32r6()) { + StringRef ISA = hasMips64r6() ? "MIPS64r6" : "MIPS32r6"; + + assert(isFP64bit()); + assert(isNaN2008()); + if (hasDSP()) + report_fatal_error(ISA + " is not compatible with the DSP ASE", false); + } + // Is the target system Linux ? if (TT.find("linux") == std::string::npos) IsLinux = false; |