iPXE
|
Optimised string operations. More...
Go to the source code of this file.
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
void * | __memcpy (void *dest, const void *src, size_t len) |
void * | __memcpy_reverse (void *dest, const void *src, size_t len) |
static | __attribute__ ((always_inline)) void *__constant_memcpy(void *dest |
Copy memory area (where length is a compile-time constant) More... | |
union { | |
uint32_t u32 [2] | |
uint16_t u16 [4] | |
uint8_t u8 [8] | |
} | __attribute__ ((__may_alias__)) *src_u |
switch (len) | |
if (len >=26) return __memcpy(dest | |
if (__builtin_constant_p(offset)) | |
__asm__ | __volatile__ ("rep stosb" :"=&D"(discard_D), "=&c"(discard_c) :"0"(dest), "1"(len), "a"(fill) :"memory") |
Variables | |
static const void * | src |
static const void size_t | len |
const void * | esi = src |
void * | edi = dest |
if(len >=6 *4) __asm__ __volatile__("movsl" if(len >=5 *4) __asm__ __volatile__("movsl" if(len >=4 *4) __asm__ __volatile__("movsl" if(len >=3 *4) __asm__ __volatile__("movsl" if(len >=2 *4) __asm__ __volatile__("movsl" if(len >=1 *4) __asm__ __volatile__("movsl" if((len % 4) >=2) __asm__ __volatile__("movsw" if((len % 2) >=1) __asm__ __volatile__("movsb" return | dest |
else | |
static int | fill |
size_t | discard_c |
uint32_t | eax = 0 |
Optimised string operations.
Definition in file string.h.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
void* __memcpy | ( | void * | dest, |
const void * | src, | ||
size_t | len | ||
) |
Referenced by __memmove().
void* __memcpy_reverse | ( | void * | dest, |
const void * | src, | ||
size_t | len | ||
) |
Referenced by __memmove(), and if().
|
inlinestatic |
Copy memory area (where length is a compile-time constant)
Fill memory region with zero (where length is a compile-time constant)
Fill memory region.
Copy (possibly overlapping) memory area.
Copy memory area.
dest | Destination address |
src | Source address |
len | Length |
dest | Destination address |
dest | Destination address |
fill | Fill pattern |
len | Length |
dest | Destination address |
dest | Destination address |
len | Length |
dest | Destination address |
const union @610 __attribute__ | ( | (__may_alias__) | ) |
switch | ( | len | ) |
Definition at line 61 of file string.h.
References dest.
Referenced by bnxt_hwrm_port_phy_cfg().
if | ( | len >= | 26 | ) |
if | ( | __builtin_constant_p(offset) | ) |
Definition at line 188 of file string.h.
References __memcpy_reverse(), dest, len, memcpy(), offset, and src.
__asm__ __volatile__ | ( | ) |
len |
Definition at line 47 of file string.h.
Referenced by if().
esi = src |
Definition at line 58 of file string.h.
Referenced by __attribute__().
void * edi = dest |
Definition at line 59 of file string.h.
Referenced by __attribute__().
if ( len >= 6*4 ) __asm__ __volatile__ ( "stosl" if ( len >= 5*4 ) __asm__ __volatile__ ( "stosl" if ( len >= 4*4 ) __asm__ __volatile__ ( "stosl" if ( len >= 3*4 ) __asm__ __volatile__ ( "stosl" if ( len >= 2*4 ) __asm__ __volatile__ ( "stosl" if ( len >= 1*4 ) __asm__ __volatile__ ( "stosl" if ( ( len % 4 ) >= 2 ) __asm__ __volatile__ ( "stosw" if ( ( len % 2 ) >= 1 ) __asm__ __volatile__ ( "stosb" return dest |
else |
eax = 0 |
Definition at line 234 of file string.h.
Referenced by com32_cfarcall().