aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
diff options
context:
space:
mode:
authorKai Luo <lkail@cn.ibm.com>2021-06-15 01:55:37 +0000
committerKai Luo <lkail@cn.ibm.com>2021-06-15 01:56:10 +0000
commit1c450c3d7ec01d9daaf9f2651da93b01e7790ffd (patch)
treebcf0ce27bb38de8a5eb5ec0467cf02ff5fb713a7 /llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
parentb8919fb0eac15d13c5f56d3d30ce378a588dd78c (diff)
downloadllvm-1c450c3d7ec01d9daaf9f2651da93b01e7790ffd.zip
llvm-1c450c3d7ec01d9daaf9f2651da93b01e7790ffd.tar.gz
llvm-1c450c3d7ec01d9daaf9f2651da93b01e7790ffd.tar.bz2
[PowerPC] Export 16 byte load-store instructions
Export `lq`, `stq`, `lqarx` and `stqcx.` in preparation for implementing 16-byte lock free atomic operations on AIX. Add a new register class `g8prc` for these instructions, since these instructions require even-odd register pair. Reviewed By: nemanjai, jsji, #powerpc Differential Revision: https://reviews.llvm.org/D103010
Diffstat (limited to 'llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp b/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
index 44f9920..94416fc 100644
--- a/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
+++ b/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
@@ -160,6 +160,12 @@ static DecodeStatus DecodeG8RCRegisterClass(MCInst &Inst, uint64_t RegNo,
return decodeRegisterClass(Inst, RegNo, XRegs);
}
+static DecodeStatus DecodeG8pRCRegisterClass(MCInst &Inst, uint64_t RegNo,
+ uint64_t Address,
+ const void *Decoder) {
+ return decodeRegisterClass(Inst, RegNo, XRegs);
+}
+
static DecodeStatus DecodeG8RC_NOX0RegisterClass(MCInst &Inst, uint64_t RegNo,
uint64_t Address,
const void *Decoder) {