\r
\r
#ifndef _ASM_MISC_C\r
-typedef struct\r
-{\r
- int b0;\r
- int b1;\r
- int b2;\r
- int b3;\r
- int b4;\r
- int b5;\r
- int b6;\r
- int b7;\r
-} intblock;\r
-\r
-PICO_INTERNAL_ASM void memcpy16(unsigned short *dest, unsigned short *src, int count)\r
-{\r
- if ((((long)dest | (long)src) & 3) == 0)\r
- {\r
- if (count >= 32) {\r
- memcpy32((int *)dest, (int *)src, count/2);\r
- count&=1;\r
- } else {\r
- for (; count >= 2; count -= 2, dest+=2, src+=2)\r
- *(int *)dest = *(int *)src;\r
- }\r
- }\r
- while (count--)\r
- *dest++ = *src++;\r
-}\r
-\r
-\r
PICO_INTERNAL_ASM void memcpy16bswap(unsigned short *dest, void *src, int count)\r
{\r
unsigned char *src_ = src;\r
}\r
\r
#ifndef _ASM_MISC_C_AMIPS\r
-PICO_INTERNAL_ASM void memcpy32(void *dest_in, const void *src_in, int count)\r
-{\r
- const intblock *bs = (intblock *) src_in;\r
- intblock *bd = (intblock *) dest_in;\r
- const int *src;\r
- int *dest;\r
-\r
- for (; count >= sizeof(*bd)/4; count -= sizeof(*bd)/4)\r
- *bd++ = *bs++;\r
-\r
- dest = (int *)bd; src = (const int *)bs;\r
- while (count--)\r
- *dest++ = *src++;\r
-}\r
-\r
-\r
PICO_INTERNAL_ASM void memset32(void *dest_in, int c, int count)\r
{\r
int *dest = dest_in;\r