diff options
| author | Jack Carter <jcarter@mips.com> | 2012-07-02 23:35:23 +0000 |
|---|---|---|
| committer | Jack Carter <jcarter@mips.com> | 2012-07-02 23:35:23 +0000 |
| commit | b353094f27d0d21a466ac5f2cbc27579685d4545 (patch) | |
| tree | b418fb3a8f41b7228680aedde1bf2186f8bd8949 /llvm/lib/Target/Mips/MipsISelLowering.cpp | |
| parent | b721e301df2702d5420c79bd60d30342645c8c4f (diff) | |
| download | bcm5719-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.cpp | 2 |
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 |

