summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp
diff options
context:
space:
mode:
authorColin LeMahieu <colinl@codeaurora.org>2014-11-04 00:14:36 +0000
committerColin LeMahieu <colinl@codeaurora.org>2014-11-04 00:14:36 +0000
commit5241881bbc39eaf5f557e4d08ac74f2fe39cae6d (patch)
tree4199b6480f16b28b8cbd31ac1a8dfede726d430e /llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp
parent429c9cae09089becc2df489d2eff4b62a295f0c8 (diff)
downloadbcm5719-llvm-5241881bbc39eaf5f557e4d08ac74f2fe39cae6d.tar.gz
bcm5719-llvm-5241881bbc39eaf5f557e4d08ac74f2fe39cae6d.zip
[Hexagon] Reverting 220584 to address ASAN errors.
llvm-svn: 221210
Diffstat (limited to 'llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp')
-rw-r--r--llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp
index 2ec0bd2ea86..4471977ab49 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,9 +57,8 @@ 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);
- Binary |= getPacketBits(HMB);
+ uint64_t Binary = getBinaryCodeForInstr(HMB, Fixups, STI) | getPacketBits(HMB);
+ assert(HMB.getDesc().getSize() == 4 && "All instructions should be 32bit");
emitLittleEndian(Binary, OS);
++MCNumEmitted;
}
OpenPOWER on IntegriCloud