[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCInstrFormats.td PPCInstrInfo.td
Chris Lattner
lattner at cs.uiuc.edu
Tue Jun 6 14:29:35 PDT 2006
Changes in directory llvm/lib/Target/PowerPC:
PPCInstrFormats.td updated: 1.73 -> 1.74
PPCInstrInfo.td updated: 1.220 -> 1.221
---
Log message:
Add PowerPC intrinsics to support dcbz[l]
---
Diffs of the changes: (+25 -0)
PPCInstrFormats.td | 17 +++++++++++++++++
PPCInstrInfo.td | 8 ++++++++
2 files changed, 25 insertions(+)
Index: llvm/lib/Target/PowerPC/PPCInstrFormats.td
diff -u llvm/lib/Target/PowerPC/PPCInstrFormats.td:1.73 llvm/lib/Target/PowerPC/PPCInstrFormats.td:1.74
--- llvm/lib/Target/PowerPC/PPCInstrFormats.td:1.73 Wed Apr 5 17:27:14 2006
+++ llvm/lib/Target/PowerPC/PPCInstrFormats.td Tue Jun 6 16:29:23 2006
@@ -325,6 +325,23 @@
: XForm_base_r3xo<opcode, xo, OL, asmstr, itin, pattern> {
}
+// DCB_Form - Form X instruction, used for dcb* instructions.
+class DCB_Form<bits<10> xo, bits<5> immfield, dag OL, string asmstr,
+ InstrItinClass itin, list<dag> pattern>
+ : I<31, OL, asmstr, itin> {
+ bits<5> A;
+ bits<5> B;
+
+ let Pattern = pattern;
+
+ let Inst{6-10} = immfield;
+ let Inst{11-15} = A;
+ let Inst{16-20} = B;
+ let Inst{21-30} = xo;
+ let Inst{31} = 0;
+}
+
+
// DSS_Form - Form X instruction, used for altivec dss* instructions.
class DSS_Form<bits<10> xo, dag OL, string asmstr,
InstrItinClass itin, list<dag> pattern>
Index: llvm/lib/Target/PowerPC/PPCInstrInfo.td
diff -u llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.220 llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.221
--- llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.220 Wed May 17 14:00:46 2006
+++ llvm/lib/Target/PowerPC/PPCInstrInfo.td Tue Jun 6 16:29:23 2006
@@ -318,6 +318,14 @@
[(PPCbctrl)]>;
}
+// DCB* instructions.
+def DCBZ : DCB_Form<1014, 0, (ops memrr:$dst),
+ "dcbz $dst", LdStDCBF, [(int_ppc_dcbz xoaddr:$dst)]>,
+ PPC970_DGroup_Single;
+def DCBZL : DCB_Form<1014, 1, (ops memrr:$dst),
+ "dcbzl $dst", LdStDCBF, [(int_ppc_dcbzl xoaddr:$dst)]>,
+ PPC970_DGroup_Single;
+
// D-Form instructions. Most instructions that perform an operation on a
// register and an immediate are of this type.
//
More information about the llvm-commits
mailing list