llvm.org GIT mirror llvm / e88c368
Added InstrItinClass support for instruction formats git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41156 91177308-0d34-0410-b5e6-96231b3b80d8 Bruno Cardoso Lopes 13 years ago
1 changed file(s) with 10 addition(s) and 9 deletion(s). Raw diff Collapse all Expand all
2121 //===----------------------------------------------------------------------===//
2222
2323 // Generic Mips Format
24 class MipsInst pattern>:
25 Instruction
24 class MipsInst pattern,
25 InstrItinClass itin>: Instruction
2626 {
2727 field bits<32> Inst;
2828
3434 let Inst{31-26} = opcode;
3535
3636 dag OutOperandList = outs;
37 dag InOperandList = ins;
37 dag InOperandList = ins;
38
3839 let AsmString = asmstr;
3940 let Pattern = pattern;
4041 }
4546 //===----------------------------------------------------------------------===//
4647
4748 class FR op, bits<6> _funct, dag outs, dag ins, string asmstr,
48 list pattern>:
49 MipsInst
49 list pattern, InstrItinClass itin>:
50 MipsInst
5051 {
5152 bits<5> rd;
5253 bits<5> rs;
6869 // Format I instruction class in Mips : <|opcode|rs|rt|immediate|>
6970 //===----------------------------------------------------------------------===//
7071
71 class FI op, dag outs, dag ins, string asmstr, list pattern>:
72 MipsInst
72 class FI op, dag outs, dag ins, string asmstr, list pattern,
73 InstrItinClass itin>: MipsInst
7374 {
7475 bits<5> rt;
7576 bits<5> rs;
8687 // Format J instruction class in Mips : <|opcode|address|>
8788 //===----------------------------------------------------------------------===//
8889
89 class FJ op, dag outs, dag ins, string asmstr, list pattern>:
90 MipsInst
90 class FJ op, dag outs, dag ins, string asmstr, list pattern,
91 InstrItinClass itin>: MipsInst
9192 {
9293 bits<26> addr;
9394