]> CyberLeo.Net >> Repos - FreeBSD/releng/9.0.git/blob - contrib/llvm/lib/Target/XCore/XCoreInstrFormats.td
Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
[FreeBSD/releng/9.0.git] / contrib / llvm / lib / Target / XCore / XCoreInstrFormats.td
1 //===- XCoreInstrFormats.td - XCore Instruction Formats ----*- tablegen -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 //===----------------------------------------------------------------------===//
11 // Instruction format superclass
12 //===----------------------------------------------------------------------===//
13 class InstXCore<dag outs, dag ins, string asmstr, list<dag> pattern>
14     : Instruction {
15   field bits<32> Inst;
16
17   let Namespace = "XCore";
18   dag OutOperandList = outs;
19   dag InOperandList = ins;
20   let AsmString   = asmstr;
21   let Pattern = pattern;
22 }
23
24 // XCore pseudo instructions format
25 class PseudoInstXCore<dag outs, dag ins, string asmstr, list<dag> pattern>
26    : InstXCore<outs, ins, asmstr, pattern>;
27
28 //===----------------------------------------------------------------------===//
29 // Instruction formats
30 //===----------------------------------------------------------------------===//
31
32 class _F3R<dag outs, dag ins, string asmstr, list<dag> pattern>
33     : InstXCore<outs, ins, asmstr, pattern> {
34   let Inst{31-0} = 0;
35 }
36
37 class _FL3R<dag outs, dag ins, string asmstr, list<dag> pattern>
38     : InstXCore<outs, ins, asmstr, pattern> {
39   let Inst{31-0} = 0;
40 }
41
42 class _F2RUS<dag outs, dag ins, string asmstr, list<dag> pattern>
43     : InstXCore<outs, ins, asmstr, pattern> {
44   let Inst{31-0} = 0;
45 }
46
47 class _FL2RUS<dag outs, dag ins, string asmstr, list<dag> pattern>
48     : InstXCore<outs, ins, asmstr, pattern> {
49   let Inst{31-0} = 0;
50 }
51
52 class _FRU6<dag outs, dag ins, string asmstr, list<dag> pattern>
53     : InstXCore<outs, ins, asmstr, pattern> {
54   let Inst{31-0} = 0;
55 }
56
57 class _FLRU6<dag outs, dag ins, string asmstr, list<dag> pattern>
58     : InstXCore<outs, ins, asmstr, pattern> {
59   let Inst{31-0} = 0;
60 }
61
62 class _FU6<dag outs, dag ins, string asmstr, list<dag> pattern>
63     : InstXCore<outs, ins, asmstr, pattern> {
64   let Inst{31-0} = 0;
65 }
66
67 class _FLU6<dag outs, dag ins, string asmstr, list<dag> pattern>
68     : InstXCore<outs, ins, asmstr, pattern> {
69   let Inst{31-0} = 0;
70 }
71
72 class _FU10<dag outs, dag ins, string asmstr, list<dag> pattern>
73     : InstXCore<outs, ins, asmstr, pattern> {
74   let Inst{31-0} = 0;
75 }
76
77 class _FLU10<dag outs, dag ins, string asmstr, list<dag> pattern>
78     : InstXCore<outs, ins, asmstr, pattern> {
79   let Inst{31-0} = 0;
80 }
81
82 class _F2R<dag outs, dag ins, string asmstr, list<dag> pattern>
83     : InstXCore<outs, ins, asmstr, pattern> {
84   let Inst{31-0} = 0;
85 }
86
87 class _FRUS<dag outs, dag ins, string asmstr, list<dag> pattern>
88     : InstXCore<outs, ins, asmstr, pattern> {
89   let Inst{31-0} = 0;
90 }
91
92 class _FL2R<dag outs, dag ins, string asmstr, list<dag> pattern>
93     : InstXCore<outs, ins, asmstr, pattern> {
94   let Inst{31-0} = 0;
95 }
96
97 class _F1R<dag outs, dag ins, string asmstr, list<dag> pattern>
98     : InstXCore<outs, ins, asmstr, pattern> {
99   let Inst{31-0} = 0;
100 }
101
102 class _F0R<dag outs, dag ins, string asmstr, list<dag> pattern>
103     : InstXCore<outs, ins, asmstr, pattern> {
104   let Inst{31-0} = 0;
105 }
106
107 class _L4R<dag outs, dag ins, string asmstr, list<dag> pattern>
108     : InstXCore<outs, ins, asmstr, pattern> {
109   let Inst{31-0} = 0;
110 }
111
112 class _L5R<dag outs, dag ins, string asmstr, list<dag> pattern>
113     : InstXCore<outs, ins, asmstr, pattern> {
114   let Inst{31-0} = 0;
115 }
116
117 class _L6R<dag outs, dag ins, string asmstr, list<dag> pattern>
118     : InstXCore<outs, ins, asmstr, pattern> {
119   let Inst{31-0} = 0;
120 }