summaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/PPCInstrFormats.td
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-09-02 21:18:00 +0000
committerChris Lattner <sabre@nondot.org>2005-09-02 21:18:00 +0000
commit218a15d02c6b5276e26050bbb6bc13db085ad83d (patch)
tree9f6786aec186392e43e9c26d7f8099807a639aca /lib/Target/PowerPC/PPCInstrFormats.td
parent6fdcb250d5692235813b30274cdfcd0e76377f00 (diff)
downloadllvm-218a15d02c6b5276e26050bbb6bc13db085ad83d.tar.gz
llvm-218a15d02c6b5276e26050bbb6bc13db085ad83d.tar.bz2
llvm-218a15d02c6b5276e26050bbb6bc13db085ad83d.tar.xz
Add some initial patterns to simple binary instructions, though they
currently don't do anything. This elides patterns for binary operators that ping on the carry flag, since we don't model it yet. This patch also removes PPC::SUB, because it is dead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23230 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCInstrFormats.td')
-rw-r--r--lib/Target/PowerPC/PPCInstrFormats.td13
1 files changed, 5 insertions, 8 deletions
diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td
index dfbbbe49e7..aaeb1eb01c 100644
--- a/lib/Target/PowerPC/PPCInstrFormats.td
+++ b/lib/Target/PowerPC/PPCInstrFormats.td
@@ -424,12 +424,15 @@ class XSForm_1<bits<6> opcode, bits<9> xo, dag OL, string asmstr>
}
// 1.7.11 XO-Form
-class XOForm_1<bits<6> opcode, bits<9> xo, bit oe, dag OL, string asmstr>
+class XOForm_1<bits<6> opcode, bits<9> xo, bit oe, dag OL, string asmstr,
+ list<dag> pattern>
: I<opcode, OL, asmstr> {
bits<5> RT;
bits<5> RA;
bits<5> RB;
+ let Pattern = pattern;
+
bit RC = 0; // set by isDOT
let Inst{6-10} = RT;
@@ -440,15 +443,9 @@ class XOForm_1<bits<6> opcode, bits<9> xo, bit oe, dag OL, string asmstr>
let Inst{31} = RC;
}
-class XOForm_1r<bits<6> opcode, bits<9> xo, bit oe, dag OL, string asmstr>
- : XOForm_1<opcode, xo, oe, OL, asmstr> {
- let Inst{11-15} = RB;
- let Inst{16-20} = RA;
-}
-
class XOForm_3<bits<6> opcode, bits<9> xo, bit oe,
dag OL, string asmstr>
- : XOForm_1<opcode, xo, oe, OL, asmstr> {
+ : XOForm_1<opcode, xo, oe, OL, asmstr, []> {
let RB = 0;
}