diff options
author | Colin LeMahieu <colinl@codeaurora.org> | 2014-10-22 20:58:35 +0000 |
---|---|---|
committer | Colin LeMahieu <colinl@codeaurora.org> | 2014-10-22 20:58:35 +0000 |
commit | 73a51a1a68335849805575bfd23fce6647d07d33 (patch) | |
tree | 31a7681385b69deac92aaff59290280de7833fd0 /llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp | |
parent | 4f9c0eeff8202dd5afa7953baac4acca9d2355d4 (diff) | |
download | bcm5719-llvm-73a51a1a68335849805575bfd23fce6647d07d33.tar.gz bcm5719-llvm-73a51a1a68335849805575bfd23fce6647d07d33.zip |
[Hexagon] Adding encoding bits for add opcode.
Adding llvm-mc tests.
Removing unit tests.
http://reviews.llvm.org/D5624
llvm-svn: 220427
Diffstat (limited to 'llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp index 4471977ab49..2ec0bd2ea86 100644 --- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp +++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp @@ -38,7 +38,7 @@ enum class ParseField { duplex = 0x0, last0 = 0x1, last1 = 0x2, end = 0x3 }; uint32_t getPacketBits(HexagonMCInst const &HMI) { unsigned const ParseFieldOffset = 14; ParseField Field = HMI.isPacketEnd() ? ParseField::end : ParseField::last0; - return static_cast <uint32_t> (Field) << ParseFieldOffset; + return static_cast<uint32_t>(Field) << ParseFieldOffset; } void emitLittleEndian(uint64_t Binary, raw_ostream &OS) { OS << static_cast<uint8_t>((Binary >> 0x00) & 0xff); @@ -57,8 +57,9 @@ void HexagonMCCodeEmitter::EncodeInstruction(MCInst const &MI, raw_ostream &OS, SmallVectorImpl<MCFixup> &Fixups, MCSubtargetInfo const &STI) const { HexagonMCInst const &HMB = static_cast<HexagonMCInst const &>(MI); - uint64_t Binary = getBinaryCodeForInstr(HMB, Fixups, STI) | getPacketBits(HMB); - assert(HMB.getDesc().getSize() == 4 && "All instructions should be 32bit"); + uint64_t Binary = + getBinaryCodeForInstr(HMB, Fixups, STI) | getPacketBits(HMB); + Binary |= getPacketBits(HMB); emitLittleEndian(Binary, OS); ++MCNumEmitted; } |