iLLD_TC27xC  1.0
IfxCpu_IntrinsicsDcc.h File Reference
#include "Ifx_Types.h"

Go to the source code of this file.

Macros

#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)   ( __minf(__maxf(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)   __extru( *(address), bitoffset, 1 )
 
#define __putbit(value, address, bitoffset)   __imaskldmst(address,value,bitoffset,1)
 
#define __setareg(areg, val)   ___setareg(areg,val)
 
#define ___setareg(areg, val)
 

Functions

asm volatile void __non_return_call (void(*fun)(void))
 
asm volatile void __jump_and_link (void(*fun)(void))
 
sint32 __min (sint32, sint32) __attribute__((intrinsic_pseudo(3
 
sint32 __mins (sint32, sint32) __attribute__((intrinsic_function(0x10b
 
uint32 __minu (uint32, uint32) __attribute__((intrinsic_pseudo(3
 
sint32 __max (sint32, sint32) __attribute__((intrinsic_pseudo(3
 
uint32 __maxs (uint32, uint32) __attribute__((intrinsic_function(0x10b
 
uint32 __maxu (uint32, uint32) __attribute__((intrinsic_pseudo(3
 
asm short __clssf (sfract a)
 
asm fract __float_to_fract (float a)
 
asm float __fract_to_float (fract a)
 Convert fract to float. More...
 
asm fract __getfract (laccum a)
 
asm sfract __mac_r_sf (sfract a, sfract b, sfract c)
 
asm sfract __mac_sf (sfract a, sfract b, sfract c)
 
asm long __mulfractfract (fract a, fract b)
 
asm long __mulfractlong (fract a, long b)
 
asm sfract __round16 (fract a)
 
asm sfract __s16_to_sfract (short a)
 
asm short __sfract_to_s16 (sfract a)
 
asm volatile uint16 __sfract_to_u16 (sfract a)
 
asm laccum __shaaccum (laccum a, sint32 b)
 
asm fract __shafracts (fract a, sint32 b)
 
asm sfract __shasfracts (sfract a, sint32 b)
 
asm sfract __u16_to_sfract (uint16 a)
 
sint32 __extr (sint32, uint32, const uint32) __attribute__((intrinsic_function(0x108
 
uint32 __extru (uint32, uint32, const uint32) __attribute__((intrinsic_function(0x108
 
uint32 __ins (uint32, const uint32, uint32, const uint32) __attribute__((intrinsic_function(0x121
 
uint32 __insert (uint32, uint32, uint32, const uint32) __attribute__((intrinsic_function(0x109
 
uint32 __insn (uint32, const uint32, uint32, const uint32) __attribute__((intrinsic_function(0x121
 
asm volatile void __imaskldmst (uint32 *a, sint32 b, sint32 p, const sint32 w)
 
void __bisr (const uint32) __attribute__((intrinsic_function(0x100
 
void __disable (void) __attribute__((intrinsic_function(0x103
 
void __enable (void) __attribute__((intrinsic_function(0x103
 
void __restore (sint32) __attribute__((intrinsic_function(0x104
 
void __syscall (const uint32) __attribute__((intrinsic_function(0x100
 
void __cacheawi (void *) __attribute__((intrinsic_function(0x110
 
asm volatile uint8__cacheawi_bo_post_inc (uint8 *p)
 
asm volatile void __cacheiwi (uint8 *p)
 
asm circ_t __initcirc (void *buf, uint16 bufsize, uint16 byteindex)
 
asm volatile sint32 __mulsc (sint32 a, sint32 b, sint32 offset)
 
asm volatile uint32 __rol (uint32 operand, uint32 count)
 
asm volatile uint32 __ror (uint32 operand, uint32 count)
 
asm __packb __absb (__packb a)
 
asm __packhw __absh (__packhw a)
 
asm __packhw __abssh (__packhw a)
 
asm sint8 __extractbyte1 (__packb a)
 Extract first byte from a __packb. More...
 
asm sint8 __extractbyte2 (__packb a)
 Extract second byte from a __packb. More...
 
asm sint8 __extractbyte3 (__packb a)
 Extract third byte from a __packb. More...
 
asm sint8 __extractbyte4 (__packb a)
 Extract fourth byte from a __packb. More...
 
asm short __extracthw1 (__packhw a)
 Extract first short from a __packhw. More...
 
asm short __extracthw2 (__packhw a)
 Extract second short from a __packhw. More...
 
asm volatile uint8 __extractubyte1 (__upackb a)
 
asm volatile uint8 __extractubyte2 (__upackb a)
 
asm volatile uint8 __extractubyte3 (__upackb a)
 
asm volatile uint8 __extractubyte4 (__upackb a)
 
asm volatile uint16 __extractuhw1 (__upackhw a)
 
asm volatile uint16 __extractuhw2 (__upackhw a)
 
asm sint8 __getbyte1 (__packb *a)
 
asm sint8 __getbyte2 (__packb *a)
 
asm sint8 __getbyte3 (__packb *a)
 
asm sint8 __getbyte4 (__packb *a)
 
asm short __gethw1 (__packhw *a)
 
asm short __gethw2 (__packhw *a)
 
asm volatile uint8 __getubyte1 (__upackb *a)
 
asm volatile uint8 __getubyte2 (__upackb *a)
 
asm volatile uint8 __getubyte3 (__upackb *a)
 
asm volatile uint8 __getubyte4 (__upackb *a)
 
asm volatile uint16 __getuhw1 (__upackhw *a)
 
asm volatile uint16 __getuhw2 (__upackhw *a)
 
asm __packb __initpackb (sint32 a, sint32 b, sint32 c, sint32 d)
 
asm __packb __initpackbl (long a)
 
asm __packhw __initpackhw (short a, short b)
 Initialize __packhw with two integers. More...
 
asm __packhw __initpackhwl (long a)
 
asm __upackb __initupackb (uint32 a, uint32 b, uint32 c, uint32 d)
 
asm __upackhw __initupackhw (uint16 a, uint16 b)
 
asm __packb __insertbyte1 (__packb a, sint8 b)
 Insert sint8 into first byte of a __packb. More...
 
asm __packb __insertbyte2 (__packb a, sint8 b)
 Insert sint8 into second byte of a __packb. More...
 
asm __packb __insertbyte3 (__packb a, sint8 b)
 Insert sint8 into third byte of a __packb. More...
 
asm __packb __insertbyte4 (__packb a, sint8 b)
 Insert sint8 into fourth byte of a __packb. More...
 
asm __packhw __inserthw1 (__packhw a, short b)
 
asm __packhw __inserthw2 (__packhw a, short b)
 
asm __upackb __insertubyte1 (__upackb a, uint8 b)
 Insert uint8 into first unsigned byte of a __packb. More...
 
asm __upackb __insertubyte2 (__upackb a, uint8 b)
 Insert uint8 into second unsigned byte of a __packb. More...
 
asm __upackb __insertubyte3 (__upackb a, uint8 b)
 Insert uint8 into third unsigned byte of a __packb. More...
 
asm __upackb __insertubyte4 (__upackb a, uint8 b)
 Insert uint8 into fourth unsigned byte of a __packb. More...
 
asm __upackhw __insertuhw1 (__upackhw a, uint16 b)
 
asm __upackhw __insertuhw2 (__upackhw a, uint16 b)
 
asm __packb __minb (__packb a, __packb b)
 
asm __upackb __minbu (__upackb a, __upackb b)
 
asm __packhw __minh (__packhw a, __packhw b)
 
asm __upackhw __minhu (__upackhw a, __upackhw b)
 
asm volatile void __setbyte1 (__packb *a, sint8 b)
 
asm volatile void __setbyte2 (__packb *a, sint8 b)
 
asm volatile void __setbyte3 (__packb *a, sint8 b)
 
asm volatile void __setbyte4 (__packb *a, sint8 b)
 
asm volatile void __sethw1 (__packhw *a, short b)
 
asm volatile void __sethw2 (__packhw *a, short b)
 
asm volatile void __setubyte1 (__upackb *a, uint8 b)
 
asm volatile void __setubyte2 (__upackb *a, uint8 b)
 
asm volatile void __setubyte3 (__upackb *a, uint8 b)
 
asm volatile void __setubyte4 (__upackb *a, uint8 b)
 
asm volatile void __setuhw1 (__upackhw *a, uint16 b)
 
asm volatile void __setuhw2 (__upackhw *a, uint16 b)
 
sint32 __abs (sint32) __attribute__((intrinsic_pseudo(1
 
sint32 __absdif (sint32, sint32) __attribute__((intrinsic_pseudo(1
 
sint32 __abss (sint32) __attribute__((intrinsic_pseudo(1
 
sint32 __clo (sint32) __attribute__((intrinsic_pseudo(1
 
sint32 __cls (sint32) __attribute__((intrinsic_pseudo(1
 
sint32 __clz (sint32) __attribute__((intrinsic_pseudo(1
 
asm double __fabs (double d)
 
asm float __fabsf (float f)
 
sint32 __mfcr (const uint32) __attribute__((intrinsic_function(0x101
 
void __mtcr (const uint32, sint32) __attribute__((intrinsic_function(0x102
 
asm volatile sint32 __parity (sint32 a)
 
asm sint8 __satb (sint32 a)
 
asm volatile uint8 __satbu (sint32 a)
 
asm short __sath (sint32 a)
 
asm volatile uint16 __sathu (sint32 a)
 
sint32 __adds (sint32, sint32) __attribute__((intrinsic_pseudo(1
 
asm volatile uint32 __addsu (uint32 a, uint32 b)
 
asm volatile sint32 __subs (sint32 a, sint32 b)
 
asm volatile uint32 __subsu (uint32 a, uint32 b)
 
void __debug (void) __attribute__((intrinsic_function(0x103
 
void __dsync (void) __attribute__((intrinsic_function(0x103
 
void __isync (void) __attribute__((intrinsic_function(0x103
 
asm volatile void __ldmst (volatile void *address, uint32 mask, uint32 value)
 
void __nop (void) __attribute__((intrinsic_function(0x103
 
asm volatile void __nops (void *cnt)
 
asm volatile void __nops1000 (uint32 x)
 
void __rslcx (void) __attribute__((intrinsic_function(0x103
 
void __svlcx (void) __attribute__((intrinsic_function(0x103
 
asm volatile uint32 __swap (void *place, uint32 value)
 
asm volatile unsigned int __cmpAndSwap (unsigned int *address, unsigned long value, unsigned long CmpVal)
 
asm volatile void __stopPerfCounters (void)
 

Variables

sint32 min
 
sint32 min h
 
uint32 min u
 
sint32 max
 
sint32 extr
 
uint32 ins t
 
uint32 insert
 
void bisr
 
void disable
 
void enable
 
void restore
 
void syscall
 
void cachea wi
 
sint32 abs
 
sint32 absdif
 
sint32 abss
 
sint32 clo
 
sint32 cls
 
sint32 clz
 
sint32 mfcr
 
void mtcr
 
sint32 adds
 
void debug
 
void dsync
 
void isync
 
void nop
 
void rslcx
 
void svlcx
 

Detailed Description

Version
iLLD_0_1_0_10
                            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_IntrinsicsDcc.h.

Macro Definition Documentation

#define ___setareg (   areg,
  val 
)
Value:
{ __asm ("#$$bp"); \
__asm (" movh.a\t %a15,"#val"@ha\n"); \
__asm (" lea\t %a15,[%a15]"#val"@l\n"); \
__asm (" mov.aa %"#areg", %a15\n"); \
__asm ("#$$ep"); }

Definition at line 1312 of file IfxCpu_IntrinsicsDcc.h.

#define __setareg (   areg,
  val 
)    ___setareg(areg,val)

Insert n NOP instruction

Definition at line 1310 of file IfxCpu_IntrinsicsDcc.h.

Referenced by _Core0_start(), _Core1_start(), and _Core2_start().

Function Documentation

asm volatile void __stopPerfCounters ( void  )

Definition at line 1320 of file IfxCpu_IntrinsicsDcc.h.

Referenced by IfxCpu_stopCounters().