xt_sync.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* Definitions for the xt_sync TIE package */
  2. /*
  3. * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc. ALL RIGHTS RESERVED.
  4. * These coded instructions, statements, and computer programs are the
  5. * copyrighted works and confidential proprietary information of Tensilica Inc.
  6. * They may not be modified, copied, reproduced, distributed, or disclosed to
  7. * third parties in any manner, medium, or form, in whole or in part, without
  8. * the prior written consent of Tensilica Inc.
  9. */
  10. /* Do not modify. This is automatically generated.*/
  11. #ifndef _XTENSA_xt_sync_HEADER
  12. #define _XTENSA_xt_sync_HEADER
  13. #ifdef __XTENSA__
  14. #ifdef __XCC__
  15. #include <xtensa/tie/xt_core.h>
  16. /*
  17. * The following prototypes describe intrinsic functions
  18. * corresponding to TIE instructions. Some TIE instructions
  19. * may produce multiple results (designated as "out" operands
  20. * in the iclass section) or may have operands used as both
  21. * inputs and outputs (designated as "inout"). However, the C
  22. * and C++ languages do not provide syntax that can express
  23. * the in/out/inout constraints of TIE intrinsics.
  24. * Nevertheless, the compiler understands these constraints
  25. * and will check that the intrinsic functions are used
  26. * correctly. To improve the readability of these prototypes,
  27. * the "out" and "inout" parameters are marked accordingly
  28. * with comments.
  29. */
  30. extern unsigned _TIE_xt_sync_RSR_SCOMPARE1(void);
  31. extern void _TIE_xt_sync_WSR_SCOMPARE1(unsigned art);
  32. extern void _TIE_xt_sync_XSR_SCOMPARE1(unsigned art /*inout*/);
  33. extern unsigned _TIE_xt_sync_RSR_ATOMCTL(void);
  34. extern void _TIE_xt_sync_WSR_ATOMCTL(unsigned art);
  35. extern void _TIE_xt_sync_XSR_ATOMCTL(unsigned art /*inout*/);
  36. extern unsigned _TIE_xt_sync_L32AI(const unsigned * p, immediate o);
  37. extern void _TIE_xt_sync_S32RI(unsigned c, unsigned * p, immediate o);
  38. extern void _TIE_xt_sync_S32C1I(unsigned c /*inout*/, const unsigned * p, immediate o);
  39. #define XT_RSR_SCOMPARE1 _TIE_xt_sync_RSR_SCOMPARE1
  40. #define XT_WSR_SCOMPARE1 _TIE_xt_sync_WSR_SCOMPARE1
  41. #define XT_XSR_SCOMPARE1 _TIE_xt_sync_XSR_SCOMPARE1
  42. #define XT_RSR_ATOMCTL _TIE_xt_sync_RSR_ATOMCTL
  43. #define XT_WSR_ATOMCTL _TIE_xt_sync_WSR_ATOMCTL
  44. #define XT_XSR_ATOMCTL _TIE_xt_sync_XSR_ATOMCTL
  45. #define XT_L32AI _TIE_xt_sync_L32AI
  46. #define XT_S32RI _TIE_xt_sync_S32RI
  47. #define XT_S32C1I _TIE_xt_sync_S32C1I
  48. #endif /* __XCC__ */
  49. #endif /* __XTENSA__ */
  50. #endif /* !_XTENSA_xt_sync_HEADER */