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