version 1.1 | | version 1.2 |
---|
| | |
"jne again_ddn" | | "jne again_ddn" |
#elif defined __GNUC__ | | #elif defined __GNUC__ |
static inline void decode_data_asm(ubyte *data, int num_pixels, ubyte * colormap, int * count ) { | | static inline void decode_data_asm(ubyte *data, int num_pixels, ubyte * colormap, int * count ) { |
| | int dummy[4]; |
__asm__ __volatile__ ( | | __asm__ __volatile__ ( |
"xorl %%eax,%%eax;" | | "xorl %%eax,%%eax;" |
"0:;" | | "0:;" |
| | |
"incl %%esi;" | | "incl %%esi;" |
"decl %%ecx;" | | "decl %%ecx;" |
"jne 0b" | | "jne 0b" |
: : "S" (data), "c" (num_pixels), "D" (colormap), "b" (count) : | | : "=S" (dummy[0]), "=c" (dummy[1]), "=D" (dummy[2]), "=b" (dummy[3]) |
"%esi", "%edi", "%eax", "%ebx", "%ecx"); | | : "0" (data), "1" (num_pixels), "2" (colormap), "3" (count) |
| | : "%eax"); |
} | | } |
#elif defined _MSC_VER | | #elif defined _MSC_VER |
__inline void decode_data_asm(ubyte *data, int num_pixels, ubyte * colormap, int * count ) | | __inline void decode_data_asm(ubyte *data, int num_pixels, ubyte * colormap, int * count ) |