Add support for pushsection and popsection. Patch by Joerg Sonnenberger.
[oota-llvm.git] / include / llvm / IntrinsicsXCore.td
1 //==- IntrinsicsXCore.td - XCore intrinsics                 -*- tablegen -*-==//
2 // 
3 // Copyright (C) 2008 XMOS
4 //
5 //===----------------------------------------------------------------------===//
6 //
7 // This file defines all of the XCore-specific intrinsics.
8 //
9 //===----------------------------------------------------------------------===//
10
11 let TargetPrefix = "xcore" in {  // All intrinsics start with "llvm.xcore.".
12   def int_xcore_bitrev : Intrinsic<[llvm_i32_ty],[llvm_i32_ty],[IntrNoMem]>;
13   def int_xcore_getid : Intrinsic<[llvm_i32_ty],[],[IntrNoMem]>;
14
15   // Resource instructions.
16   def int_xcore_getr : Intrinsic<[llvm_anyptr_ty],[llvm_i32_ty]>;
17   def int_xcore_freer : Intrinsic<[],[llvm_anyptr_ty],
18                                    [NoCapture<0>]>;
19   def int_xcore_in : Intrinsic<[llvm_i32_ty],[llvm_anyptr_ty],[NoCapture<0>]>;
20   def int_xcore_int : Intrinsic<[llvm_i32_ty],[llvm_anyptr_ty],
21                                 [NoCapture<0>]>;
22   def int_xcore_inct : Intrinsic<[llvm_i32_ty],[llvm_anyptr_ty],
23                                  [NoCapture<0>]>;
24   def int_xcore_out : Intrinsic<[],[llvm_anyptr_ty, llvm_i32_ty],
25                                 [NoCapture<0>]>;
26   def int_xcore_outt : Intrinsic<[],[llvm_anyptr_ty, llvm_i32_ty],
27                                  [NoCapture<0>]>;
28   def int_xcore_outct : Intrinsic<[],[llvm_anyptr_ty, llvm_i32_ty],
29                                   [NoCapture<0>]>;
30   def int_xcore_chkct : Intrinsic<[],[llvm_anyptr_ty, llvm_i32_ty],
31                                   [NoCapture<0>]>;
32   def int_xcore_setd : Intrinsic<[],[llvm_anyptr_ty, llvm_i32_ty],
33                                   [NoCapture<0>]>;
34   def int_xcore_setc : Intrinsic<[],[llvm_anyptr_ty, llvm_i32_ty],
35                                   [NoCapture<0>]>;
36 }