From d1cdc7028cbf5c58c3b3791d89c3bffa15944f65 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 8 Sep 2005 17:01:54 +0000 Subject: [PATCH] Add patterns for some new instructions, allowing the use of the ineg fragment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23266 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCInstrFormats.td | 4 ++-- lib/Target/PowerPC/PPCInstrInfo.td | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td index 0f709e1968a..1475f7ad03b 100644 --- a/lib/Target/PowerPC/PPCInstrFormats.td +++ b/lib/Target/PowerPC/PPCInstrFormats.td @@ -449,8 +449,8 @@ class XOForm_1 opcode, bits<9> xo, bit oe, dag OL, string asmstr, } class XOForm_3 opcode, bits<9> xo, bit oe, - dag OL, string asmstr> - : XOForm_1 { + dag OL, string asmstr, list pattern> + : XOForm_1 { let RB = 0; } diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td index 30167698fb6..1ffca1d3775 100644 --- a/lib/Target/PowerPC/PPCInstrInfo.td +++ b/lib/Target/PowerPC/PPCInstrInfo.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.