aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
diff options
context:
space:
mode:
authorSergei Barannikov <barannikov88@gmail.com>2025-08-16 05:13:43 +0300
committerGitHub <noreply@github.com>2025-08-16 02:13:43 +0000
commit76d993bd25ff462d915f69772454e7b1ca42fdb8 (patch)
treea2837bf635ee96a0c8077fa3f0e59fddfefa48f6 /llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
parent37729d8ceb91edaece07eea6ab45fe8d0012132c (diff)
downloadllvm-76d993bd25ff462d915f69772454e7b1ca42fdb8.zip
llvm-76d993bd25ff462d915f69772454e7b1ca42fdb8.tar.gz
llvm-76d993bd25ff462d915f69772454e7b1ca42fdb8.tar.bz2
[Hexagon] Add missing operand when disassembling Y4_crswap10 (#153849)
Auto-generated decoder fails to add the $sgp10 operand because it has no encoding bits. Work around this by adding the missing operand after decoding is complete. Fixes #153829.
Diffstat (limited to 'llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp')
-rw-r--r--llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp b/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
index 22cff7c..bcddb54 100644
--- a/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
+++ b/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
@@ -526,6 +526,9 @@ DecodeStatus HexagonDisassembler::getSingleInstruction(MCInst &MI, MCInst &MCB,
MI.insert(MI.begin() + 1,
MCOperand::createExpr(MCConstantExpr::create(-1, getContext())));
break;
+ case Hexagon::Y4_crswap10:
+ MI.addOperand(MCOperand::createReg(Hexagon::SGP1_0));
+ break;
default:
break;
}