summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-11-24 02:15:41 +0000
committerChris Lattner <sabre@nondot.org>2004-11-24 02:15:41 +0000
commit2f5091ac2ace9e8fd79166810a7d20a9c4692254 (patch)
tree02b16ccc0ce7f294c917b9342ba591880bf723fc
parent00a8c0199901db28ecd2e96f9e1abb017991060c (diff)
downloadllvm-2f5091ac2ace9e8fd79166810a7d20a9c4692254.tar.gz
llvm-2f5091ac2ace9e8fd79166810a7d20a9c4692254.tar.bz2
llvm-2f5091ac2ace9e8fd79166810a7d20a9c4692254.tar.xz
Fix the encoding of ORi and other DForm4 instructions. This brings us to
36/42 SingleSource/UnitTests passing! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18199 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/PowerPC/PPCInstrFormats.td10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td
index 4053136e83..52159dc040 100644
--- a/lib/Target/PowerPC/PPCInstrFormats.td
+++ b/lib/Target/PowerPC/PPCInstrFormats.td
@@ -130,7 +130,15 @@ class DForm_3<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
: DForm_1<opcode, ppc64, vmx, OL, asmstr>;
class DForm_4<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
- : DForm_base<opcode, ppc64, vmx, OL, asmstr>;
+ : I<opcode, ppc64, vmx, OL, asmstr> {
+ bits<5> B;
+ bits<5> A;
+ bits<16> C;
+
+ let Inst{6-10} = A;
+ let Inst{11-15} = B;
+ let Inst{16-31} = C;
+}
class DForm_4_zero<bits<6> opcode, bit ppc64, bit vmx, dag OL, string asmstr>
: DForm_1<opcode, ppc64, vmx, OL, asmstr> {