summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsISelLowering.cpp
diff options
context:
space:
mode:
authorJack Carter <jcarter@mips.com>2012-07-02 23:35:23 +0000
committerJack Carter <jcarter@mips.com>2012-07-02 23:35:23 +0000
commitb353094f27d0d21a466ac5f2cbc27579685d4545 (patch)
treeb418fb3a8f41b7228680aedde1bf2186f8bd8949 /llvm/lib/Target/Mips/MipsISelLowering.cpp
parentb721e301df2702d5420c79bd60d30342645c8c4f (diff)
downloadbcm5719-llvm-b353094f27d0d21a466ac5f2cbc27579685d4545.tar.gz
bcm5719-llvm-b353094f27d0d21a466ac5f2cbc27579685d4545.zip
mips32 long long register inline asm constraint support.
inlineasm-cnstrnt-bad-r-1.ll is NOT supposed to fail, so it was removed. This resulted in the removal of a negative test (inlineasm-cnstrnt-bad-r-1.ll) llvm-svn: 159625
Diffstat (limited to 'llvm/lib/Target/Mips/MipsISelLowering.cpp')
-rw-r--r--llvm/lib/Target/Mips/MipsISelLowering.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsISelLowering.cpp b/llvm/lib/Target/Mips/MipsISelLowering.cpp
index abf22bd8041..a7e2aa32fc6 100644
--- a/llvm/lib/Target/Mips/MipsISelLowering.cpp
+++ b/llvm/lib/Target/Mips/MipsISelLowering.cpp
@@ -3355,6 +3355,8 @@ getRegForInlineAsmConstraint(const std::string &Constraint, EVT VT) const
case 'r':
if (VT == MVT::i32 || VT == MVT::i16 || VT == MVT::i8)
return std::make_pair(0U, &Mips::CPURegsRegClass);
+ if (VT == MVT::i64 && !HasMips64)
+ return std::make_pair(0U, &Mips::CPURegsRegClass);
if (VT == MVT::i64 && HasMips64)
return std::make_pair(0U, &Mips::CPU64RegsRegClass);
// This will generate an error message
OpenPOWER on IntegriCloud