diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-09-08 17:01:54 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-09-08 17:01:54 +0000 |
| commit | cf9b0e66735a66cd69ce3080304a48f897528583 (patch) | |
| tree | c7892121e82e58b3f1bbe4716fc9dfa46fff503d | |
| parent | f18935a59828e5ca01c6546b7e2d9fb19b1ea4c5 (diff) | |
| download | bcm5719-llvm-cf9b0e66735a66cd69ce3080304a48f897528583.tar.gz bcm5719-llvm-cf9b0e66735a66cd69ce3080304a48f897528583.zip | |
Add patterns for some new instructions, allowing the use of the ineg fragment.
llvm-svn: 23266
| -rw-r--r-- | llvm/lib/Target/PowerPC/PowerPCInstrFormats.td | 4 | ||||
| -rw-r--r-- | llvm/lib/Target/PowerPC/PowerPCInstrInfo.td | 16 |
2 files changed, 10 insertions, 10 deletions
diff --git a/llvm/lib/Target/PowerPC/PowerPCInstrFormats.td b/llvm/lib/Target/PowerPC/PowerPCInstrFormats.td index 0f709e1968a..1475f7ad03b 100644 --- a/llvm/lib/Target/PowerPC/PowerPCInstrFormats.td +++ b/llvm/lib/Target/PowerPC/PowerPCInstrFormats.td @@ -449,8 +449,8 @@ class XOForm_1<bits<6> opcode, bits<9> xo, bit oe, dag OL, string asmstr, } class XOForm_3<bits<6> opcode, bits<9> xo, bit oe, - dag OL, string asmstr> - : XOForm_1<opcode, xo, oe, OL, asmstr, []> { + dag OL, string asmstr, list<dag> pattern> + : XOForm_1<opcode, xo, oe, OL, asmstr, pattern> { let RB = 0; } diff --git a/llvm/lib/Target/PowerPC/PowerPCInstrInfo.td b/llvm/lib/Target/PowerPC/PowerPCInstrInfo.td index 30167698fb6..1ffca1d3775 100644 --- a/llvm/lib/Target/PowerPC/PowerPCInstrInfo.td +++ b/llvm/lib/Target/PowerPC/PowerPCInstrInfo.td @@ -60,10 +60,6 @@ def vtFP : PatLeaf<(vt), [{ return MVT::isFloatingPoint(N->getVT()); }]>; def not : PatFrag<(ops node:$in), (xor node:$in, immAllOnes)>; def ineg : PatFrag<(ops node:$in), (sub immZero, node:$in)>; - - - - class isPPC64 { bit PPC64 = 1; } class isVMX { bit VMX = 1; } class isDOT { @@ -476,13 +472,17 @@ def SUBFE : XOForm_1<31, 136, 0, (ops GPRC:$rT, GPRC:$rA, GPRC:$rB), "subfe $rT, $rA, $rB", []>; def ADDME : XOForm_3<31, 234, 0, (ops GPRC:$rT, GPRC:$rA), - "addme $rT, $rA">; + "addme $rT, $rA", + []>; def ADDZE : XOForm_3<31, 202, 0, (ops GPRC:$rT, GPRC:$rA), - "addze $rT, $rA">; + "addze $rT, $rA", + []>; def NEG : XOForm_3<31, 104, 0, (ops GPRC:$rT, GPRC:$rA), - "neg $rT, $rA">; + "neg $rT, $rA", + [(set GPRC:$rT, (ineg GPRC:$rA))]>; def SUBFZE : XOForm_3<31, 200, 0, (ops GPRC:$rT, GPRC:$rA), - "subfze $rT, $rA">; + "subfze $rT, $rA", + []>; // A-Form instructions. Most of the instructions executed in the FPU are of // this type. |

