diff options
author | Chris Lattner <sabre@nondot.org> | 2005-09-02 21:18:00 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-09-02 21:18:00 +0000 |
commit | 218a15d02c6b5276e26050bbb6bc13db085ad83d (patch) | |
tree | 9f6786aec186392e43e9c26d7f8099807a639aca /lib/Target/PowerPC/PPCInstrFormats.td | |
parent | 6fdcb250d5692235813b30274cdfcd0e76377f00 (diff) | |
download | llvm-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.td | 13 |
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; } |