1 //===- IntrinsicsMBlaze.td - Defines MBlaze intrinsics -----*- tablegen -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file defines all of the MicroBlaze-specific intrinsics.
12 //===----------------------------------------------------------------------===//
14 //===----------------------------------------------------------------------===//
15 // Definitions for all MBlaze intrinsics.
18 // MBlaze intrinsic classes.
19 let TargetPrefix = "mblaze", isTarget = 1 in {
20 class MBFSL_Get_Intrinsic : Intrinsic<[llvm_i32_ty], [llvm_i32_ty], []>;
22 class MBFSL_Put_Intrinsic : Intrinsic<[], [llvm_i32_ty, llvm_i32_ty], []>;
24 class MBFSL_PutT_Intrinsic : Intrinsic<[], [llvm_i32_ty], []>;
27 //===----------------------------------------------------------------------===//
28 // MicroBlaze FSL Get Intrinsic Definitions.
31 def int_mblaze_fsl_get : GCCBuiltin<"__builtin_mblaze_fsl_get">,
33 def int_mblaze_fsl_aget : GCCBuiltin<"__builtin_mblaze_fsl_aget">,
35 def int_mblaze_fsl_cget : GCCBuiltin<"__builtin_mblaze_fsl_cget">,
37 def int_mblaze_fsl_caget : GCCBuiltin<"__builtin_mblaze_fsl_caget">,
39 def int_mblaze_fsl_eget : GCCBuiltin<"__builtin_mblaze_fsl_eget">,
41 def int_mblaze_fsl_eaget : GCCBuiltin<"__builtin_mblaze_fsl_eaget">,
43 def int_mblaze_fsl_ecget : GCCBuiltin<"__builtin_mblaze_fsl_ecget">,
45 def int_mblaze_fsl_ecaget : GCCBuiltin<"__builtin_mblaze_fsl_ecaget">,
47 def int_mblaze_fsl_nget : GCCBuiltin<"__builtin_mblaze_fsl_nget">,
49 def int_mblaze_fsl_naget : GCCBuiltin<"__builtin_mblaze_fsl_naget">,
51 def int_mblaze_fsl_ncget : GCCBuiltin<"__builtin_mblaze_fsl_ncget">,
53 def int_mblaze_fsl_ncaget : GCCBuiltin<"__builtin_mblaze_fsl_ncaget">,
55 def int_mblaze_fsl_neget : GCCBuiltin<"__builtin_mblaze_fsl_neget">,
57 def int_mblaze_fsl_neaget : GCCBuiltin<"__builtin_mblaze_fsl_neaget">,
59 def int_mblaze_fsl_necget : GCCBuiltin<"__builtin_mblaze_fsl_necget">,
61 def int_mblaze_fsl_necaget : GCCBuiltin<"__builtin_mblaze_fsl_necaget">,
63 def int_mblaze_fsl_tget : GCCBuiltin<"__builtin_mblaze_fsl_tget">,
65 def int_mblaze_fsl_taget : GCCBuiltin<"__builtin_mblaze_fsl_taget">,
67 def int_mblaze_fsl_tcget : GCCBuiltin<"__builtin_mblaze_fsl_tcget">,
69 def int_mblaze_fsl_tcaget : GCCBuiltin<"__builtin_mblaze_fsl_tcaget">,
71 def int_mblaze_fsl_teget : GCCBuiltin<"__builtin_mblaze_fsl_teget">,
73 def int_mblaze_fsl_teaget : GCCBuiltin<"__builtin_mblaze_fsl_teaget">,
75 def int_mblaze_fsl_tecget : GCCBuiltin<"__builtin_mblaze_fsl_tecget">,
77 def int_mblaze_fsl_tecaget : GCCBuiltin<"__builtin_mblaze_fsl_tecaget">,
79 def int_mblaze_fsl_tnget : GCCBuiltin<"__builtin_mblaze_fsl_tnget">,
81 def int_mblaze_fsl_tnaget : GCCBuiltin<"__builtin_mblaze_fsl_tnaget">,
83 def int_mblaze_fsl_tncget : GCCBuiltin<"__builtin_mblaze_fsl_tncget">,
85 def int_mblaze_fsl_tncaget : GCCBuiltin<"__builtin_mblaze_fsl_tncaget">,
87 def int_mblaze_fsl_tneget : GCCBuiltin<"__builtin_mblaze_fsl_tneget">,
89 def int_mblaze_fsl_tneaget : GCCBuiltin<"__builtin_mblaze_fsl_tneaget">,
91 def int_mblaze_fsl_tnecget : GCCBuiltin<"__builtin_mblaze_fsl_tnecget">,
93 def int_mblaze_fsl_tnecaget : GCCBuiltin<"__builtin_mblaze_fsl_tnecaget">,
96 //===----------------------------------------------------------------------===//
97 // MicroBlaze FSL Put Intrinsic Definitions.
100 def int_mblaze_fsl_put : GCCBuiltin<"__builtin_mblaze_fsl_put">,
102 def int_mblaze_fsl_aput : GCCBuiltin<"__builtin_mblaze_fsl_aput">,
104 def int_mblaze_fsl_cput : GCCBuiltin<"__builtin_mblaze_fsl_cput">,
106 def int_mblaze_fsl_caput : GCCBuiltin<"__builtin_mblaze_fsl_caput">,
108 def int_mblaze_fsl_nput : GCCBuiltin<"__builtin_mblaze_fsl_nput">,
110 def int_mblaze_fsl_naput : GCCBuiltin<"__builtin_mblaze_fsl_naput">,
112 def int_mblaze_fsl_ncput : GCCBuiltin<"__builtin_mblaze_fsl_ncput">,
114 def int_mblaze_fsl_ncaput : GCCBuiltin<"__builtin_mblaze_fsl_ncaput">,
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;