diff options
Diffstat (limited to 'llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp b/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp index c7e22d7..44a5cd7 100644 --- a/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp +++ b/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp @@ -512,6 +512,8 @@ DecodeStatus HexagonDisassembler::getSingleInstruction(MCInst &MI, MCInst &MCB, const bool Rev = HexagonMCInstrInfo::IsReverseVecRegPair(Producer); const unsigned ProdPairIndex = Rev ? Producer - Hexagon::WR0 : Producer - Hexagon::W0; + if (Rev) + SubregBit = !SubregBit; Producer = (ProdPairIndex << 1) + SubregBit + Hexagon::V0; } else if (SubregBit) // Hexagon PRM 10.11 New-value operands |