1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

[MSP430] Fix encodeInstruction() for big endian hosts

Reviewers: asl

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D54251

llvm-svn: 346391
This commit is contained in:
Anton Korobeynikov 2018-11-08 10:17:52 +00:00
parent 964f5ac5c8
commit c636cd10f2

View File

@ -91,12 +91,11 @@ void MSP430MCCodeEmitter::encodeInstruction(const MCInst &MI, raw_ostream &OS,
Offset = 2;
uint64_t BinaryOpCode = getBinaryCodeForInstr(MI, Fixups, STI);
const uint16_t *Words = reinterpret_cast<uint16_t const *>(&BinaryOpCode);
size_t WordCount = Size / 2;
for (size_t i = 0; i < WordCount; ++i) {
uint16_t Word = Words[i];
support::endian::write(OS, Word, support::little);
while (WordCount--) {
support::endian::write(OS, (uint16_t)BinaryOpCode, support::little);
BinaryOpCode >>= 16;
}
}