]> granicus.if.org Git - esp-idf/blob - components/esp32/include/xtensa/tie/xt_misc.h
Initial public version
[esp-idf] / components / esp32 / include / xtensa / tie / xt_misc.h
1 /* Definitions for the xt_misc TIE package */
2
3 /*
4  * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
5  * These coded instructions, statements, and computer programs are the
6  * copyrighted works and confidential proprietary information of Tensilica Inc.
7  * They may not be modified, copied, reproduced, distributed, or disclosed to
8  * third parties in any manner, medium, or form, in whole or in part, without
9  * the prior written consent of Tensilica Inc.
10  */
11
12 /* Do not modify. This is automatically generated.*/
13
14 #ifndef _XTENSA_xt_misc_HEADER
15 #define _XTENSA_xt_misc_HEADER
16
17 #ifdef __XTENSA__
18 #ifdef __XCC__
19
20 #include <xtensa/tie/xt_core.h>
21
22 /*
23  * The following prototypes describe intrinsic functions
24  * corresponding to TIE instructions.  Some TIE instructions
25  * may produce multiple results (designated as "out" operands
26  * in the iclass section) or may have operands used as both
27  * inputs and outputs (designated as "inout").  However, the C
28  * and C++ languages do not provide syntax that can express
29  * the in/out/inout constraints of TIE intrinsics.
30  * Nevertheless, the compiler understands these constraints
31  * and will check that the intrinsic functions are used
32  * correctly.  To improve the readability of these prototypes,
33  * the "out" and "inout" parameters are marked accordingly
34  * with comments.
35  */
36
37 extern int _TIE_xt_misc_CLAMPS(int s, immediate i);
38 extern int _TIE_xt_misc_MIN(int s, int t);
39 extern int _TIE_xt_misc_MAX(int s, int t);
40 extern unsigned _TIE_xt_misc_MINU(unsigned s, unsigned t);
41 extern unsigned _TIE_xt_misc_MAXU(unsigned s, unsigned t);
42 extern int _TIE_xt_misc_NSA(int s);
43 extern unsigned _TIE_xt_misc_NSAU(unsigned s);
44 extern int _TIE_xt_misc_SEXT(int s, immediate i);
45 #define XT_CLAMPS _TIE_xt_misc_CLAMPS
46 #define XT_MIN _TIE_xt_misc_MIN
47 #define XT_MAX _TIE_xt_misc_MAX
48 #define XT_MINU _TIE_xt_misc_MINU
49 #define XT_MAXU _TIE_xt_misc_MAXU
50 #define XT_NSA _TIE_xt_misc_NSA
51 #define XT_NSAU _TIE_xt_misc_NSAU
52 #define XT_SEXT _TIE_xt_misc_SEXT
53
54 #endif /* __XCC__ */
55
56 #endif /* __XTENSA__ */
57
58 #endif /* !_XTENSA_xt_misc_HEADER */