| 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 ) |