|
#define | IFXCPU_INTRINSICSGNUC_USE_MACHINE_INTRINSICS 1 |
|
#define | STRINGIFY(x) #x |
|
#define | __non_return_call(fun) __asm__ volatile ("ja "#fun) |
|
#define | __minX(X, Y) ( ((X) < (Y)) ? (X) : (Y) ) |
|
#define | __maxX(X, Y) ( ((X) > (Y)) ? (X) : (Y) ) |
|
#define | __saturateX(X, Min, Max) ( __minX(__maxX(X, Min), Max) ) |
|
#define | __checkrangeX(X, Min, Max) (((X) >= (Min)) && ((X) <= (Max))) |
|
#define | __saturate(X, Min, Max) ( __min(__max(X, Min), Max) ) |
|
#define | __saturateu(X, Min, Max) ( __minu(__maxu(X, Min), Max) ) |
|
#define | __sqrf(X) ((X) * (X)) |
|
#define | __sqrtf(X) sqrtf(X) |
|
#define | __checkrange(X, Min, Max) (((X) >= (Min)) && ((X) <= (Max))) |
|
#define | __roundf(X) ((((X) - (sint32)(X)) > 0.5) ? (1 + (sint32)(X)) : ((sint32)(X))) |
|
#define | __absf(X) ( ((X) < 0.0) ? -(X) : (X) ) |
|
#define | __minf(X, Y) ( ((X) < (Y)) ? (X) : (Y) ) |
|
#define | __maxf(X, Y) ( ((X) > (Y)) ? (X) : (Y) ) |
|
#define | __saturatef(X, Min, Max) ( __minf(__maxf(X, Min), Max) ) |
|
#define | __checkrangef(X, Min, Max) (((X) >= (Min)) && ((X) <= (Max))) |
|
#define | __abs_stdreal(X) ( ((X) > 0.0) ? (X) : -(X) ) |
|
#define | __min_stdreal(X, Y) ( ((X) < (Y)) ? (X) : (Y) ) |
|
#define | __max_stdreal(X, Y) ( ((X) > (Y)) ? (X) : (Y) ) |
|
#define | __saturate_stdreal(X, Min, Max) ( __min_stdreal(__max_stdreal(X, Min), Max) ) |
|
#define | __neqf(X, Y) ( ((X) > (Y)) || ((X) < (Y)) ) |
|
#define | __leqf(X, Y) ( !((X) > (Y)) ) |
|
#define | __geqf(X, Y) ( !((X) < (Y)) ) |
|
#define | __getbit(address, bitoffset) ((*(address) & (1U << (bitoffset))) != 0) |
|
#define | __imaskldmst(address, value, bitoffset, bits) |
|
#define | __putbit(value, address, bitoffset) __imaskldmst(address, value, bitoffset,1) |
|
#define | __disable() __asm__ volatile ("disable" : : : "memory") |
|
#define | __enable() __asm__ volatile ("enable" : : : "memory") |
|
#define | __abs(a) __builtin_abs(a) |
|
#define | __clz(a) __builtin_clz(a) |
|
#define | NOP(n) __asm(".rept " #n "\n\tnop\n\t.endr\n") |
|
#define | __extru(src, start, size) |
|
#define | __setareg(areg, val) |
|
|
IFX_INLINE void | __jump_and_link (void(*fun)(void)) |
|
IFX_INLINE sint32 | __max (sint32 a, sint32 b) |
|
IFX_INLINE sint32 | __maxs (sint16 a, sint16 b) |
|
IFX_INLINE uint32 | __maxu (uint32 a, uint32 b) |
|
IFX_INLINE sint32 | __min (sint32 a, sint32 b) |
|
IFX_INLINE sint16 | __mins (sint16 a, sint16 b) |
|
IFX_INLINE uint32 | __minu (uint32 a, uint32 b) |
|
IFX_INLINE sint16 | __clssf (sfract a) |
|
IFX_INLINE float | __fract_to_float (fract a) |
|
IFX_INLINE fract | __float_to_fract (float a) |
|
IFX_INLINE fract | __getfract (laccum a) |
|
IFX_INLINE sfract | __mac_r_sf (sfract a, sfract b, sfract c) |
|
IFX_INLINE sfract | __mac_sf (sfract a, sfract b, sfract c) |
|
IFX_INLINE long | __mulfractfract (fract a, fract b) |
|
IFX_INLINE long | __mulfractlong (fract a, long b) |
|
IFX_INLINE sfract | __round16 (fract a) |
|
IFX_INLINE sfract | __s16_to_sfract (sint16 a) |
|
IFX_INLINE sint16 | __sfract_to_s16 (sfract a) |
|
IFX_INLINE uint16 | __sfract_to_u16 (sfract a) |
|
IFX_INLINE laccum | __shaaccum (laccum a, sint32 b) |
|
IFX_INLINE fract | __shafracts (fract a, sint32 b) |
|
IFX_INLINE sfract | __shasfracts (sfract a, sint32 b) |
|
IFX_INLINE sfract | __u16_to_sfract (uint16 a) |
|
IFX_INLINE sint32 | __extr (sint32 a, uint32 p, uint32 w) |
|
IFX_INLINE uint32 | __extru (uint32 a, uint32 p, uint32 w) |
|
IFX_INLINE sint32 | __ins (sint32 trg, const sint32 trgbit, sint32 src, const sint32 srcbit) |
|
IFX_INLINE sint32 | __insert (sint32 a, sint32 b, sint32 p, const sint32 w) |
|
IFX_INLINE sint32 | __insn (sint32 trg, const sint32 trgbit, sint32 src, const sint32 srcbit) |
|
IFX_INLINE sint32 | __disable_and_save (void) |
|
IFX_INLINE void | __restore (sint32 ie) |
|
IFX_INLINE void | __cacheawi (uint8 *p) |
|
IFX_INLINE void | __cacheiwi (uint8 *p) |
|
IFX_INLINE uint8 * | __cacheawi_bo_post_inc (uint8 *p) |
|
IFX_INLINE sint32 | __mulsc (sint32 a, sint32 b, sint32 offset) |
|
IFX_INLINE uint32 | __rol (uint32 operand, uint32 count) |
|
IFX_INLINE uint32 | __ror (uint32 operand, uint32 count) |
|
IFX_INLINE __packb | __absb (__packb a) |
|
IFX_INLINE __packhw | __absh (__packhw a) |
|
IFX_INLINE __packhw | __abssh (__packhw a) |
|
IFX_INLINE sint8 | __extractbyte1 (__packb a) |
|
IFX_INLINE sint8 | __extractbyte2 (__packb a) |
|
IFX_INLINE sint8 | __extractbyte3 (__packb a) |
|
IFX_INLINE sint8 | __extractbyte4 (__packb a) |
|
IFX_INLINE sint16 | __extracthw1 (__packhw a) |
|
IFX_INLINE sint16 | __extracthw2 (__packhw a) |
|
IFX_INLINE uint8 | __extractubyte1 (__upackb a) |
|
IFX_INLINE uint8 | __extractubyte2 (__upackb a) |
|
IFX_INLINE uint8 | __extractubyte3 (__upackb a) |
|
IFX_INLINE uint8 | __extractubyte4 (__upackb a) |
|
IFX_INLINE uint16 | __extractuhw1 (__upackhw a) |
|
IFX_INLINE uint16 | __extractuhw2 (__upackhw a) |
|
IFX_INLINE sint8 | __getbyte1 (__packb *a) |
|
IFX_INLINE sint8 | __getbyte2 (__packb *a) |
|
IFX_INLINE sint8 | __getbyte3 (__packb *a) |
|
IFX_INLINE sint8 | __getbyte4 (__packb *a) |
|
IFX_INLINE sint16 | __gethw1 (__packhw *a) |
|
IFX_INLINE sint16 | __gethw2 (__packhw *a) |
|
IFX_INLINE uint8 | __getubyte1 (__upackb *a) |
|
IFX_INLINE uint8 | __getubyte2 (__upackb *a) |
|
IFX_INLINE uint8 | __getubyte3 (__upackb *a) |
|
IFX_INLINE uint8 | __getubyte4 (__upackb *a) |
|
IFX_INLINE uint16 | __getuhw1 (__upackhw *a) |
|
IFX_INLINE uint16 | __getuhw2 (__upackhw *a) |
|
IFX_INLINE __packb | __initpackb (sint32 a, sint32 b, sint32 c, sint32 d) |
|
IFX_INLINE __packb | __initpackbl (long a) |
|
IFX_INLINE __packhw | __initpackhw (sint16 a, sint16 b) |
|
IFX_INLINE __packhw | __initpackhwl (long a) |
|
IFX_INLINE __upackb | __initupackb (uint32 a, uint32 b, uint32 c, uint32 d) |
|
IFX_INLINE __upackhw | __initupackhw (uint16 a, uint16 b) |
|
IFX_INLINE __packb | __insertbyte1 (__packb a, sint8 b) |
|
IFX_INLINE __packb | __insertbyte2 (__packb a, sint8 b) |
|
IFX_INLINE __packb | __insertbyte3 (__packb a, sint8 b) |
|
IFX_INLINE __packb | __insertbyte4 (__packb a, sint8 b) |
|
IFX_INLINE __upackb | __insertubyte1 (__upackb a, uint8 b) |
|
IFX_INLINE __upackb | __insertubyte2 (__upackb a, uint8 b) |
|
IFX_INLINE __upackb | __insertubyte3 (__upackb a, uint8 b) |
|
IFX_INLINE __upackb | __insertubyte4 (__upackb a, uint8 b) |
|
IFX_INLINE __packhw | __inserthw1 (__packhw a, sint16 b) |
|
IFX_INLINE __packhw | __inserthw2 (__packhw a, sint16 b) |
|
IFX_INLINE __upackhw | __insertuhw1 (__upackhw a, uint16 b) |
|
IFX_INLINE __upackhw | __insertuhw2 (__upackhw a, uint16 b) |
|
IFX_INLINE __packb | __minb (__packb a, __packb b) |
|
IFX_INLINE __upackb | __minbu (__upackb a, __upackb b) |
|
IFX_INLINE __packhw | __minh (__packhw a, __packhw b) |
|
IFX_INLINE __upackhw | __minhu (__upackhw a, __upackhw b) |
|
IFX_INLINE void | __setbyte1 (__packb *a, sint8 b) |
|
IFX_INLINE void | __setbyte2 (__packb *a, sint8 b) |
|
IFX_INLINE void | __setbyte3 (__packb *a, sint8 b) |
|
IFX_INLINE void | __setbyte4 (__packb *a, sint8 b) |
|
IFX_INLINE void | __sethw1 (__packhw *a, sint16 b) |
|
IFX_INLINE void | __sethw2 (__packhw *a, sint16 b) |
|
IFX_INLINE void | __setubyte1 (__upackb *a, uint8 b) |
|
IFX_INLINE void | __setubyte2 (__upackb *a, uint8 b) |
|
IFX_INLINE void | __setubyte3 (__upackb *a, uint8 b) |
|
IFX_INLINE void | __setubyte4 (__upackb *a, uint8 b) |
|
IFX_INLINE void | __setuhw1 (__upackhw *a, uint16 b) |
|
IFX_INLINE void | __setuhw2 (__upackhw *a, uint16 b) |
|
IFX_INLINE sint32 | __absdif (sint32 a, sint32 b) |
|
IFX_INLINE sint32 | __abss (sint32 a) |
|
IFX_INLINE sint32 | __clo (sint32 a) |
|
IFX_INLINE sint32 | __cls (sint32 a) |
|
IFX_INLINE double | __fabs (double d) |
|
IFX_INLINE float | __fabsf (float f) |
|
IFX_INLINE sint32 | __parity (sint32 a) |
|
IFX_INLINE sint8 | __satb (sint32 a) |
|
IFX_INLINE uint8 | __satbu (sint32 a) |
|
IFX_INLINE sint16 | __sath (sint32 a) |
|
IFX_INLINE uint16 | __sathu (sint32 a) |
|
IFX_INLINE sint32 | __adds (sint32 a, sint32 b) |
|
IFX_INLINE uint32 | __addsu (uint32 a, uint32 b) |
|
IFX_INLINE sint32 | __subs (sint32 a, sint32 b) |
|
IFX_INLINE uint32 | __subsu (uint32 a, uint32 b) |
|
IFX_INLINE void | __debug (void) |
|
IFX_INLINE void | __dsync (void) |
|
IFX_INLINE void | __isync (void) |
|
IFX_INLINE void | __ldmst (volatile void *address, uint32 mask, uint32 value) |
|
IFX_INLINE void | __nop (void) |
|
IFX_INLINE void | __nops (void *cnt) |
|
IFX_INLINE void | __rslcx (void) |
|
IFX_INLINE void | __svlcx (void) |
|
IFX_INLINE uint32 | __swap (void *place, uint32 value) |
|
IFX_INLINE void | __stopPerfCounters (void) |
|
IFX_INLINE unsigned int | __cmpAndSwap (unsigned int volatile *address, unsigned int value, unsigned int condition) |
| This function is a implementation of a binary semaphore using compare and swap instruction. More...
|
|
- Version
- iLLD_0_1_0_10
- Copyright
- Copyright (c) 2012 Infineon Technologies AG. All rights reserved.
IMPORTANT NOTICE
Infineon Technologies AG (Infineon) is supplying this file for use exclusively with Infineon's microcontroller products. This file can be freely distributed within development tools that are supporting such microcontroller products.
THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
Definition in file IfxCpu_IntrinsicsGnuc.h.