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. // _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits