diff options
author | Jush Lu <jush.msn@gmail.com> | 2011-03-09 19:39:16 +0800 |
---|---|---|
committer | Jush Lu <jush.msn@gmail.com> | 2011-03-09 19:39:16 +0800 |
commit | b5530586d68bd25831a6796b5d3199cb0769a35c (patch) | |
tree | fac4a03b53b6a64b0c00f433e4d8b3c9f2bc67cd /lib/Target/MBlaze/Disassembler/MBlazeDisassembler.cpp | |
parent | b4e17c5bf4361bbdeced39aa071150d7fa9c3c10 (diff) | |
parent | d01f50f42ce60207ed6d27fb1778e456d83be06c (diff) | |
download | external_llvm-b5530586d68bd25831a6796b5d3199cb0769a35c.zip external_llvm-b5530586d68bd25831a6796b5d3199cb0769a35c.tar.gz external_llvm-b5530586d68bd25831a6796b5d3199cb0769a35c.tar.bz2 |
Merge upstream r127116
Diffstat (limited to 'lib/Target/MBlaze/Disassembler/MBlazeDisassembler.cpp')
-rw-r--r-- | lib/Target/MBlaze/Disassembler/MBlazeDisassembler.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.cpp b/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.cpp index b2a2474..3379ac2 100644 --- a/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.cpp +++ b/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.cpp @@ -69,8 +69,7 @@ static unsigned getRB(uint32_t insn) { } static int64_t getRS(uint32_t insn) { - int16_t val = (insn & 0x3FFF); - return val; + return MBlazeRegisterInfo::getSpecialRegisterFromNumbering(insn&0x3FFF); } static int64_t getIMM(uint32_t insn) { @@ -606,12 +605,12 @@ bool MBlazeDisassembler::getInstruction(MCInst &instr, case MBlazeII::FRCS: instr.addOperand(MCOperand::CreateReg(getRD(insn))); - instr.addOperand(MCOperand::CreateImm(getRS(insn))); + instr.addOperand(MCOperand::CreateReg(getRS(insn))); break; case MBlazeII::FCRCS: + instr.addOperand(MCOperand::CreateReg(getRS(insn))); instr.addOperand(MCOperand::CreateReg(getRA(insn))); - instr.addOperand(MCOperand::CreateImm(getRS(insn))); break; case MBlazeII::FCRCX: |