summaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/PPCInstrFormats.td
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-11-23 21:17:35 +0000
committerChris Lattner <sabre@nondot.org>2004-11-23 21:17:35 +0000
commit5afa9af81b63e26a4510e0538e6ce19f01f8abf7 (patch)
tree6c5c68d158bfbdba4806e5ba2947c1a175e006b3 /lib/Target/PowerPC/PPCInstrFormats.td
parent88108b8cfa4911e95fc65484accb3676fa99010e (diff)
downloadllvm-5afa9af81b63e26a4510e0538e6ce19f01f8abf7.tar.gz
llvm-5afa9af81b63e26a4510e0538e6ce19f01f8abf7.tar.bz2
llvm-5afa9af81b63e26a4510e0538e6ce19f01f8abf7.tar.xz
Fix the encoding of OR, AND and many other instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18174 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCInstrFormats.td')
-rw-r--r--lib/Target/PowerPC/PPCInstrFormats.td12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td
index f1da7bdbeb..c5ad77a958 100644
--- a/lib/Target/PowerPC/PPCInstrFormats.td
+++ b/lib/Target/PowerPC/PPCInstrFormats.td
@@ -218,7 +218,17 @@ class XForm_5<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
class XForm_6<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr>
- : XForm_base_r3xo<opcode, xo, rc, ppc64, vmx, OL, asmstr>;
+ : I<opcode, ppc64, vmx, OL, asmstr> {
+ bits<5> A;
+ bits<5> RST;
+ bits<5> B;
+
+ let Inst{6-10} = RST;
+ let Inst{11-15} = A;
+ let Inst{16-20} = B;
+ let Inst{21-30} = xo;
+ let Inst{31} = rc;
+}
class XForm_8<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
dag OL, string asmstr>