iLLD_TC27xD  1.0
Insert / Extract Bit-fields and Bits
Collaboration diagram for Insert / Extract Bit-fields and Bits:

Macros

#define __getbit(address, bitoffset)   __extru( *(address), bitoffset, 1 )
 
#define __putbit(value, address, bitoffset)   __imaskldmst(address,value,bitoffset,1)
 

Functions

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)
 

Variables

sint32 extr
 
uint32 ins t
 
uint32 insert
 

Detailed Description

Macro Definition Documentation

#define __getbit (   address,
  bitoffset 
)    __extru( *(address), bitoffset, 1 )

Load a single bit.

Definition at line 318 of file IfxCpu_IntrinsicsDcc.h.

Referenced by IfxPort_getPinState().

#define __putbit (   value,
  address,
  bitoffset 
)    __imaskldmst(address,value,bitoffset,1)

Store a single bit.

Definition at line 349 of file IfxCpu_IntrinsicsDcc.h.

Function Documentation

sint32 __extr ( sint32  ,
uint32  ,
const uint32   
)

Extract a bit-field (bit pos to bit pos+width) from value

uint32 __extru ( uint32  ,
uint32  ,
const uint32   
)

Same as __extr() but return bit-field as unsigned integer

asm volatile void __imaskldmst ( uint32 a,
sint32  b,
sint32  p,
const sint32  w 
)

Atomic load-modify-store.

Definition at line 338 of file IfxCpu_IntrinsicsDcc.h.

uint32 __ins ( uint32  ,
const uint32  ,
uint32  ,
const uint32   
)

Return trg but replace trgbit by srcbit in src.

uint32 __insert ( uint32  ,
uint32  ,
uint32  ,
const uint32   
)

Extract bit-field (width w bits starting at bit 0) from a and insert it in b at position p.

uint32 __insn ( uint32  ,
const uint32  ,
uint32  ,
const uint32   
)

Return trg but replace trgbit by inverse of srcbit in src.

Variable Documentation

sint32 extr

Definition at line 310 of file IfxCpu_IntrinsicsDcc.h.

uint32 insert

Definition at line 327 of file IfxCpu_IntrinsicsDcc.h.

Referenced by __round16().