b5dc59547bbf20297c12efda7c44beacffa46aec
[oota-llvm.git] / lib / Target / MBlaze / MBlazeIntrinsics.td
1 //===-- IntrinsicsMBlaze.td - Defines MBlaze intrinsics ----*- 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 // This file defines all of the MicroBlaze-specific intrinsics.
11 //
12 //===----------------------------------------------------------------------===//
13
14 //===----------------------------------------------------------------------===//
15 // Definitions for all MBlaze intrinsics.
16 //
17
18 // MBlaze intrinsic classes.
19 let TargetPrefix = "mblaze", isTarget = 1 in {
20   class MBFSL_Get_Intrinsic : Intrinsic<[llvm_i32_ty], [llvm_i32_ty], []>;
21
22   class MBFSL_Put_Intrinsic : Intrinsic<[], [llvm_i32_ty, llvm_i32_ty], []>;
23
24   class MBFSL_PutT_Intrinsic : Intrinsic<[], [llvm_i32_ty], []>;
25 }
26
27 //===----------------------------------------------------------------------===//
28 // MicroBlaze FSL Get Intrinsic Definitions.
29 //
30
31 def int_mblaze_fsl_get      : GCCBuiltin<"__builtin_mblaze_fsl_get">,
32                               MBFSL_Get_Intrinsic;
33 def int_mblaze_fsl_aget     : GCCBuiltin<"__builtin_mblaze_fsl_aget">,
34                               MBFSL_Get_Intrinsic;
35 def int_mblaze_fsl_cget     : GCCBuiltin<"__builtin_mblaze_fsl_cget">,
36                               MBFSL_Get_Intrinsic;
37 def int_mblaze_fsl_caget    : GCCBuiltin<"__builtin_mblaze_fsl_caget">,
38                               MBFSL_Get_Intrinsic;
39 def int_mblaze_fsl_eget     : GCCBuiltin<"__builtin_mblaze_fsl_eget">,
40                               MBFSL_Get_Intrinsic;
41 def int_mblaze_fsl_eaget    : GCCBuiltin<"__builtin_mblaze_fsl_eaget">,
42                               MBFSL_Get_Intrinsic;
43 def int_mblaze_fsl_ecget    : GCCBuiltin<"__builtin_mblaze_fsl_ecget">,
44                               MBFSL_Get_Intrinsic;
45 def int_mblaze_fsl_ecaget   : GCCBuiltin<"__builtin_mblaze_fsl_ecaget">,
46                               MBFSL_Get_Intrinsic;
47 def int_mblaze_fsl_nget     : GCCBuiltin<"__builtin_mblaze_fsl_nget">,
48                               MBFSL_Get_Intrinsic;
49 def int_mblaze_fsl_naget    : GCCBuiltin<"__builtin_mblaze_fsl_naget">,
50                               MBFSL_Get_Intrinsic;
51 def int_mblaze_fsl_ncget    : GCCBuiltin<"__builtin_mblaze_fsl_ncget">,
52                               MBFSL_Get_Intrinsic;
53 def int_mblaze_fsl_ncaget   : GCCBuiltin<"__builtin_mblaze_fsl_ncaget">,
54                               MBFSL_Get_Intrinsic;
55 def int_mblaze_fsl_neget    : GCCBuiltin<"__builtin_mblaze_fsl_neget">,
56                               MBFSL_Get_Intrinsic;
57 def int_mblaze_fsl_neaget   : GCCBuiltin<"__builtin_mblaze_fsl_neaget">,
58                               MBFSL_Get_Intrinsic;
59 def int_mblaze_fsl_necget   : GCCBuiltin<"__builtin_mblaze_fsl_necget">,
60                               MBFSL_Get_Intrinsic;
61 def int_mblaze_fsl_necaget  : GCCBuiltin<"__builtin_mblaze_fsl_necaget">,
62                               MBFSL_Get_Intrinsic;
63 def int_mblaze_fsl_tget     : GCCBuiltin<"__builtin_mblaze_fsl_tget">,
64                               MBFSL_Get_Intrinsic;
65 def int_mblaze_fsl_taget    : GCCBuiltin<"__builtin_mblaze_fsl_taget">,
66                               MBFSL_Get_Intrinsic;
67 def int_mblaze_fsl_tcget    : GCCBuiltin<"__builtin_mblaze_fsl_tcget">,
68                               MBFSL_Get_Intrinsic;
69 def int_mblaze_fsl_tcaget   : GCCBuiltin<"__builtin_mblaze_fsl_tcaget">,
70                               MBFSL_Get_Intrinsic;
71 def int_mblaze_fsl_teget    : GCCBuiltin<"__builtin_mblaze_fsl_teget">,
72                               MBFSL_Get_Intrinsic;
73 def int_mblaze_fsl_teaget   : GCCBuiltin<"__builtin_mblaze_fsl_teaget">,
74                               MBFSL_Get_Intrinsic;
75 def int_mblaze_fsl_tecget   : GCCBuiltin<"__builtin_mblaze_fsl_tecget">,
76                               MBFSL_Get_Intrinsic;
77 def int_mblaze_fsl_tecaget  : GCCBuiltin<"__builtin_mblaze_fsl_tecaget">,
78                               MBFSL_Get_Intrinsic;
79 def int_mblaze_fsl_tnget    : GCCBuiltin<"__builtin_mblaze_fsl_tnget">,
80                               MBFSL_Get_Intrinsic;
81 def int_mblaze_fsl_tnaget   : GCCBuiltin<"__builtin_mblaze_fsl_tnaget">,
82                               MBFSL_Get_Intrinsic;
83 def int_mblaze_fsl_tncget   : GCCBuiltin<"__builtin_mblaze_fsl_tncget">,
84                               MBFSL_Get_Intrinsic;
85 def int_mblaze_fsl_tncaget  : GCCBuiltin<"__builtin_mblaze_fsl_tncaget">,
86                               MBFSL_Get_Intrinsic;
87 def int_mblaze_fsl_tneget   : GCCBuiltin<"__builtin_mblaze_fsl_tneget">,
88                               MBFSL_Get_Intrinsic;
89 def int_mblaze_fsl_tneaget  : GCCBuiltin<"__builtin_mblaze_fsl_tneaget">,
90                               MBFSL_Get_Intrinsic;
91 def int_mblaze_fsl_tnecget  : GCCBuiltin<"__builtin_mblaze_fsl_tnecget">,
92                               MBFSL_Get_Intrinsic;
93 def int_mblaze_fsl_tnecaget : GCCBuiltin<"__builtin_mblaze_fsl_tnecaget">,
94                               MBFSL_Get_Intrinsic;
95
96 //===----------------------------------------------------------------------===//
97 // MicroBlaze FSL Put Intrinsic Definitions.
98 //
99
100 def int_mblaze_fsl_put     : GCCBuiltin<"__builtin_mblaze_fsl_put">,
101                              MBFSL_Put_Intrinsic;
102 def int_mblaze_fsl_aput    : GCCBuiltin<"__builtin_mblaze_fsl_aput">,
103                              MBFSL_Put_Intrinsic;
104 def int_mblaze_fsl_cput    : GCCBuiltin<"__builtin_mblaze_fsl_cput">,
105                              MBFSL_Put_Intrinsic;
106 def int_mblaze_fsl_caput   : GCCBuiltin<"__builtin_mblaze_fsl_caput">,
107                              MBFSL_Put_Intrinsic;
108 def int_mblaze_fsl_nput    : GCCBuiltin<"__builtin_mblaze_fsl_nput">,
109                              MBFSL_Put_Intrinsic;
110 def int_mblaze_fsl_naput   : GCCBuiltin<"__builtin_mblaze_fsl_naput">,
111                              MBFSL_Put_Intrinsic;
112 def int_mblaze_fsl_ncput   : GCCBuiltin<"__builtin_mblaze_fsl_ncput">,
113                              MBFSL_Put_Intrinsic;
114 def int_mblaze_fsl_ncaput  : GCCBuiltin<"__builtin_mblaze_fsl_ncaput">,
115                              MBFSL_Put_Intrinsic;
116 def int_mblaze_fsl_tput    : GCCBuiltin<"__builtin_mblaze_fsl_tput">,
117                              MBFSL_PutT_Intrinsic;
118 def int_mblaze_fsl_taput   : GCCBuiltin<"__builtin_mblaze_fsl_taput">,
119                              MBFSL_PutT_Intrinsic;
120 def int_mblaze_fsl_tcput   : GCCBuiltin<"__builtin_mblaze_fsl_tcput">,
121                              MBFSL_PutT_Intrinsic;
122 def int_mblaze_fsl_tcaput  : GCCBuiltin<"__builtin_mblaze_fsl_tcaput">,
123                              MBFSL_PutT_Intrinsic;
124 def int_mblaze_fsl_tnput   : GCCBuiltin<"__builtin_mblaze_fsl_tnput">,
125                              MBFSL_PutT_Intrinsic;
126 def int_mblaze_fsl_tnaput  : GCCBuiltin<"__builtin_mblaze_fsl_tnaput">,
127                              MBFSL_PutT_Intrinsic;
128 def int_mblaze_fsl_tncput  : GCCBuiltin<"__builtin_mblaze_fsl_tncput">,
129                              MBFSL_PutT_Intrinsic;
130 def int_mblaze_fsl_tncaput : GCCBuiltin<"__builtin_mblaze_fsl_tncaput">,
131                              MBFSL_PutT_Intrinsic;