Home | History | Annotate | Download | only in MBlaze
      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;
    132