Home | History | Annotate | Download | only in Basic
      1 //===-- BuiltinsNios2.def - Nios2 Builtin function database --------*- C++ -*-==//
      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 the Nios2-specific builtin function database. Users of
     11 // this file must define the BUILTIN macro to make use of this information.
     12 //
     13 //===----------------------------------------------------------------------===//
     14 
     15 // The format of this database matches clang/Basic/Builtins.def.
     16 
     17 #if defined(BUILTIN) && !defined(TARGET_BUILTIN)
     18 #   define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE) BUILTIN(ID, TYPE, ATTRS)
     19 #endif
     20 
     21 // Nios2 R1 builtins:
     22 
     23 //int __builtin_ldbio(volatile const void *);
     24 BUILTIN(__builtin_ldbio, "ivDC*", "")
     25 //int __builtin_ldbuio(volatile const void *);
     26 BUILTIN(__builtin_ldbuio, "ivDC*", "")
     27 //int __builtin_ldhio(volatile const void *);
     28 BUILTIN(__builtin_ldhio, "ivDC*", "")
     29 //int __builtin_ldhuio(volatile const void *);
     30 BUILTIN(__builtin_ldhuio, "ivDC*", "")
     31 //int __builtin_ldwio(volatile const void *);
     32 BUILTIN(__builtin_ldwio, "ivDC*", "")
     33 //int __builtin_ldwuio(int);
     34 BUILTIN(__builtin_ldwuio, "ii", "")
     35 // int __builtin_rdctl(int);
     36 BUILTIN(__builtin_rdctl, "iIi", "")
     37 // void __builtin_wrctl(int, int);
     38 BUILTIN(__builtin_wrctl, "vIii", "")
     39 // int __builtin_rdprs(int, int);
     40 BUILTIN(__builtin_rdprs, "iii", "")
     41 //void __builtin_stbio(volatile void *, int);
     42 BUILTIN(__builtin_stbio, "vvD*i", "")
     43 //void __builtin_sthio(volatile void *, int);
     44 BUILTIN(__builtin_sthio, "vvD*i", "")
     45 //void __builtin_stwio(volatile void *, int);
     46 BUILTIN(__builtin_stwio, "vvD*i", "")
     47 //void __builtin_sync(void);
     48 BUILTIN(__builtin_sync, "v", "")
     49 // void __builtin_flushd(volatile void *);
     50 BUILTIN(__builtin_flushd, "vvD*", "")
     51 // void __builtin_flushda(volatile void *);
     52 BUILTIN(__builtin_flushda, "vvD*", "")
     53 
     54 // Nios2 R2 builtins:
     55 
     56 // int __builtin_wrpie(int);
     57 TARGET_BUILTIN(__builtin_wrpie, "ii", "", "nios2r2mandatory")
     58 // void __builtin_eni(int);
     59 TARGET_BUILTIN(__builtin_eni, "vi", "", "nios2r2mandatory")
     60 // int __builtin_ldex(volatile const void *);
     61 TARGET_BUILTIN(__builtin_ldex, "ivDC*", "", "nios2r2mandatory")
     62 // int __builtin_stex(volatile void *, int);
     63 TARGET_BUILTIN(__builtin_stex, "ivD*i", "", "nios2r2mandatory")
     64 // int __builtin_ldsex(volatile const void *);
     65 TARGET_BUILTIN(__builtin_ldsex, "ivDC*", "", "nios2r2mpx")
     66 // int __builtin_stsex(volatile void *, int);
     67 TARGET_BUILTIN(__builtin_stsex, "ivDC*i", "", "nios2r2mpx")
     68 
     69 #undef BUILTIN
     70 #undef TARGET_BUILTIN
     71